如何用Matlab中的一系列和最小化目标函数?

时间:2019-04-19 08:59:22

标签: matlab mathematical-optimization

我正在尝试最小化MATLAB中的以下优化问题(对丑陋的形式表示抱歉,但显然我需要更高的声誉才能发布图像):

w * = argmin f(w)= \ sum_ {i = 1} ^ {n} \ sum_ {j = 1} ^ {n}(w_i(Cw)_i-w_j(Cw)_j)^ 2 s.t. 1 ^转置* w 0 <= w <= leq1

w是维氏的1xn向量,C是nxn协方差矩阵。

现在我已经明白了:

w0 = [0.25, 0.25, 0.25, 0.25];

Aeq = ones(1, port_size);
beq = 1;

lb = zeros(1, port_size);
ub = ones(1, port_size);

fun_rp = @(w) 
for i = 1:port_size
    for j = 1: port_size
        (w(1,i)*(C*w(1,i)')-w(1,j)*(C*w(1,j)'))^2;
    end
end

然后我想将变量放入fmincon函数中以解决问题。

但是不知何故,我收到一条错误消息,说fun_rp是未定义的函数或变量。有人知道如何解决这个问题吗?

最诚挚的问候

0 个答案:

没有答案