找回密码
 注册
Simdroid-非首页
查看: 74|回复: 1

复杂非线性方程求零点问题

[复制链接]
发表于 2012-1-9 21:16:51 | 显示全部楼层 |阅读模式 来自 江苏南京
  1. clc
  2. clear
  3. syms N M
  4. K3=[1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0;0, 3.975474723*10^10*(0.0000001949404375*N - 1)^(1/2), 0, 12.3, 0, 0, 0, (-4.722675159)*10^10*(1 - 0.0000001122230922*N)^(1/2), 0, 0, 0, -550;1516646116.0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0;0, 0, 0, 0, 1, 0, -3503184.713, 0, 0, 0, -1, 0;0, 0, 0, -0.00000000811, 0, 0, 0, 0, 0, 8.0*10^(-11), 0, 0;0, 0, 0, 0, 0, -0.000005, 0, 0, 0, 0, 0, 0.000157;3.975474723*10^10*sin(2*pi*M*(0.0000001949404375*N - 1)^(1/2))*(0.0000001949404375*N - 1)^(1/2), 3.975474723*10^10*cos(2*pi*M*(0.0000001949404375*N - 1)^(1/2))*(0.0000001949404375*N - 1)^(1/2), (-12.3)*sinh(2*pi*M), 12.3*cosh(2*pi*M), 0, 0, 0, 0, 0, 0, 0, 0;0, 0, 0, 0, 0, 0, 4.722675159*10^10*sinh(20.0*pi*M*(1 - 0.0000001122230922*N)^(1/2))*(1 - 0.0000001122230922*N)^(1/2), 4.722675159*10^10*cosh(20.0*pi*M*(1 - 0.0000001122230922*N)^(1/2))*(1 - 0.0000001122230922*N)^(1/2), 0, 0, 550*sinh(20.0*pi*M), 550*cosh(20.0*pi*M);1516646116.0*cos(2*pi*M*(0.0000001949404375*N - 1)^(1/2)), (-1516646116.0)*sin(2*pi*M*(0.0000001949404375*N - 1)^(1/2)), cosh(2*pi*M), -sinh(2*M*pi), 0, 0, 0, 0, 0, 0, 0, 0;0, 0, 0, 0, cosh(2*pi*M), -sinh(2*M*pi), 0, 0, 0, 0, 0, 0;0, 0, 0, 0, 0, 0, 0, 0, cosh(20.0*pi*M), sinh(20.0*pi*M), 0, 0;0, 0, 0, 0, 0, 0, 3503184.713*cosh(20.0*pi*M*(1 - 0.0000001122230922*N)^(1/2)), 3503184.713*sinh(20.0*pi*M*(1 - 0.0000001122230922*N)^(1/2)), 0, 0, cosh(20.0*pi*M), sinh(20.0*pi*M)];
  5. % K3=vpa(K3);
  6. K5=subs(K3,M,1);
  7. df=det(K5);

  8. dff=eval(['@(N)',char(df)]);

  9. opt=optimset;
  10. opt.largeScale='off';
  11. opt.MaxFunEvals=200;
  12. opt.TolX=1e-10;
  13. opt.TolFun=1e-10;
  14. [x,f]=fsolve(dff,3e6,opt)
复制代码
结果如下:
No solution found.

fsolve stopped because the relative size of the current step is less than the
selected value of the step size tolerance squared, but the vector of function values
is not near zero as measured by the selected value of the function tolerance.

<stopping criteria details>


x =

  4.0041e+006 +1.3434e-011i


f =

-5.4836e+082 +9.3127e+086i

明显不对,此乃何故?
发表于 2012-1-11 09:51:42 | 显示全部楼层 来自 山东烟台
Simdroid开发平台
本帖最后由 zccbest 于 2012-1-11 09:53 编辑

明显是不收敛,换个初始值试试

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 15:17 , Processed in 0.032407 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表