24小时热门版块排行榜    

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

zhonggsydx

木虫 (小有名气)

[求助] MATLAB求解多元二次函数极小值

请用MATLAB帮忙求解,给出计算过程。
在满足:5≤x1≤35;350≤x2≤450;70≤x3≤90;10≤x4≤30的前提下,
求y=0.38-11.7*x1-0.5*x2-1.2*x3-0.42*x4+21.6*x1*x1-0.25*x2*x2-0.02*x3*x3-0.32*x4*x4+1.36*x1*x2+4.52*x1*x3+1.16*x1*x4+0.13*x2*x3+0.29*x2*x4+0.06*x3*x4的极小值。
谢谢!
回复此楼
一将功成万骨枯
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yqx1985

木虫 (著名写手)

云中仙

【答案】应助回帖


fegg7502: 金币+1, 应助指数+1, 3ks 2013-08-26 10:41:53
1stOpt代码更简单,如下

Title "zhonggsydx min";
Parameters x1=[5,35]; x2=[350,450];x3=[70,90]; x4=[10,30];
Minimum;
Function 0.38-11.7*x1-0.5*x2-1.2*x3-0.42*x4+21.6*x1*x1-0.25*x2*x2-0.02*x3*x3-0.32*x4*x4+1.36*x1*x2+4.52*x1*x3+1.16*x1*x4+0.13*x2*x3+0.29*x2*x4+0.06*x3*x4;
人面不知何时去,桃花依旧笑春风
3楼2013-08-25 17:40:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

yqx1985

木虫 (著名写手)

云中仙

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
zhonggsydx: 金币+50, ★★★★★最佳答案, 万分感谢~~ 2013-08-25 19:52:55
fegg7502: 金币+2, 3ks 2013-08-26 10:41:45
Matlab 代码如下
% 1. 首先将你的表达式编写为函数
function  y=zhonggsydx(x)
x1=x(1);x2=x(2);x3=x(3);x4=x(4);
y=0.38-11.7*x1-0.5*x2-1.2*x3-0.42*x4+21.6*x1*x1-0.25*x2*x2-0.02*x3*x3-0.32*x4*x4+1.36*x1*x2+4.52*x1*x3+1.16*x1*x4+0.13*x2*x3+0.29*x2*x4+0.06*x3*x4;

% 2.  搞定后直接在Matlab中输入
[x,fval] = ga(@zhonggsydx,4,[],[],[],[],[5,350,70,10],[35,450,90,30]);

% 3. fval就是最小值,x是y最小值时,四个输入参数的值。
人面不知何时去,桃花依旧笑春风
2楼2013-08-25 17:39:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yqx1985

木虫 (著名写手)

云中仙

【答案】应助回帖


fegg7502: 金币+1, 鼓励交流 2013-08-26 10:41:59
1stOpt代码错了,Parameters 后面每项是逗号不是分号。

Title "zhonggsydx min";
Parameters x1=[5,35], x2=[350,450], x3=[70,90], x4=[10,30];
Minimum;
Function 0.38-11.7*x1-0.5*x2-1.2*x3-0.42*x4+21.6*x1*x1-0.25*x2*x2-0.02*x3*x3-0.32*x4*x4+1.36*x1*x2+4.52*x1*x3+1.16*x1*x4+0.13*x2*x3+0.29*x2*x4+0.06*x3*x4;
人面不知何时去,桃花依旧笑春风
4楼2013-08-25 17:44:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhonggsydx

木虫 (小有名气)

送红花一朵
引用回帖:
5楼: Originally posted by yqx1985 at 2013-08-25 17:46:05
从计算结果来看
Matlab
最小值 -39975.8624572505
此时四个参数为 5.02799906532263        449.999850355964        75.6150633536733        10

1stOpt
最小值 -40444.3199843237
此时四个参数为
x1: 5.0000000136995
x2: 45 ...

谢谢!我最近试着学了 1stOpt ,但是用软件中不同的求解方法得出的结果相差比较大,很是困惑。
一将功成万骨枯
6楼2013-08-25 19:55:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见