楼主: zapi
1342 3

弱弱地问MATLAB问题 [推广有奖]

  • 0关注
  • 0粉丝

小学生

21%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
39 点
帖子
5
精华
0
在线时间
2 小时
注册时间
2009-8-9
最后登录
2009-8-10

楼主
zapi 发表于 2009-8-9 19:30:13 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我自定义了三个函数,one(x1),two(x2), three(x3),
现知道x1+x2+x3=66501.807,且,x1,x2,x3均大于0,如何用MATLAB求m=one(x1)+two(x2)+three(x3)的最大值?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:matlab问题 MATLAB atlab matla Mat MATLAB

沙发
ghzuoye 发表于 2009-8-9 19:46:00
我不懂MATLAB,不过这不就是求两元函数的极值问题吗?
x3 可以用 x1,x2消去。。然后就 m = f(x1,x2) 了。

藤椅
zapi 发表于 2009-8-9 19:53:17
因为函数很复杂,我只能用插值法求出函数值,没法得到函数式

板凳
stevenly 发表于 2009-8-9 23:14:44
用fmincon函数,在你的目标函数前面加个负号,求出来的极小就是你要的极大。
也可以将X3用X1,X2代入,可以用无约束的函数fminunc来求解。
是否能收敛到全局最小,要看你的函数了。Matlab全局搜索能力比较差的。。。
另一种方法,如果你知道X1,X2的大致范围的话,可以先生成网格,画出目标函数值曲面来,这样最大值一目了然!
已有 1 人评分论坛币 收起 理由
admin + 5

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

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 14:06