声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1850|回复: 0

[综合讨论] fsolve循环使用中的问题

[复制链接]
发表于 2011-10-9 16:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
还是昨天的八元二次方程组循环求解(http://forum.vibunion.com/thread-106169-1-1.html),每次循环方程组里的参数会发生改变

现在的问题是:每次开始运行,第一次循环得到的结果是正确的,但是第二次第三次和以后的循环要不就是提示
  1. Norm of First-order Trust-region
  2. Iteration Func-count f(x) step optimality radius
  3. 0 9 1.82858e-014 0 1
  4. Optimization terminated: first-order optimality is less than options.TolFun.
复制代码
或者提示,初值不对,需要重新设置初值。


下面是主程序


  1. x0=[0;0;0;0;0;0;0;0];
  2. options=optimset('LevenbergMarquardt','on','FunValCheck','on','TolFun',1e-12,'TolX',1e-12,'Display','iter');   
  3. [x,fval] = fsolve(@myfun,x0,options);
复制代码
下面是方程子函数

  1. function F = myfun(x)
  2. load spectral.mat;
  3. F = [Gapap_1-Gapap_2-2.....;
  4. Gapbp_1_re-Gapbp_2_re-Ganbp_1.....;
  5. Gapbp_1_im-Gapbp_......;
  6. Gbpbp_1-Gbpbp_2-2*Ganbp_1_re*x(5.....;
  7. Gapap_2-Gapap_3-2*Ganap_2_re*x(1)+2*Ganap_3_....;
  8. Gapbp_2_re-Gapbp_3_re-Ganbp_2_re*x(....;
  9. Gapbp_2_im-Gapbp_3_im-Ganbp_2_im*x(..........;
  10. Gbpbp_.....];
复制代码
函数太长,没写全
spectral.mat;是主程序中保存的变量值

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-25 15:31 , Processed in 0.058135 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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