作业帮 > 综合 > 作业

matlab求解非线性方程参数解

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/29 12:54:12
matlab求解非线性方程参数解
syms i M a b r;
M=solve(i*0.1*(1-a*0.01)/(M*(a*0.01-0.01)+0.01)+(1-i*0.1)*(1-b*0.01)/(M*(b*0.01-0.01)+0.01)-(1-r*0.01)/(M*(r*0.01-0.01)+0.01),M)
为什么我这个求解出来的一个是数值一个是表达式呢,应该是两个表达式才对啊
这个很好理解,说明这个方程有一个定解,就是说不管你的参数怎么变,这个解不变!
再问: syms i j M a b r; M=solve(i*0.1*(1-a*0.01)/(M*(a*0.01-0.01)+0.01)+j*0.1*(1-b*0.01)/(M*(b*0.01-0.01)+0.01)-(1-r*0.01)/(M*(r*0.01-0.01)+0.01),M) 不是啊,改写成这样的话就有两个解了啊,这个式子化简后其实应该是一个关于M的一元二次方程的,应该有两个解的啊
再答: 你的里面怎么既有i又有j,到底是一个东西还是两个东西啊,这两个方程本身就不一样啊!
再问: 方程是(1-r)/(M*(r-0.01)+0.01)=i*(1-a)/(M*(a-0.01)+0.01)+j*(1-b)/(M*(b-0.01)+0.01),我要求的是M的表达式
再答: syms i M a b r; M=solve('(1-r)/(M*(r-0.01)+0.01)=i*(1-a)/(M*(a-0.01)+0.01)+j*(1-b)/(M*(b-0.01)+0.01)',M)
再问: j=10-i
再答: syms i j M a b r; M=solve('(1-r)/(M*(r-0.01)+0.01)=i*(1-a)/(M*(a-0.01)+0.01)+j*(1-b)/(M*(b-0.01)+0.01)',M) j=10-i; eval(M)
再问: syms i j M a b r; M=solve('(1-r*0.01)/(M*(r*0.01-0.01)+0.01)=0.1*i*(1-a*0.01)/(M*(a*0.01-0.01)+0.01)+0.1*j*(1-b*0.01)/(M*(b*0.01-0.01)+0.01)',M); j=10-i; eval(M) 和 syms i M a b r; M=solve(i*0.1*(1-a*0.01)/(M*(a*0.01-0.01)+0.01)+(1-i*0.1)*(1-b*0.01)/(M*(b*0.01-0.01)+0.01)-(1-r*0.01)/(M*(r*0.01-0.01)+0.01),M) 这两个有什么差别,算出来怎么不一样
再答: 你的方程到底是什么啊? (1-r*0.01)/(M*(r*0.01-0.01)+0.01)=0.1*i*(1-a*0.01)/(M*(a*0.01-0.01)+0.01)+0.1*j*(1-b*0.01)/(M*(b*0.01-0.01)+0.01) 还是 i*0.1*(1-a*0.01)/(M*(a*0.01-0.01)+0.01)+(1-i*0.1)*(1-b*0.01)/(M*(b*0.01-0.01)+0.01)-(1-r*0.01)/(M*(r*0.01-0.01)+0.01) 你写成一个确定的形式去解。还有就是方程最好用引号括起来!
再问: (1-r*0.01)/(M*(r*0.01-0.01)+0.01)=0.1*i*(1-a*0.01)/(M*(a*0.01-0.01)+0.01)+0.1*j*(1-b*0.01)/(M*(b*0.01-0.01)+0.01)和 (i*0.1*(1-a*0.01)/(M*(a*0.01-0.01)+0.01)+(1-i*0.1)*(1-b*0.01)/(M*(b*0.01-0.01)+0.01)-(1-r*0.01)/(M*(r*0.01-0.01)+0.01)=0)等价的阿
再答: 虽然结果看起来不一样,但其实是一样的,还有就是我一开始说的,这个方程有一个定解!从下面的程序你就能明白了! syms c d M a b r; M=solve('(1-r*0.01)/(M*(r*0.01-0.01)+0.01)=0.1*c*(1-a*0.01)/(M*(a*0.01-0.01)+0.01)+0.1*d*(1-b*0.01)/(M*(b*0.01-0.01)+0.01)','M') d=10-c; M2=eval(M) syms c M a b r; M1=solve('c*0.1*(1-a*0.01)/(M*(a*0.01-0.01)+0.01)+(1-c*0.1)*(1-b*0.01)/(M*(b*0.01-0.01)+0.01)-(1-r*0.01)/(M*(r*0.01-0.01)+0.01)=0','M') a=1;b=1000;r=100;M=10;c=20; eval(M2) eval(M1)