matlab在解方程组时,如何给变量限定一个范围区间?>> syms SA Ta...

matlab在解方程组时,如何给变量限定一个范围区间? >> syms SA Tab Tac theta x y; >> eq1=SA^2+1-2*SA*cos(pi/2-theta)-(SA+340*Tac)^2; >> eq2=SA^2+1-2*SA*cos(theta)-(SA+340*Tab)^2; >> [SA,T]=solve(eq1,eq2) 这样直接解出来会有四组解,其中有几个是我不需要的,所以我要把theta角限定在【0:pi/2】中,所以我在定义完变量后,在第一行下面加入>> T=0:0.01:pi/2; 然后系统就报错了 Error using ==> solve>assignOutputs at 132 3 variables does not match 2 outputs. Error in ==> solve at 87 varargout = assignOutputs(nargout,R,symvars); 这是什么原因?

[SA,T]代表输出解的个数,Error
using
==>
solve>assignOutputs
at
1323
variables
does
not
match
2
outputs.提示你,3个变量应该有三个输出,说你少个一个数而且,你需要设定哪些是变量
温馨提示:内容为网友见解,仅供参考
无其他回答

如何用matlab求解非线性微分方程组
首先定义变量符号 syms s x t;使用字符串定义公式 eq1 = 'diff(x, t) = 0.11*s*x\/(0.06*x+s)';eq2 = 'diff(s, t) = (-1)*0.029*x-0.234*s\/(0.006*x+s)-s\/(30*s^2+300*s+0.03)';接下来是求解 比如现在要求解s,下面的代码可以给出s的表达式 solution = solve(...

相似回答
大家正在搜