Matlab中多变量的阶数求解方程



我阅读了Matlab文档,仍然很难理解Matlab求解方程中多个变量的顺序

例如

syms f1(R,L) f2(R,L);
f1 = (80+R)^2 + (120*pi*L)^2 - 232^2;
f2 = R^2 + (120*pi*L)^2 - 176^2;
[R,L] = solve (f1,f2);
fprintf('Resistor is %s Ωn',round(R,3));
fprintf('Inductance is %s Hn',round(L,3));

若我用Z替换变量L,结果将是相反的。它似乎是按字母顺序排列的,我不知道它的确切规则是什么

根据您链接的solve文档:

Y = solve(eqns,vars)求解变量vars的方程组eqns,并返回包含解的结构。如果未指定varssolve将使用symvar查找要求解的变量。

您没有指定要为哪些变量求解,因此MATLAB试图通过调用symvar来推断这一点。symvar返回的标识符的顺序似乎没有明确记录,所以我不建议依赖任何特定的顺序。

如果您想指定solve应该为哪些变量求解,以及它们在输出中的顺序,请将它们作为solve:的第二个参数在数组中传递

[R, L] = solve([f1, f2], [R, L]);

相关内容

  • 没有找到相关文章

最新更新