필터 지우기
필터 지우기

How to optimize a linear system of complex-valued equations

조회 수: 4 (최근 30일)
Proman
Proman 2020년 10월 27일
편집: Proman 2020년 10월 28일
Hello everyone
I have a linear system of complex-valued equations as follows
ax + by = c
dx + ey = f
where a,b,c,d,e, and f are complex-valeued coefficients and x and y are my complex-valued unkonwns. I intend to conduct an algorithm like genetic algorithm to optimize "a" and "e" to get the optimized (min for example) value of "y". Would you please help me how I can manage to do this? thanks in advance for your time devoted to this question.
  댓글 수: 5
Proman
Proman 2020년 10월 28일
편집: Proman 2020년 10월 28일
Well that's absolutely correct but I have constraints for my decision variables. In other words, I intend to run the optimization process using an standard algorithm like genetic algorithm or PSO. In that way, how can I accomplish my optimization?
Proman
Proman 2020년 10월 28일
편집: Proman 2020년 10월 28일
This is my main problem. Ro1 matrix is the coeffient maatrix which is 8*8. and it has 8 unknows. I want to optimize R1(4) + R1(7) to minimze cost function for 1<g3<2 and 1<Oc1<4.
%%%Part I ==> Constants Input
format long
g2 = 3.5155;
g3 = g2;
g1 = 0;
CP = 200;
Oc1 = 0;
k = 10000;
%%Part II => Bistability Relation, Im and Re part of Rho21 based on
% different values of Oc (D21=D32=0)
%%Preallocating Matrices
G21 = zeros(1,k);
G2 = zeros(1,k);
G3 = zeros(1,k);
G1 = zeros(1,k);
G31 = zeros(1,k);
G32 = zeros(1,k);
OC1 = zeros(1,k);
rho1 = zeros(1,k);
cost = zeros(1,k);
y2 = zeros(1,k);
y3 = zeros(1,k);
C = zeros(1,k);
wp = zeros(1,k);
OP = linspace(0,50,k);
for j = 1 :k
G2(1,j) = g2;
G3(1,j) = g3;
G1(1,j) = g1;
G21(1,j) = (G1(1,j) + G2(1,j)) ./ 2;
G32(1,j) = (G3(1,j) + G2(1,j)) ./ 2;
G31(1,j) = (G3(1,j) + G1(1,j)) ./ 2;
OC1(1,j) = Oc1;
C(1,j) = CP;
Ro1 = [-G2(1,j) -(1i*OP(1,j)) 0 (1i*OP(1,j)) 0 0 0 -G2(1,j);
-(2i*OP(1,j)) (-1i*wp(1,j)-G21(1,j)) -(1i*OC1(1,j)) 0 0 0 0 -(1i*OP(1,j));
0 -(1i*OC1(1,j)) (-1i*wp(1,j)-G31(1,j)) 0 (1i*OP(1,j)) 0 0 0;
(2i*OP(1,j)) 0 0 (1i*wp(1,j)-G21(1,j)) 0 (1i*OC1(1,j)) 0 (1i*OP(1,j));
(1i*OC1(1,j)) 0 (1i*OP(1,j)) 0 -G32(1,j) 0 0 (2i*OC1(1,j));
0 0 0 (1i*OC1(1,j)) 0 (1i*wp(1,j)-G31(1,j)) -(1i*OP(1,j)) 0;
-(1i*OC1(1,j)) 0 0 0 0 -(1i*OP(1,j)) -G32(1,j) -(2i*OC1(1,j));
0 0 0 0 (1i*OC1(1,j)) 0 -(1i*OC1(1,j)) -G3(1,j)];
B1 = [-G2(1,j);-(1i*OP(1,j));0;(1i*OP(1,j));(1i*OC1(1,j));0;-(1i*OC1(1,j));0];
R1 = Ro1 \ B1;
rho1(1,j) = R1(4) + R1(7);
%input-output relation : |x| in terms of |y|
cost(1,j) = (2 .* OP(1,j)) - (1i .* C(1,j) .* rho1(1,j));
end
%%%Part III ==> Plotting
figure
plot(abs(cost),OP)
xlabel('input |y|')
ylabel('output |x|')

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Online Estimation에 대해 자세히 알아보기

제품


릴리스

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by