用拉格朗日乘子优化

时间:2015-10-31 17:00:21

标签: matlab optimization symbols integral

我有一个优化问题,我必须使用拉格朗日乘数来解决。 我有以下代码:

clear all
clc
p = @(r,sig) (r./sig.^2) .* exp(-r.^2/2*(sig.^2));
sig = 1;
Pa = 1;
Pc = 20;
a = 0.5;
b = 1;
phi = @(h_AB,h_AC,h_CB) abs(h_AB).^2 +((b .* a.^2*abs(h_AC).^2 .* abs(h_CB).^2)
    .* Pc ./ (1 + b * a .^2 .* abs(h_CB) .^2 * Pc));
f1 = @(h_AB,h_AC,h_CB) .5*log((1+phi(h_AB,h_AC,h_CB)*Pa)/(1+abs(h_AC).^2*Pa));
f2 = @(h_AB,h_AC,h_CB) f1(h_AB,h_AC,h_CB) .* p(h_AB,sig) .* p(h_AC,sig).*  (h_CB,sig);
q = integral3(f2,-inf,inf,-inf,inf,-inf,inf);

我定义的常量b应该是变量(qb的函数),以便我在下一步中找到e = jacobian(q,[b]);

问题在于我无法将b定义为符号,而其他函数不是符号的,当我以符号形式定义所有函数时,我的内存解析e = jacobian(q,[b]); < / p>

0 个答案:

没有答案