matlab中solve使用问题

问题描述:

matlab中solve使用问题
为什么我输入>> [x0]=solve('2600*(z0+15)=(z0-24985)*x1')
能得到正确答案
x0 =
(2600*z0 + 39000)/(z0 - 24985)
但我改成 [z0]=solve('2600*(z0+15)=(z0-24985)*x1')
却得到这个
z0 =
(2600*z0 + 39000)/(z0 - 24985)
请问是怎么回事
1个回答 分类:综合 2014-11-08

问题解答:

我来补答
这是由于matlab里面有个关于默认自变量规定问题
一般情况下默认自变量为表达式中距离x最近的字母
你可以用这种方法来求解
[x0]=solve('2600*(z0+15)=(z0-24985)*x1')
[z0]=solve('2600*(z0+15)=(z0-24985)*x1')
由于上两行行中只有X1与z0两个变量,而且X1与X较近,所以是求解x1
为了求解z0,可以用
[z0]=solve('2600*(z0+15)=(z0-24985)*x1','z0')
这样的话就没问题了
建议你指定代求变量
相关函数
findsym 查找自变量,比较有用
 
 
展开全文阅读
剩余:2000
上一页:希望高人解答
也许感兴趣的知识