我正在尝试求解方程(syms x(中的一个变量,我已经简化了方程。我正在尝试通过将符号转换为双精度值来将值存储在 1x1000 矩阵P_9中,并得到以下错误。它给了我一个0x0的象征,这就是我认为我的错误所在。
请帮我解决我的代码问题。非常感谢!
number = 1000;
P_9 = zeros(1,number);
A_t=0.67;
A_e = linspace(0,10,number);
for n=1:number
%% find p9
syms x
eqn = x + 5 == A_t/A_e(n);
solx = solve(eqn,x);
P_9(n) = double(solx);
end
警告:找不到显式解决方案。
在求解中 179 在 HW4 中,74 在作业 A(I( = B 中,B 和 I 中的元素数必须相同。
HW4 中的错误(第 76 行( P_9(n( = 双精度(索克斯(;
你当然有一个方程,x
不能被隔离。
例如,不可能在tan(x) + x == 1
中隔离 x。因此,如果您尝试解析求解此方程,matlab 会告诉您x
无法隔离,因此没有明确的解析解。
因此,与其使用分析方法来解决方程,不如使用数值方法,它不那么"性感",但这次您将能够解决您的方程。
生活做得很好,matlab 已经集成了一个数值求解器:vpasolve
.
因此,您的代码将如下所示:
for n=1:number
%% find p9
syms x
eqn = x + 5 == A_t/A_e(n);
solx = vpasolve(eqn,x);
P_9(n) = double(solx);
end