24小时热门版块排行榜    

查看: 1087  |  回复: 7

liuhongbo

木虫 (著名写手)

[求助] 两个可变参数 T, E; 两个自变量x,y;的高次多项式极值怎么求? 已有1人参与

f=1/2*a*(x^2+y^2)+1/4*b*(x^4+y^4)+1/6*c*(x^6+y^6)+g*x*y-(x+y)*E
a=g+a1*(T-T0)
a1=1
b=c=1/3
g=0.5

T0=500

T,E均为可变参数,T的变化范围是0到700;E的变化范围为0到0.6E0,E0 = (6b^2/(25c))*sqrt(3*abs(b)/(10*c)).

需要求函数的极值,请问怎么用matlab实现呢?
如果太复杂,自变量可限制x>0; -x<y<x


感谢感谢!
回复此楼

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

» 猜你喜欢

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

iceson123

银虫 (小有名气)

要得到带T和E的解析解?
2楼2016-05-19 13:48:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuhongbo

木虫 (著名写手)

引用回帖:
2楼: Originally posted by iceson123 at 2016-05-19 13:48:47
要得到带T和E的解析解?

我词未达意,
求极小值下的x,y
然后得出x与T在不同E下的关系曲线和
           y与T在不同E下的关系曲线
3楼2016-05-19 18:50:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

iceson123

银虫 (小有名气)

引用回帖:
3楼: Originally posted by liuhongbo at 2016-05-19 18:50:30
我词未达意,
求极小值下的x,y
然后得出x与T在不同E下的关系曲线和
           y与T在不同E下的关系曲线...


那用fmincon或类似函数就可以了吧
4楼2016-05-19 20:18:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

iceson123

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
liuhongbo: 金币+15, ★★★★★最佳答案, merci! 2016-05-21 07:27:58
liuhongbo: 金币+5, ★★★★★最佳答案 2016-05-21 07:33:05
function [] = exercise()
options=optimset('LargeScale','off','Display','iter','TolX',1e-4,'TolFun',1e-4,'MaxFunEvals',1e6,'GradObj','off','GradConstr','off','Algorithm','interior-point');
global T E
A=[];b=[];
Aeq=[];
beq=[];
lb=[0 -Inf];
ub=[Inf Inf];

T=100;E=0.02;
xy0=rand(2,1);
[XYopt,fval,exitflag]=fmincon(@obj,xy0,A,b,Aeq,beq,lb,ub,[],options);
disp(XYopt);


function f=obj(xy0)
global T E
x=xy0(1);y=xy0(2);
g=0.5;b=1/3;c=1/3;a1=1; T0=500;
a=g+a1*(T-T0);

f=1/2*a*(x^2+y^2)+1/4*b*(x^4+y^4)+1/6*c*(x^6+y^6)+g*x*y-(x+y)*E;

貌似你的问题里x和y是对称的
5楼2016-05-19 20:32:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuhongbo

木虫 (著名写手)

送红花一朵
您好  非常感谢您的回复!

我开始学Matlab 感觉这个程序是固定了 E T?

是否可以让“T,E均为可变参数,T的变化范围是0到700;E的变化范围为0到0.6E0,E0 = (6b^2/(25c))*sqrt(3*abs(b)/(10*c)).”

然后绘制出“x与T在不同E下的关系曲线和
           y与T在不同E下的关系曲线...”

稍微给点注释?
6楼2016-05-20 06:45:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

iceson123

银虫 (小有名气)

引用回帖:
6楼: Originally posted by liuhongbo at 2016-05-20 06:45:32
您好  非常感谢您的回复!

我开始学Matlab 感觉这个程序是固定了 E T?

是否可以让“T,E均为可变参数,T的变化范围是0到700;E的变化范围为0到0.6E0,E0 = (6b^2/(25c))*sqrt(3*abs(b)/(10*c)).”

然后绘制 ...

这个很简单,再弄个循环就行了
相信你稍微学习matlab后就能自己解决
7楼2016-05-20 11:24:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

iceson123

银虫 (小有名气)

【答案】应助回帖

引用回帖:
6楼: Originally posted by liuhongbo at 2016-05-20 06:45:32
您好  非常感谢您的回复!

我开始学Matlab 感觉这个程序是固定了 E T?

是否可以让“T,E均为可变参数,T的变化范围是0到700;E的变化范围为0到0.6E0,E0 = (6b^2/(25c))*sqrt(3*abs(b)/(10*c)).”

然后绘制 ...

这个很简单,弄个循环就行
相信你学习matlab后很快就能自己解决
8楼2016-05-20 11:25:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Akadēmía 的主题更新
信息提示
请填处理意见