Borrar filtros
Borrar filtros

Optimization problem using Quasi Newton method

3 visualizaciones (últimos 30 días)
christina
christina el 24 de Jun. de 2018
Comentada: christina el 25 de Jun. de 2018
Given x_t and c_mn, the objective function is defined as:
I am trying to solve the above objective function for theta using quasi newton method. But there seem to be some problem with my code as it's not working. Could somebody please help me with this?
Following is my matlab code:
Code for defining objective function:
function f = objfuntc(x_t,c_mn,theta )
L = length(x_t );
[M,N] =size(c_mn);
f = 0 ;
for t = 1:L
xs = 0 ;
for n = 1:N
for m=1:M
xs = xs + c_mn(m,n)*exp(1i*2*pi*m*(t - n -2) + theta);
end
end
f = f + (x_t(t) - xs)^2 ;
end
Code for calling objective function:
x_t = rand(16,1 );
L = length(x_t);
a = 1;
M = L;
c = rand(M*L/a,1 );
c_mn=reshape(c,[M,L/a]);
J = @(theta) objfuntc(x_t,c_mn,theta )
theta0 = 10 ;
options = optimoptions('fminunc','Algorithm','quasi-newton ');
[theta, thetaval] = fminunc(J,theta0,options)
  12 comentarios
Torsten
Torsten el 25 de Jun. de 2018
I complemented my comment.
christina
christina el 25 de Jun. de 2018
Thank you so much! That fixed everything.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by