![]() |
[求助]用fsolve解方程组,带回方程验证出现错误。
用fsolve解方程,解出的解不准确,自己往回带算出的值明明很大,但matlab给出的值却是接近0。
请高手们帮忙看下是哪错了,要是想提高准确度的话该怎么改?多谢了!!! > clear [x,y,f]= fsolve('[-0.06877*x(1)^2-0.06877*(100*pi)^2*x(2)^2+x(1),(x(1)^2+(100*pi)^2*x(2)^2)/(100*pi)*x(3)+(-0.2501)*(x(1)^2+(100*pi)^2*x(2)^2)+(100*pi)*x(2),x(1)-5.165161*(x(2)+x(3))]',[1; 0.01; 0.2],optimset('TolFun',1e-30,'TolX',1e-30)) Optimization terminated: relative function value changing by less than max(options.TolFun^2,eps) and sum-of-squares of function values is less than sqrt(options.TolFun). x = 1.0267 0.0119 0.1869 y = 1.0e-015 * 0 0.4441 0 f = 3 下面是我自己把值往回带 >> a=-0.06877*1.0267^2-0.06877*(100*pi)^2*0.0119^2+1.0267 a = -0.0069 >> clear >> b=(1.0267^2+(100*pi)^2*0.0119^2)/(100*pi)*0.1869+(-0.2501)*(1.0267^2+(100*pi)^2*0.0119^2)+(100*pi)*0.0119 b = -0.0117 >> clear >> c=1.0267-5.165161*(0.0119+0.1869) c = -1.3401e-004 (正确的解应该是1.1474,0.012,0.2096,就第二个准点) |
回复: [求助]用fsolve解方程组,带回方程验证出现错误。
这是我的方程
R/( R2+w2L2)=a 1/wLs+wL/( R2+w2L2)=-b R=5.165161(L+Ls) a=0.2224 b=-0.4103 w=50pi R,L,Ls是未知数。上面我用x(1),x(2),x(3)代替 :L 平方打不出来,后面的2都是平方。 |
所有时间均为北京时间。现在的时间是 03:09。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.