24小时热门版块排行榜    

Znn3bq.jpeg
查看: 2575  |  回复: 5

goodjackzj

新虫 (小有名气)

[求助] matlab中fmincon的fun是矩阵运算怎么办? 已有1人参与

想用优化算法求解一个矩阵运算式子的最小值,上网看了有关fmincon的资料,发现fmincon中的fun式子一般都是能写出x1,x2表达式的,比如
function y = fun1(x)
y = x(1)-0.25*x(2)+0.6;
如果我的fun是一个矩阵运算如:
min (h2-G2*phi2)'*W2*(h2-G2*phi2)
subject to: phi2>0
其中h2,G2,W2已知,phi2是一个3*1的向量,无法写出包含phi2(i)的具体式子,请问应该怎么办?
​小弟初学优化算法,还请各位大虾多多指教~~
回复此楼

» 猜你喜欢

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

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

小米2011

新虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
goodjackzj: 金币+5 2014-01-10 18:24:54
xzhdty: 金币+1, 谢谢参与 2014-01-10 19:52:33
矩阵运算也可以的。fmincon可以求 scalar, vector, or matrix的解。具体操作时无需写成 phi2(i)的形式,就将phi2作为一个vector就行:
function y = fun1(phi2)
y=(h2-G2*phi2)'*W2*(h2-G2*phi2);
2楼2014-01-02 02:37:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

goodjackzj

新虫 (小有名气)

引用回帖:
2楼: Originally posted by 小米2011 at 2014-01-02 02:37:28
矩阵运算也可以的。fmincon可以求 scalar, vector, or matrix的解。具体操作时无需写成 phi2(i)的形式,就将phi2作为一个vector就行:
function y = fun1(phi2)
y=(h2-G2*phi2)'*W2*(h2-G2*phi2);

请问我这样写对吗?
f = @(x)(h2-G2*x)'*W2*(h2-G2*x);
A = (-1)*eye(3);
B=[0,0,0]';
x0=[1,1,1]';
phi2=fmincon(f,x0,A,B);
初始点x0随便设的,我想求phi2的全局最小点,请问请应该怎么做呢?
3楼2014-01-05 23:06:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小米2011

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by goodjackzj at 2014-01-05 16:06:06
请问我这样写对吗?
f = @(x)(h2-G2*x)'*W2*(h2-G2*x);
A = (-1)*eye(3);
B=';
x0=';
phi2=fmincon(f,x0,A,B);
初始点x0随便设的,我想求phi2的全局最小点,请问请应该怎么做呢?...

就从你这些语句来看,我觉得你写的是对的。
4楼2014-01-06 23:18:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

goodjackzj

新虫 (小有名气)

引用回帖:
4楼: Originally posted by 小米2011 at 2014-01-06 23:18:48
就从你这些语句来看,我觉得你写的是对的。...

已经解决了,是我问题没有描述清楚。
function mf=min(phi2)
h2=[];   %你求出的值
G2=[];   %你求出的值
W2=[];   %你求出的值
mf=(h2-G2*phi2)'*W2*(h2-G2*phi2);

end

fun=@min;
A=[];
b=[];
Aeq=[];
beq=[];
lb=[0 0 0];
ub=[];
nonlcon=[];
x0=phi2;   %初始值
options=optimset('Algorithm','interior-point');

[phi2_min,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options);
5楼2014-01-10 18:24:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

onlymindyou

铁杆木虫 (著名写手)

引用回帖:
5楼: Originally posted by goodjackzj at 2014-01-10 18:24:06
已经解决了,是我问题没有描述清楚。
function mf=min(phi2)
h2=[];   %你求出的值
G2=[];   %你求出的值
W2=[];   %你求出的值
mf=(h2-G2*phi2)'*W2*(h2-G2*phi2);

end

fun=@min;
A=[];
b=[];
Aeq= ...

我遇到的也是变量是矩阵。请问您这个有function的是直接粘进去运行么?为啥我的报错啊,Function definitions are not permitted in this context.
6楼2016-02-02 21:51:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 goodjackzj 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 面上本子正文33页,违规吗?会被低分嘛? +10 1234567wang 2026-05-17 12/600 2026-05-20 16:48 by metal_D
[论文投稿] Sci. Bull. 悲剧经验 +6 jyang1999 2026-05-16 7/350 2026-05-20 16:39 by feng6531
[基金申请] 提交了我也来说说感想 +5 fummck 2026-05-20 5/250 2026-05-20 15:01 by 六两废铜
[基金申请] 今年审到国自然15份,谈谈感受 +19 国自然国社科中 2026-05-17 20/1000 2026-05-20 14:14 by 仲夏夜的星星
[基金申请] 国自然评分 +3 无名者登山 2026-05-20 4/200 2026-05-20 13:29 by vito刘
[基金申请] 评审有感 +13 popular289 2026-05-18 22/1100 2026-05-20 11:28 by 水和泥不是水泥
[有机交流] 如何实现卤原子转化 +3 BT20230424 2026-05-15 8/400 2026-05-20 09:32 by xtlilibin
[基金申请] 河北省自然科学基金 +3 Peterchao 2026-05-18 3/150 2026-05-20 08:57 by 霸_霸
[教师之家] 上海大学实验技术岗位非升即走 +12 嘻嘻哈哈乐呵呵 2026-05-15 13/650 2026-05-20 08:34 by xli1984
[文学芳草园] 献血感触 +6 呀呀好傻 2026-05-19 11/550 2026-05-19 22:26 by 而立得乐
[考博] 云南大学材料与能源学院解琳课题组钙钛矿博士招生 +3 光伏爱好者 2026-05-17 5/250 2026-05-19 19:13 by 光伏爱好者
[基金申请] 2026山东省优青 +3 luckinging 2026-05-14 4/200 2026-05-19 16:15 by 52wls
[考博] 找博士生导师 +6 小代想上岸 2026-05-15 7/350 2026-05-19 10:22 by free_fisher
[基金申请] 同样的基金本子,换个专家直接从C变A! (金币-10) +3 国自然国社科中 2026-05-19 3/150 2026-05-19 08:50 by Equinoxhua
[基金申请] 别被青基扩招骗了!26年科研内卷才刚刚开始 +3 国自然国社科中 2026-05-14 4/200 2026-05-19 08:48 by archvillain
[考博] 2026博士还有哪些学校有名额 +7 小王求读研 2026-05-15 8/400 2026-05-19 08:27 by zhyzzh
[硕博家园] 我在等一个没有答案的答案 +3 Love_MH 2026-05-17 3/150 2026-05-18 02:22 by 竹林孤影
[有机交流] 求助2,4-二氯-5-嘧啶甲醛的合成方法 20+3 光吃不拉 2026-05-14 6/300 2026-05-16 19:46 by Equinoxhua
[硕博家园] 申请博士 +3 呃?呃 2026-05-15 3/150 2026-05-16 11:01 by a4742549
[考博] 26应届毕业生考博求助 +3 wo一定上岸 2026-05-13 3/150 2026-05-14 21:47 by 明海天涯
信息提示
请填处理意见