MATLAB Answers

Least mean square optimization problem

5 ビュー (過去 30 日間)
Vinod
Vinod 2015 年 4 月 28 日
コメント済み: Torsten 2015 年 4 月 29 日
I have the following code for least mean square solution for AF:
thetaDeg = 0:57;
theta = thetaDeg*pi/180;
N = 16;
lambda = 0.1;
dy = 0.5*lambda;
n = 1:N;
yn = (n - 0.5*(N+1))*dy;
AF = [0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.63 0.57 0.29 0.23 0.20 0.17 0.15 0.14 0.12 0.11 0.10 0.10 0.09 0.09 0.08 0.08 0.07 0.07 0.07 0.06 0.06 0.06 0.06 0.00 0.00 0.00];
A = exp(2*pi*1j/lambda*sin(theta')*yn);
w = A \ fliplr(AF)';
How can I impose that the elements of w be of unit magnitude. ie abs(w(i)) = 1. for all i.

回答 (3 件)

Greig
Greig 2015 年 4 月 28 日
You will have to add a non-linear constraint to the problem. I guess the best option would be to use something like fmincon if you have the optimization toolbox.
  1 件のコメント
John D'Errico
John D'Errico 2015 年 4 月 28 日
No. This is NOT correct at all.
Fmincon cannot handle that class of constraint, since that makes the problem a solve over a finite discrete set. Constraining W to be integers in the set [-1,1] is a nonlinear integer programming problem.

サインインしてコメントする。


John D'Errico
John D'Errico 2015 年 4 月 28 日
This is a nonlinear integer programming problem. The optimization toolbox does not yet have a tool to solve that class of problem.
I think you will find it solvable by the genetic algorithms toolbox though. You can also find fminconset.m on the file exchange, which does allow the parameters to be defined as discrete parameters.

Vinod
Vinod 2015 年 4 月 29 日
編集済み: Vinod 2015 年 4 月 29 日
__This is a nonlinear integer programming problem. The optimization toolbox does not yet have a tool to solve that class of problem.
I think you will find it solvable by the genetic algorithms toolbox though. You can also find fminconset.m on the file exchange, which does allow the parameters to be defined as discrete parameters.__
Can you guide me how can I pose my problem to Genetic algorithm toolbox.
  1 件のコメント
Torsten
Torsten 2015 年 4 月 29 日
I don't think that it's an integer programming problem. The w_i's are complex, I guess. Thus the optimization is over {x^2+y^2=1}.
Could you post your Problem in a mathematical notation, not in MATLAB code ?
I mean could you specify f in
minimize f(w1,...,wn) s.t. |wi| = 1
?
Best wishes
Torsten.

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by