坤草 发表于 2009-2-11 09:44

解方程组的困惑

=solve('c-l/(rv^2+w^2*l^2)=0','c=(af/(1.4027*100000))*(1+(1.4027-1)*b2^2*(1-b1)/(w^2*b1^2*(1-b1)^2+b2^2))','b1=1.9*1.038/(1.9*1.038+7800*cs0)','b2=0.13*3.1415926*2*sqrt(2*0.02475/(1.9*1.038*w))/(af*1.9*1.038+af*7800*cs0)','l=1.9*(1+1/293)/af','rv=0.02475*175.44*0.0000001/af','af=4*3.1415926*2*0.02475/(1.25*1.038*w*1000)')
为何这个方程组运行出来的结果总是 用af在表达其它的变量呢??
我希望用cs0来表达w,(因为最后需要画出这两个变量关系解析解的图形)怎样才能实现啊??

sigma665 发表于 2009-2-11 18:24

回复 楼主 坤草 的帖子

最好给出方程,这样看的真累

ChaChing 发表于 2009-2-11 20:59

同意楼上说的!
下午看过了, 有点懒得看! 有点乱!

dm198029 发表于 2009-2-12 09:39

对啊,看得我头都晕了

坤草 发表于 2009-2-12 10:18

先谢谢各位了! 麻烦各位高手再帮我看看.

问题是这样的:
一般是几个方程就可以求出几个未知数,在这里我定义了八个变量如下:b1, b2, c, af, L, rv, w, cs0
而有如下的七个方程: 附件

那么我希望用一个变量去表示其它的七个变量,也就是说我将那个变量当成一个常数来看待.
根据需要,我将cs0看成常数.也就是说用cs0来表示其它的几个变量.
那么在MATLAB中求方程组的解析解的程序如下:
=solve('c-l/(rv^2+w^2*l^2)=0','c=(af/(1.4027*100000))*(1+(1.4027-1)*b2^2*(1-b1)/(w^2*b1^2*(1-b1)^2+b2^2))','b1=1.9*1.038/(1.9*1.038+7800*cs0)','b2=0.13*3.1415926*2*sqrt(2*0.02475/(1.9*1.038*w))/(af*1.9*1.038+af*7800*cs0)','l=1.9*(1+1/293)/af','rv=0.02475*175.44*0.0000001/af','af=4*3.1415926*2*0.02475/(1.25*1.038*w*1000)')
而求出的结果却是(不管怎么变动中括号中变量的顺序或者甚至是不管怎样选取变量),结果总是用af表示中括号中的七个变量的:
并且很显然是个错的,因为结果中 .
我的疑惑是:在MATLAB中,是不是用个默认的顺序?问题到底出现在哪里了?
请求各位高人能指点迷津,不甚感激!!

[ 本帖最后由 ChaChing 于 2009-2-12 10:39 编辑 ]

ChaChing 发表于 2009-2-12 10:37

建议相同题目继续即可! 不必发新帖, 方便别人容易了解前因後果!
若造成不便, 深深抱歉!
页: [1]
查看完整版本: 解方程组的困惑