24小时热门版块排行榜    

Znn3bq.jpeg
查看: 2833  |  回复: 9

zhanghui10

银虫 (小有名气)

[求助] 求助有关Matlab有约束非线性最优化问题

我现在进行一个有约束的非线性最优化,但是变量较多,我写了下面一段程序
定义目标函数
function f=myfun1(x)
ds=4.77;dr=2.36;
f=(ds*x(20)-dr*x(10))/(ds*x(20)+dr*x(10))-(x(1)-x(11))/(x(1)+x(11))
定义约束
function [c,ceq]=mycon1(x)
dr=4.77;dr=2.36;b=0.001;m=0.5.*b;w0=60.4;o0=100;f=41.7;
c=[w1.*dr.*x(1)+o1.*x(1)-o2.*x(2);w2.*dr.*x(2)+o2.*x(2)-w1.*dr.*x(1)-o3.*x(3);w3.*dr.*x(3)+o3.*x(3)-w2.*dr.*x(2)-o3.*x(4);w4.*dr.*x(4)+o4.*x(4)-w3.*dr.*x(3)-o3.*x(5);w5.*dr.*x(5)+o5.*x(5)-w4.*dr.*x(4)-o6.*x(6)-f.*m;w6.*dr.*x(6)+o6.*x(6)-w5.*dr.*x(5)-o7.*x(7);w7.*dr.*x(7)+o7.*x(7)-w6.*dr.*x(6)-o8.*x(8);w8.*dr.*x(8)+o8.*x(8)-w7.*dr.*x(7)-o9.*x(9);w9.*dr.*x(9)+o9.*x(9)-w8.*dr.*x(8)-o10.*x(10);w10.*dr.*x(10)+o10.*x(10)-w9.*dr.*x(9);w1.*ds.*x(11)+o1.*x(11)-o2.*x(12);w2.*ds.*x(12)+o2.*x(12)-w1.*ds.*x(11)-o3.*x(13);w3.*ds.*x(13)+o3.*x(13)-w2.*ds.*x(12)-o4.*x(14);w4.*ds.*x(14)+o4.*x(14)-w3.*ds.*x(13)-o5.*x(15);w5.*ds.*x(15)+o5.*x(15)-w4.*ds.*x(14)-o6.*x(16)-f.*m;w6.*dr.*x(16)+o6.*x(16)-w5.*dr.*x(15)-o7.*x(17);w7.*dr.*x(17)+o7.*x(17)-w6.*dr.*x(16)-o8.*x(18);w8.*dr.*x(18)+o8.*x(18)-w7.*dr.*x(17)-o9.*x(19);w9.*dr.*x(19)+o9.*x(19)-w8.*dr.*x(18)-o10.*x(20);w10.*dr.*x(20)+o10.*x(20)-w9.*dr.*x(19);w10.*dr.*x(20)+o1.*x(11)-f.*m;w10.*ds.*x(10)+o1.*x(1)-f.*m;w0+o0+f-w10-o1];
ceq=0;
主程序为:
b=0.001; x0=[0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b;0.1.*b];
lb=zeros(20,1);
[x,fval,exitflag,output]=fmincon('myfun1',x0,[],[],[],[],lb,[],'mycon1')
但是运行结果为
??? Error using ==> fmincon
FMINCON cannot continue because user supplied objective function failed with the following error:
Error using ==> feval
Undefined command/function 'myfun1'.

请问这是啥原因啊,是不是程序写错啦啊。
回复此楼

» 猜你喜欢

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

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

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

你的约束条件里面w1-w10 和o1-o10的值没有定义值
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
2楼2011-11-22 23:10:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

保存为m文件后,点击run
CODE:
function AA
b=0.001;
x0=b*rand(1,20);
lb=zeros(20,1);
[x,fval,exitflag,output]=fmincon(@myfun1,x0,[],[],[],[],lb,[],@mycon1)

function f=myfun1(x)
ds=4.77;dr=2.36;
f=(ds*x(20)-dr*x(10))/(ds*x(20)+dr*x(10))-(x(1)-x(11))/(x(1)+x(11))

function [c,ceq]=mycon1(x)
ds=4.77;dr=2.36;b=0.001;m=0.5.*b;w0=60.4;o0=100;f=41.7;
w1=1;w2=2;w3=3;w4=4;w5=5;w6=6;w7=7;w8=8;w9=9;w10=10;%输入w1-w10的值
o1=1;o2=2;o3=3;o4=4;o5=5;o6=6;o7=7;o8=8;o9=9;o10=10;%输入o1-o10的值
c=[w1.*dr.*x(1)+o1.*x(1)-o2.*x(2);w2.*dr.*x(2)+o2.*x(2)-w1.*dr.*x(1)-o3.*x(3);...
    w3.*dr.*x(3)+o3.*x(3)-w2.*dr.*x(2)-o3.*x(4);w4.*dr.*x(4)+o4.*x(4)-...
    w3.*dr.*x(3)-o3.*x(5);w5.*dr.*x(5)+o5.*x(5)-w4.*dr.*x(4)-o6.*x(6)-...
    f.*m;w6.*dr.*x(6)+o6.*x(6)-w5.*dr.*x(5)-o7.*x(7);w7.*dr.*x(7)+o7.*x(7)-...
    w6.*dr.*x(6)-o8.*x(8);w8.*dr.*x(8)+o8.*x(8)-w7.*dr.*x(7)-o9.*x(9);w9.*dr.*x(9)+...
    o9.*x(9)-w8.*dr.*x(8)-o10.*x(10);w10.*dr.*x(10)+o10.*x(10)-w9.*dr.*x(9);...
    w1.*ds.*x(11)+o1.*x(11)-o2.*x(12);w2.*ds.*x(12)+o2.*x(12)-w1.*ds.*x(11)-...
    o3.*x(13);w3.*ds.*x(13)+o3.*x(13)-w2.*ds.*x(12)-o4.*x(14);w4.*ds.*x(14)+...
    o4.*x(14)-w3.*ds.*x(13)-o5.*x(15);w5.*ds.*x(15)+o5.*x(15)-w4.*ds.*x(14)-...
    o6.*x(16)-f.*m;w6.*dr.*x(16)+o6.*x(16)-w5.*dr.*x(15)-o7.*x(17);...
    w7.*dr.*x(17)+o7.*x(17)-w6.*dr.*x(16)-o8.*x(18);w8.*dr.*x(18)+o8.*x(18)-...
    w7.*dr.*x(17)-o9.*x(19);w9.*dr.*x(19)+o9.*x(19)-w8.*dr.*x(18)-o10.*x(20);...
    w10.*dr.*x(20)+o10.*x(20)-w9.*dr.*x(19);w10.*dr.*x(20)+o1.*x(11)-...
    f.*m;w10.*ds.*x(10)+o1.*x(1)-f.*m;w0+o0+f-w10-o1];
ceq=[];

The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
3楼2011-11-22 23:18:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhanghui10

银虫 (小有名气)

w1-w10,o1-o10不能通过w0,o0与x(1),x(10)的关系输出嘛。
4楼2011-11-23 08:34:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

引用回帖:
4楼: Originally posted by zhanghui10 at 2011-11-23 08:34:24:
w1-w10,o1-o10不能通过w0,o0与x(1),x(10)的关系输出嘛。

又不是解方程 ,怎么输出约束条件里的参数
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
5楼2011-11-23 08:52:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhanghui10

银虫 (小有名气)

我的那个w1-w10与o1,o10都是未知的,就w0,o0已知,那应该怎样做啊
6楼2011-11-23 09:22:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

zhanghui10(金币+10): 2011-11-25 21:07:15
引用回帖:
6楼: Originally posted by zhanghui10 at 2011-11-23 09:22:51:
我的那个w1-w10与o1,o10都是未知的,就w0,o0已知,那应该怎样做啊

你可以分析下你的约束条件,目标函数只有x20 x10 x1 x11其他的关于x约束对好象由x1是一级一级传递到x20,这本身就是比较复杂问题,w 和o与x看样子是对应的,你还是要找个模型估计下,至少通过上面优化是解不出来。

» 本帖已获得的红花(最新10朵)

The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
7楼2011-11-23 11:24:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

雨夜漫步

禁虫 (正式写手)

送鲜花一朵
本帖内容被屏蔽

8楼2012-07-05 22:02:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Fibo101215

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by dbb627 at 2011-11-22 23:18:39
保存为m文件后,点击run

function AA
b=0.001;
x0=b*rand(1,20);
lb=zeros(20,1);
=fmincon(@myfun1,x0,[],[],[],[],lb,[],@mycon1)

function f=myfun1(x)
ds=4.77;dr=2.36;
f=(ds*x(20)-dr*x(10))/(d ...

您好,有关matlab的问题还想请教您一下。。
我的公式是这样的:y=[a*(t^2-e*t^2)+b*(2-t^2+e*t^2)*T1-(1-t*e-t^2+e*t^2)T2]/t*e
里面的e、t和y都是数组,T1为已知标量待输入,T2也是已知标量待输入,a、b是这个已知公式里需要优化的参数,我想请教的是:如果我想用lsqcurvefit这个函数或者其他函数或者DIY编码该如何进行编程,因为就目前而言我还处于菜鸟阶段,感激不尽~感激不尽!!!
9楼2012-09-06 11:38:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李迹

新虫 (小有名气)

max f(x1,x2)  arccos(x1*(sqrt(1-x1.^2+x2.^2))./x2)
s.t  0.0872≤x1≤0.1392
      0.75≤x2≤1.25

您好,请问这个用MATLAB优化,如何编写程序
10楼2014-10-09 15:06:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhanghui10 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 国自然面上和省基金B类撒花 +17 花田半亩~白 2026-04-21 17/850 2026-04-23 07:30 by john198197
[考研] 有没有学校收留 +3 蒋昌鹏qtj 2026-04-20 3/150 2026-04-22 20:25 by 学员JpLReM
[考研] 312求调剂 +3 山河似你温柔 2026-04-22 3/150 2026-04-22 20:17 by 学员JpLReM
[考博] 华师大读博 +3 xq83 2026-04-22 5/250 2026-04-22 10:42 by xq83
[教师之家] 又一批高校组建人工智能学院 师资行吗 不是骗人吗 +5 yexuqing 2026-04-19 5/250 2026-04-22 10:01 by easeheart
[论文投稿] 急需审稿人!!! +3 陆小果画大饼 2026-04-21 3/150 2026-04-21 23:54 by jzy_123456
[考博] 申博/考博 +4 啃面包的小书虫 2026-04-17 8/400 2026-04-21 16:26 by 啃面包的小书虫
[考研] 085600材料与化工调剂 5+3 孜孜不倦2002 2026-04-19 6/300 2026-04-20 21:25 by babero
[论文投稿] 有没有接收比较快的sci期刊呀,最好在一个月之内的,研三孩子求毕业 20+4 之护着 2026-04-16 7/350 2026-04-20 15:45 by 豆豆7758
[考博] 申博 +3 Xyyx. 2026-04-18 3/150 2026-04-20 10:44 by YuY66
[考博] 湖南大学刘巧玲课题组2026年第二批次博士研究生招生信息 +3 南风观火 2026-04-18 5/250 2026-04-20 10:13 by 南风观火
[考研] 求计算机方向调剂 +3 Toffee2 2026-04-16 6/300 2026-04-19 22:37 by ll叶
[考研] 294求调剂 +8 淡然654321 2026-04-17 9/450 2026-04-19 19:51 by Equinoxhua
[考研] 304求调剂 +8 castLight 2026-04-16 8/400 2026-04-19 17:14 by 中豫男
[考研] 求调剂 +10 小聂爱学习 2026-04-16 12/600 2026-04-19 16:51 by 中豫男
[考研] 求调剂 +6 苦命人。。。 2026-04-18 7/350 2026-04-19 16:27 by 中豫男
[考研] 接受任何调剂 +6 也就是栗子 2026-04-17 7/350 2026-04-18 17:20 by 涵竹刘
[考研] 260求调剂 +4 Zyt1314520.. 2026-04-17 5/250 2026-04-18 08:28 by babysonlkd
[有机交流] 二苯甲酮酸类衍生物 50+3 小白爱主人 2026-04-17 6/300 2026-04-17 18:47 by kf2781974
[考研] 322求调剂 +6 tekuzu 2026-04-17 6/300 2026-04-17 13:48 by Espannnnnol
信息提示
请填处理意见