作业帮 > 数学 > 作业

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

来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/06/16 22:05:43
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);
这是什么原因?
matlab在解方程组时,如何给变量限定一个范围区间?
[SA,T]代表输出解的个数,Error using ==> solve>assignOutputs at 1323 variables does not match 2 outputs.
提示你,3个变量应该有三个输出,说你少个一个数
而且,你需要设定哪些是变量
再问: >> syms SA Tab Tac theta x y;

我这儿第一句不就已经设定好哪些是变量了吗?

顺便问下哈,MATLAB里面可不可以解带参数的方程的?
比如ax^2+bx+c=0的?(假设a b c是已知的参数)
再答: 可以解带参数的方程,需要设置哪些是变量,例如
syms a b c x
solve(a*x^2+b*x+c,'x'),设定x为变量,a、b、c为常量