wlqsljl
2010-11-11, 14:35
大家帮我看看下面程序中带约束的非线性最小化问题对应的matlab程序问题出在哪里?
原问题:
任意输入三个矩阵A1、A2、A3,求三维向量w,使得inv(w(1)*inv(A1)+w(2)*inv(A2)+w(3)*inv(A3))在w(1)+w(2)+w(3)=1的条件下最小,其中w的初始点为[0.33,0.34,0.33]
程序:
function [C, w]=CI_mine(A1,A2,A3)
A1i=inv(A1);
A2i=inv(A2);
A3i=inv(A3);
f=inline('1/trace(A1i*w(1)+A2i*w(2)+A3i*w(3))','w','A1i','A2i','A3i');
w=fmincon(f,[0.33, 0.34,0.33],[],[],[1,1,1],[1],A1,A2,A3);
% New covariance
C=inv(A1i*omega(1)+A2i*omega(2)+A3i*omega(3));
关键是fmincon老报错
请指点
原问题:
任意输入三个矩阵A1、A2、A3,求三维向量w,使得inv(w(1)*inv(A1)+w(2)*inv(A2)+w(3)*inv(A3))在w(1)+w(2)+w(3)=1的条件下最小,其中w的初始点为[0.33,0.34,0.33]
程序:
function [C, w]=CI_mine(A1,A2,A3)
A1i=inv(A1);
A2i=inv(A2);
A3i=inv(A3);
f=inline('1/trace(A1i*w(1)+A2i*w(2)+A3i*w(3))','w','A1i','A2i','A3i');
w=fmincon(f,[0.33, 0.34,0.33],[],[],[1,1,1],[1],A1,A2,A3);
% New covariance
C=inv(A1i*omega(1)+A2i*omega(2)+A3i*omega(3));
关键是fmincon老报错
请指点