查看: 1389|回复: 2|关注: 0

[已答复] 使用《精通Matlab最优化计算》Powell法运行出现问题

[复制链接]

新手

5 麦片

财富积分


050


1

主题

1

帖子

0

最佳答案
发表于 2018-12-2 01:04:45 | 显示全部楼层 |阅读模式
>> syms s t;
f=(0.0482*t^(-5.75)*s^2.75+84000000)*(1/(10.915*t^(-1.8)*s^0.8)+0.0009);
P=[0 0.1;0.1 0];
[x,minf]=minPowell2(f,[0 0],P,[t s])
错误使用 symengine
Division by zero.


出错 sym/subs>mupadsubs (line 160)
G = mupadmex('symobj::fullsubs',F.s,X2,Y2);


出错 sym/subs (line 145)
    G = mupadsubs(F,X,Y);


出错 Funval2 (line 16)
fv = subs(f,varvec,transpose(varval));   %如果原来函数变量个数和传递的参数中变量个数一致,调用subs,并用转秩函数transpose


出错 minPowell2 (line 21)
        fy=Funval2(f,var,yv);
运行书上的例子没问题,但是换了目标函数后运行不出来
源程序在附件 minPowell2.m (1.38 KB, 下载次数: 8)

新手

5 麦片

财富积分


050


1

主题

9

帖子

0

最佳答案
发表于 2019-6-6 15:20:04 | 显示全部楼层
你好!
  请问换了目标函数后,运行时出现什么错误提示?

新手

5 麦片

财富积分


050


1

主题

8

帖子

0

最佳答案
发表于 2019-12-25 16:19:59 | 显示全部楼层
初始赋值为0,导致除以0了, 个人理解  希望有用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

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