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

>>symsSATabTacthetaxy;>>eq1=SA^2+1-2*SA*cos(pi/2-theta)-(SA+340*Tac)^2;>>eq2=SA^2+1-2... >> 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);

这是什么原因?
展开
数码答疑

2014-08-10 · 解答日常生活中的数码问题
数码答疑
采纳数:8803 获赞数:18620

向TA提问 私信TA
展开全部
[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为常量
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式