楼主: 邹华伟
1663 29

[其他] 悬赏50金币求解如何用matlab编写如下程序 [推广有奖]

11
joylk 发表于 2016-4-13 20:09:24 |只看作者 |坛友微信交流群
楼主可以参考这篇文章,有详细的举例说明。建议自己编写一遍。这样才能快速掌握。
http://blog.sina.com.cn/s/blog_62e4f3830102v11n.html
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

使用道具

12
seaknight 学生认证  发表于 2016-4-13 21:18:34 |只看作者 |坛友微信交流群
[] 就是初始变量,因为你的题目中没有设置初始变量,所以这是用[]来代替

使用道具

13
seaknight 学生认证  发表于 2016-4-13 21:20:49 |只看作者 |坛友微信交流群
如果不行的话,你可以加入一个X0=[1;1;1;1;1;1;1],然后就把A之前的[],变成X0

使用道具

14
shuxue_ch 发表于 2016-4-13 21:32:56 |只看作者 |坛友微信交流群
1.线性规划,首选Lingo啊。
2. MATLAB教程,照猫画虎
附件: 你需要登录才可以下载或查看附件。没有帐号?我要注册
已有 1 人评分论坛币 收起 理由
admin_kefu + 30 热心帮助其他会员

总评分: 论坛币 + 30   查看全部评分

使用道具

15
邹华伟 发表于 2016-4-13 21:43:51 |只看作者 |坛友微信交流群
seaknight 发表于 2016-4-13 21:18
[] 就是初始变量,因为你的题目中没有设置初始变量,所以这是用[]来代替
多谢回复 如果加上一个限制条件x2=0 能不能再把详细的步骤在写一次 给你100金币 最好麻烦你先跑出来我看看 新手不太懂 改起来好麻烦 多谢啊

使用道具

16
Weierstrass. 学生认证  发表于 2016-4-13 22:05:17 |只看作者 |坛友微信交流群
  1. //myfun 优化函数    存储为myfun  切记和后面调用相同
  2. function y= myfun(x)
  3. y=-350*(1-exp(-(x(1)+0.65*x(4)+0.16*x(5)+0.16*x(7))))-200-400+x(1)+x(2)+x(3)+x(4)+x(5)+x(6)+x(7);
  4. end
复制代码

  1. A=[1, 0, 0, 0.65, 0.16, 0, 0.16;
  2.               0, -1, 0, -0.65,0,-0.34,-0.16;
  3.              0, 0, -1, 0, -0.16, -0.34, -0.16];
  4.          B=[4.47;-3.91;-4.6];
  5. Aeq=[];    Beq=[];      
  6. Lb=[0;0;0;0;0;0;0];
  7. [x,fval]=fmincon(@myfun,  0.000000001*ones(1,7)', A,B,Aeq,Beq,Lb);
  8. xmin=x
  9. fmax=-fval
复制代码
已有 1 人评分论坛币 收起 理由
admin_kefu + 30 热心帮助其他会员

总评分: 论坛币 + 30   查看全部评分

使用道具

17
Weierstrass. 学生认证  发表于 2016-4-13 22:22:43 |只看作者 |坛友微信交流群
// 存储为myfun.m  切记,切记
function y= myfun(x)
y=-350*(1-exp(-(x(1)+0.65*x(4)+0.16*x(5)+0.16*x(7))))-200-400+x(1)+x(2)+x(3)+x(4)+x(5)+x(6)+x(7);
end
A=[1, 0, 0, 0.65, 0.16, 0, 0.16;
   0, -1, 0, -0.65,0,-0.34,-0.16;
   0, 0, -1, 0, -0.16, -0.34, -0.16];
B=[4.47;-3.91;-4.6];
x0=zeros(1,7);
Aeq=[];Beq=[];Lb=[0;0;0;0;0;0;0];
[x,fval]=fmincon(@myfun,x0,A,B,Aeq,Beq,Lb);
xmin=x
fmax=-fval
结果为------------xmin = 0.5600    0.0000    4.6000    6.0154    0.0000    0.0000    0.0000-----对应于x1,x2...x7
         -------------fmax = 934.8181



使用道具

18
邹华伟 发表于 2016-4-14 00:35:41 来自手机 |只看作者 |坛友微信交流群
Weierstrass. 发表于 2016-4-13 22:22
// 存储为myfun.m  切记,切记
function y= myfun(x)
y=-350*(1-exp(-(x(1)+0.65*x(4)+0.16*x(5)+0.16*x ...
嗯你是对的,你重发一张随意图片设置50金币我买吧

使用道具

19
邹华伟 发表于 2016-4-14 00:36:32 来自手机 |只看作者 |坛友微信交流群
seaknight 发表于 2016-4-13 18:53
首先建立一个M文件Fun75.m
Function y = fun75(X)
Y=-350*(1-exp-(x(1)+0.65*x(4)+0.16*x(5)+0.16*x(7))) ...
感谢热情的网友,你重发任意一张图片设置五十金币我购买

使用道具

20
Weierstrass. 学生认证  发表于 2016-4-14 00:39:46 |只看作者 |坛友微信交流群
// 存储为myfun.m  切记,切记
function y= myfun(x)
y=-350*(1-exp(-(x(1)+0.65*x(4)+0.16*x(5)+0.16*x(7))))-200-400+x(1)+x(2)+x(3)+x(4)+x(5)+x(6)+x(7);
end
A=[1, 0, 0, 0.65, 0.16, 0, 0.16;
   0, -1, 0, -0.65,0,-0.34,-0.16;
   0, 0, -1, 0, -0.16, -0.34, -0.16];
B=[4.47;-3.91;-4.6];
x0=zeros(1,7);
Aeq=[];Beq=[];Lb=[0;0;0;0;0;0;0];
[x,fval]=fmincon(@myfun,x0,A,B,Aeq,Beq,Lb);
xmin=x
fmax=-fval
结果为------------xmin = 0.5600    0.0000    4.6000    6.0154    0.0000    0.0000    0.0000-----对应于x1,x2...x7
         -------------fmax = 934.8181
附件: 你需要登录才可以下载或查看附件。没有帐号?我要注册

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-12 22:41