Optimization with genetic algorithm

I have this objective function :
E = @(x,y) norm((d(x)-r(x).*y).^2);
I want to optimize vector 'y' using ga ,
if 'd' and 'r' is complex function and 'y' is complex coefficient
I tried with many methods in matlab for find objectiv function appropriate with genetic algorithm,
such as the objective function 'E'.

6 Kommentare

Walter Roberson
Walter Roberson am 27 Apr. 2018
Is x constant for this purpose? Is x a complex scalar or a complex vector? Is y a complex scalar or a complex vector? Are you trying to find an (x,y) pair that leads to minimal E?
Johan Johan
Johan Johan am 27 Apr. 2018
x : is interval [-1 1] (integral E), and y is vector have complex valued ,i want to find just 'y' for leads to minimal E. Is this information correct or contradictory because I am still searching.
Walter Roberson
Walter Roberson am 27 Apr. 2018
At any one invocation, is x a scalar or a vector? Is a particular value for x input, or does the x have to be found? Could you confirm that d(x) and r(x) return complex vectors that are the same length as the y being searched for? And could you confirm that you are searching for a vector y, not a scalar y?
Johan Johan
Johan Johan am 27 Apr. 2018
x is scalar and it is given,the problem in y because is complex vector ,and then the result of E is complex but the objective function must be return a scalar for using function handle and this helps in the use of genetic algorithm,am I correct? correct me if I'm wrong.
The objective function does need to return a real-valued scalar.
I am trying to understand what the various lengths involved are.
If x is a given scalar (at the time of any given optimization) then that implies that d(x) and r(x) can be computed ahead of time. Let
D = d(x);
R = r(x);
then
E = @(y) norm((D-R.*y).^2);
and we know that D and R and y are complex.
But I am not clear as to whether D and R are (complex) scalars, or if they are vectors, and if y will be a vector or a scalar ?
At the moment I am suspecting that the problem can be solved in other ways.
If
d=exp(-j*x*n);
r=exp(-j*x*(0:n));
I continue to search and i want to round you the correct information as far as I understand, if you encounter things not logical ,tell me , and thank you for your feedback.

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Gefragt:

am 27 Apr. 2018

Kommentiert:

am 28 Apr. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by