matlab中solve使用问题

学习 时间:2026-04-07 22:46:09 阅读:3131
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)请问是怎么回事

最佳回答

妩媚的鸡

坦率的篮球

2026-04-07 22:46:09

这是由于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 查找自变量,比较有用

最新回答共有2条回答

  • 柔弱的绿茶
    回复
    2026-04-07 22:46:09

    这是由于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 查找自变量,比较有用

上一篇 一升汽油,柴油,煤油分别等于多少斤

下一篇 请英语老师或六级大神帮我看看这篇作文