How to apply a bound constraint on a complex power vector

조회 수: 1 (최근 30일)
I am trying to optimize a complex power vector with where and is a complex number greater than 0. I have implemented bound constraints as . But, after the optimization is complete, the Pareto front contains vector like ( ) . I can not make sense out them as power vector , to me, should not be a negative value especially the real part. Am I missing something? I would appreciate any helpful advice, comment or hint.

채택된 답변

Thiago Henrique Gomes Lobato
Thiago Henrique Gomes Lobato 2019년 10월 13일
편집: Thiago Henrique Gomes Lobato 2019년 10월 14일
Saying that a complex number is bigger than the other is not so simple, you're comparing the magnitue? The real part? The imaginary part? It actually can't be done in a standardized way for all cases and thus matlab uses what I believe to be the most used one, which is to compare the magnitude. Therefore when you compare max(S,0), S will always be greater, because it magnitude will be greater then 0 for all values that aren't zero. You can solve that problem by comparing the real and imaginary part by separately:
s = -0.0456-1j*0.3456;
Tmax = 10+1j*10;
Tmin= 0;
% Complex comparison (Magnitude is compared)
ComplexCompariosn = min(max(Tmin,s),Tmax)
% Individual Comparison
IndividualComparison = min(max(real(Tmin),real(s)),real(Tmax)) +...
1j*min(max(imag(Tmin),imag(s)),imag(Tmax))
ComplexCompariosn =
-0.0456 - 0.3456i
IndividualComparison =
0

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by