| 查看: 1623 | 回复: 4 | ||||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||||
[求助]
用1stOpt解出非线性方程组的解作为初值用Matlab求解,解不出来 已有1人参与
|
||||
|
用1stOpt解出非线性方程组的解作为初值用Matlab求解,解不出来 这是一个非线性方程组(Matlab表示): 用一开始建模型的人给的粗略的初始值范围,用默认设置选项,解出的解明显不对,警告提示要用Levenberg-Marquardt算法,后改用这种算法options=optimset('Display','iter','Algorithm','Levenberg-Marquardt'); 结果还是一样。 于是使用1stOpt软件,网上只能下载到免安装的1.5版本,使用如下代码: 结果为: ====== 结果 ====== 迭代数: 148 计算用时(时:分:秒:毫秒): 00:00:00:482 计算中止原因: 达到收敛判定标准 优化算法: 最大继承法 函数表达式 1: bt*(3*(m*(-150)+n*150+p*c)*(-150)/rl^5-m/rl^3)/(-48030)-1-(0) 2: bt*(3*(m*(-150)+n*150+p*c)*150/rl^5-n/rl^3)/29370-1-(0) 3: bt*(3*(m*(-150)+n*150+p*c)*c/rl^5-p/rl^3)/(-19077.3)-1-(0) 4: m^2+n^2+p^2-1-(0) 5: rl-sqrt((-150)^2+150^2+c^2)-(0) 目标函数值: 0 Bt: 999812590445.556 c: 161.888089867363 m: 0.401079546362512 n: -0.0464426102549249 p: 0.914865171182263 Rl: 266.847809885904 ====== 计算结束 ====== 当然每次运行结果都会有点不同,但大致都在这个范围内。 因为我要继续一步作分析,Bx, By, Bz是测试数据,要从表格中读出的,对应每一组数据求一次方程组,相当于变常量,按照上面注释中采用的两种方法,都没有达到我预期的效果,软件把它也当做变量去求解了,也有可能是用的方法不对,但我从手册中找不到其它方法了。因为Matlab编程方便,可以实现我的需求,于是我又转回Matlab,用1stOpt解出非线性方程组的解作为初值用Matlab求解,依然求不出解,除了算法的设置,误差和迭代次数的设置都是因为解不出正确的解,自己调的,但是依然没用。 结果为: ====== 结果 ====== 迭代数: 148 计算用时(时:分:秒:毫秒): 00:00:00:482 计算中止原因: 达到收敛判定标准 优化算法: 最大继承法 函数表达式 1: bt*(3*(m*(-150)+n*150+p*c)*(-150)/rl^5-m/rl^3)/(-48030)-1-(0) 2: bt*(3*(m*(-150)+n*150+p*c)*150/rl^5-n/rl^3)/29370-1-(0) 3: bt*(3*(m*(-150)+n*150+p*c)*c/rl^5-p/rl^3)/(-19077.3)-1-(0) 4: m^2+n^2+p^2-1-(0) 5: rl-sqrt((-150)^2+150^2+c^2)-(0) 目标函数值: 0 Bt: 999812590445.556 c: 161.888089867363 m: 0.401079546362512 n: -0.0464426102549249 p: 0.914865171182263 Rl: 266.847809885904 ====== 计算结束 ====== 当然每次运行结果都会有点不同,但大致都在这个范围内。 因为我要继续一步作分析,Bx, By, Bz是测试数据,要从表格中读出的,对应每一组数据求一次方程组,相当于变常量,按照上面注释中采用的两种方法,都没有达到我预期的效果,软件把它也当做变量去求解了,也有可能是用的方法不对,但我从手册中找不到其它方法了。因为Matlab编程方便,可以实现我的需求,于是我又转回Matlab,用1stOpt解出非线性方程组的解作为初值用Matlab求解,依然求不出解,除了算法的设置,误差和迭代次数的设置都是因为解不出正确的解,自己调的,但是依然没用。 请问:如何用Matlab可以解出这个方程组的解,或者用1stOpt可以实现我的分析需求? 有谁能给出一点建议,哪怕不一定是解决方法,Matlab里如何选择初值,用1stOpt解出的初值,为什么还是解不出来? |
» 本帖附件资源列表
-
欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com - 附件 1 : Mag1230.xls
2015-03-02 16:14:15, 21.5 K
» 猜你喜欢
【复旦大学】二维材料方向招收2026年博士研究生1名
已经有0人回复
北京纳米能源与系统研究所 王中林院士/曹南颖研究员课题组2026级硕/博/博后招生
已经有10人回复
物理学I论文润色/翻译怎么收费?
已经有92人回复
荷兰Utrecht University超快太赫兹光谱王海教授课题招收2026 CSC博士生
已经有23人回复
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
笼目材料中量子自旋液体基态的证据
已经有0人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求助如何用matlab求非线性方程组的解
已经有8人回复
Matlab用fsolve求解非线性方程,卡了三四天了跪求帮助!
已经有35人回复
MATLAB解非线性方程组
已经有9人回复
请教高手,如何解非线性方程组!!!
已经有13人回复
急:求助求解不等式方程组
已经有11人回复
matlab 解非线性偏微分方程组
已经有6人回复
求高手给做一道题,用MATLAB或1stOpt,请把结果直接给出来,我的软件就不行,谢谢
已经有5人回复
1stopt解方程组
已经有12人回复
求教 如何用matlab解带约束的非线性方程组
已经有4人回复
Matlab求解多元多次方程组问题
已经有7人回复
用matlab求解非线性方程组说无解,一定是方程组本身无解,还是有可能程序有问题呢?
已经有11人回复
求教matlab线性优化求最小值的问题
已经有7人回复
求助:matlab解17个未知数,17个方程。
已经有4人回复
求Matlab解非线性方程代码
已经有12人回复
matlab 求解非线性方程 解出虚数解
已经有7人回复
matlab怎么求一个不等式组的解????????
已经有4人回复
matlab求解非线性方程组,错误提示怎么解决
已经有5人回复
各位朋友,如何用matlab编写这个方程,并求解?
已经有15人回复
求助matlab---fsolve解非线性方程组
已经有6人回复
1stopt或matlab如何求解以下的非线性方程并拟合出相应曲线?
已经有13人回复
求高人指点用matlab求解非线性方程组,解决了追加100金币;
已经有11人回复
【求助】求教matlab解非线性方程组
已经有9人回复
|
我也想完全用1stopt,关键是我不止要解出方程组的解,还要:“要继续一步作分析,Bx, By, Bz是测试数据,要从表格中读出的,对应每一组数据求一次方程组,相当于变常量,按照上面注释中采用的两种方法,都没有达到我预期的效果,软件把它也当做变量去求解了,也有可能是用的方法不对,但我从手册中找不到其它方法了。” BatchFileModel; VarConstant Bx="Sheet1[A1:A240]"; VarConstant By="Sheet1[B1:B240]"; VarConstant Bz="Sheet1[C1:C240]"; RowDataSet; Bx="Sheet1[A1:A240]"; By="Sheet1[B1:B240]"; Bz="Sheet1[C1:C240]"; EndRowDataSet; 我只有从网上下载的1.5破解版。还有我用最大继承法,目标函数值倒是为零,用你说的“标准简面体爬山法 + 通用全局优化法”,反倒收敛没它好。 |
3楼2015-03-03 11:11:16
月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 计算强帖: 8
- 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68121.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区
【答案】应助回帖
★ ★ ★ ★ ★
感谢参与,应助指数 +1
mjjackey: 金币+5, ★★★很有帮助 2015-03-10 14:51:52
感谢参与,应助指数 +1
mjjackey: 金币+5, ★★★很有帮助 2015-03-10 14:51:52
|
原方程组未知数之间的数量级相差过大,在不对原方程进行处理(诸如取对数降数量级之类)的情况下,求解的结果不稳定是正常的,而且此时方程用MALTAB求解比较困难,就是初值难以选取。建议用1stopt软件求解即可。 楼主编写的1stop代码略冗长,已修改如下: 用简面体爬山法求解,效果良好: 化算法: 标准简面体爬山法 + 通用全局优化法 函数表达式 1: bt*(3*(m*(-150)+n*150+p*c)*(-150)/(sqrt((-150)^2+150^2+c^2))^5-m/(sqrt((-150)^2+150^2+c^2))^3)/(-48030) -1-(0) 2: bt*(3*(m*(-150)+n*150+p*c)*150/(sqrt((-150)^2+150^2+c^2))^5-n/(sqrt((-150)^2+150^2+c^2))^3)/29370-1 -(0) 3: bt*(3*(m*(-150)+n*150+p*c)*c/(sqrt((-150)^2+150^2+c^2))^5-p/(sqrt((-150)^2+150^2+c^2))^3)/(-19077.3) -1-(0) 4: m^2+n^2+p^2-1-(0) 目标函数值: 0 bt: 988812416631.896 c: 160.516748048499 m: 0.396983954369934 n: -0.0417362655864018 p: 0.916876122552939 MATLAB代码: |

2楼2015-03-02 17:15:39
月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 计算强帖: 8
- 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68121.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区
【答案】应助回帖

4楼2015-03-03 11:13:29
5楼2015-03-03 12:14:20







回复此楼