24小时热门版块排行榜    

查看: 1673  |  回复: 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的回帖

matangtang

木虫 (正式写手)

引用回帖:
7楼: Originally posted by 月只蓝 at 2015-01-15 14:02:37
在我这边运行 g维数一开始=6的。
有可能不同版本的MATLAB solve函数求解能力不同吧,版本高的,能求出更多解。...

请问您用的是哪个版本的matlab?
8楼2015-01-15 22:47:01
已阅   回复此楼   关注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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 286分人工智能专业请求调剂愿意跨考! +4 lemonzzn 2026-03-17 8/400 2026-03-21 22:49 by lemonzzn
[考研] 【考研调剂】化学专业 281分,一志愿四川大学,诚心求调剂 +11 吃吃吃才有意义 2026-03-19 11/550 2026-03-21 18:23 by 学员8dgXkO
[考研] 336求调剂 +5 rmc8866 2026-03-21 5/250 2026-03-21 17:24 by 学员8dgXkO
[基金申请] 学校已经提交到NSFC,还能修改吗? 40+4 babangida 2026-03-19 9/450 2026-03-21 16:12 by babangida
[考研] 306求调剂 +4 chuanzhu川烛 2026-03-18 4/200 2026-03-21 08:25 by laoshidan
[考研] 一志愿山大07化学 332分 四六级已过 本科山东双非 求调剂! +3 不想理你 2026-03-16 3/150 2026-03-21 03:59 by JourneyLucky
[考研] 265求调剂 +3 Jack?k?y 2026-03-17 3/150 2026-03-21 03:17 by JourneyLucky
[考研] 332求调剂 +4 ydfyh 2026-03-17 4/200 2026-03-21 02:20 by JourneyLucky
[考研] 一志愿南京理工大学085701资源与环境302分求调剂 +4 葵梓卫队 2026-03-18 6/300 2026-03-20 23:02 by JourneyLucky
[考研] 323求调剂 +3 洼小桶 2026-03-18 3/150 2026-03-20 22:54 by JourneyLucky
[考研] 求调剂,一志愿:南京航空航天大学大学 ,080500材料科学与工程学硕,总分289分 +4 @taotao 2026-03-19 4/200 2026-03-20 22:14 by JourneyLucky
[考研] 260求调剂 +3 朱芷琳 2026-03-20 3/150 2026-03-20 20:35 by 学员8dgXkO
[考研] 319求调剂 +3 小力气珂珂 2026-03-20 3/150 2026-03-20 19:47 by JourneyLucky
[考研] 261求B区调剂,科研经历丰富 +3 牛奶很忙 2026-03-20 4/200 2026-03-20 19:34 by JourneyLucky
[考研] 085410人工智能专硕317求调剂(0854都可以) +4 xbxudjdn 2026-03-18 4/200 2026-03-20 09:07 by 不168
[考研] 材料与化工求调剂 +7 为学666 2026-03-16 7/350 2026-03-19 14:48 by 尽舜尧1
[考研] 277调剂 +5 自由煎饼果子 2026-03-16 6/300 2026-03-17 19:26 by 李leezz
[考研] 290求调剂 +3 p asserby. 2026-03-15 4/200 2026-03-17 16:35 by wangkm
[考研] 318求调剂 +3 Yanyali 2026-03-15 3/150 2026-03-16 16:41 by houyaoxu
[考研] 0856求调剂 +3 刘梦微 2026-03-15 3/150 2026-03-16 10:00 by houyaoxu
信息提示
请填处理意见