24小时热门版块排行榜    

查看: 1670  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

matangtang

木虫 (正式写手)

[求助] matlab优化报错 已有1人参与

程序在附件中,其中dynamics_inverse_qiujie.m为优化主程序,biaozhun_function.m为优化目标函数,yueshu.m为约束函数。
程序里面的初值a0已经满足我的需要了(是手调得到的),但仍然存在一个错误。如图片所示

yueshu.m中计算出来的g的个数本来是10个,最后一次计算变成了11个,如下图所示。

还请高手解答

因为不能在原贴上编辑,所以又重新发了这个求助帖,原帖在。如果能解决问题,金币可以都奉送哈
http://muchong.com/bbs/viewthread.php?tid=8413221&page=2

matlab优化报错
1.png


matlab优化报错-1
2.png
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
8楼: Originally posted by matangtang at 2015-01-15 22:47:01
请问您用的是哪个版本的matlab?...

R2010a
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
9楼2015-01-16 09:05:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

NicoleLas

木虫 (正式写手)

要不你去计算模拟区求助下版主月只蓝,他的解答通常都很棒,人也很尽心。我没有MATLAB,不方便看,抱歉。

[ 发自手机版 http://muchong.com/3g ]
Be water, my friend.
2楼2015-01-14 23:02:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

matangtang

木虫 (正式写手)

引用回帖:
2楼: Originally posted by NicoleLas at 2015-01-14 23:02:25
要不你去计算模拟区求助下版主月只蓝,他的解答通常都很棒,人也很尽心。我没有MATLAB,不方便看,抱歉。

谢谢您啊
3楼2015-01-15 00:33:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
matangtang: 金币+50, ★★★★★最佳答案 2015-01-15 10:41:09
您好!
我大致看了一下,发现主要问题在于 yueshu.m 中 变量g 的维数问题。
按原来的程序:
g=abs(double(z))-0.99;
那么 变量z 的维数就决定了 g 的维数
而 z 是用solve 函数解方程组得到的:
[A B C Q H z]=solve('A=1-1.1/z','B=1+1.2/z','C=1+0.2/z',['Q=((',num2str(a(9)),')*(z-((',num2str(a(1)),')+(',num2str(a(2)),')*i))*(z-((',num2str(a(3)),')+(',num2str(a(4)),')*i)))/((z-((',num2str(a(5)),')+(',num2str(a(6)),')*i))*(z-((',num2str(a(7)),')+(',num2str(a(8)),')*i)))-B*C'],'H=z*Q-B*C-A*Q+z*B*C','z^2-(C*(Q+B*C))*z/H-((Q+B*C)*(B*C^2-z*Q*C+A*Q*C-z*B*C^2))/H^2','A,B,C,Q,H,z')

由于solve 函数会求解方程组所有的解,那么问题就来了,如果原方程组是多解的,而且解的个数不唯一,就会引起z维数的变化
通过跟踪 优化过程中 z 维数的变化可见(以下以index_xy表示z的维数):
index_xy =

     6     1
index_xy =

     6     1
index_xy =

     6     1
index_xy =

     6     1
index_xy =

     6     1
index_xy =

     6     1
index_xy =

    11     1
可见第7次,z 的维数为11。

为了进一步验证,变量g和z 的维数就是调通程序的关键,尝试将变量z 改成以下形式:
g=abs(double(z(1:6)))-0.99;
即强制 g和z 维数=6
最终程序可以跑通的,结果见附图1。当然结果肯定不好,不过这样确实说明,调整 g和z 维数,确实可以跑通程序。

基本上找到了原因,那么怎么解决呢? 由于solve 函数会求解方程组所有的解,解的个数会随着方程的变化而不同,所以是否可以给 z 中的元素加个约束,只取出其中合适的6个,来代入优化过程。或者,不用 solve函数,用 fsolve函数代入不同的初值,求取不同的解。需要说明的是,以上只是我初步的想法,我也没有想到如何用代码具体实现。
matlab优化报错-2
附图1.png

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2015-01-15 09:33:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求调剂 +3 13341 2026-03-20 3/150 2026-03-21 18:28 by 学员8dgXkO
[考研] 【考研调剂】化学专业 281分,一志愿四川大学,诚心求调剂 +11 吃吃吃才有意义 2026-03-19 11/550 2026-03-21 18:23 by 学员8dgXkO
[考研] 一志愿深大,0703化学,总分302,求调剂 +4 七月-七七 2026-03-21 4/200 2026-03-21 18:20 by 学员8dgXkO
[考研] 306求0703调剂一志愿华中师范 +5 纸鱼ly 2026-03-21 5/250 2026-03-21 17:11 by 学员8dgXkO
[考研] 265求调剂 +12 梁梁校校 2026-03-19 14/700 2026-03-21 13:38 by lature00
[考研] 求调剂 +3 白QF 2026-03-21 3/150 2026-03-21 13:12 by zhukairuo
[考研] 085601调剂 358分 +3 zzzzggh 2026-03-20 4/200 2026-03-21 10:21 by luoyongfeng
[考研] 二本跨考郑大材料306英一数二 +3 z1z2z3879 2026-03-17 3/150 2026-03-21 02:29 by JourneyLucky
[考研] 332求调剂 +4 ydfyh 2026-03-17 4/200 2026-03-21 02:20 by JourneyLucky
[考研] 一志愿 西北大学 ,070300化学学硕,总分287,双非一本,求调剂。 +3 晨昏线与星海 2026-03-18 3/150 2026-03-21 00:46 by JourneyLucky
[考研] 321求调剂 +9 何润采123 2026-03-18 11/550 2026-03-20 23:19 by JourneyLucky
[考研] 288求调剂 +16 于海海海海 2026-03-19 16/800 2026-03-20 22:28 by JourneyLucky
[考研] 329求调剂 +9 想上学吖吖 2026-03-19 9/450 2026-03-20 22:01 by luoyongfeng
[考研] A区线材料学调剂 +5 周周无极 2026-03-20 5/250 2026-03-20 21:33 by laoshidan
[考研] 一志愿西南交通 专硕 材料355 本科双非 求调剂 +5 西南交通专材355 2026-03-19 5/250 2026-03-20 21:10 by JourneyLucky
[考博] 申博26年 +3 八6八68 2026-03-19 3/150 2026-03-19 19:43 by nxgogo
[考研] 0703化学调剂 +5 pupcoco 2026-03-17 8/400 2026-03-19 13:58 by houyaoxu
[考研] 【同济软件】软件(085405)考研求调剂 +3 2026eternal 2026-03-18 3/150 2026-03-18 19:09 by 搏击518
[考研] 材料,纺织,生物(0856、0710),化学招生啦 +3 Eember. 2026-03-17 9/450 2026-03-18 10:28 by Eember.
[考研] 材料工程专硕274一志愿211求调剂 +6 薛云鹏 2026-03-15 6/300 2026-03-17 11:05 by 学员h26Tkc
信息提示
请填处理意见