How to write a Matlab code for a sequence of functionals and their minimums

Let A(α) be a matrix (N ,N) depending on a real parameter α ( α ∈ I_α ) and (f_k )_(k≥1) a sequence of vectors in R^N.
We note by u a vector in R^N. We define the following functional sequence
J_k (α)=‖A(α) f_k - u‖^2 (norme square)
and the sequence of minimums
α_(k+1)=min (J_k) for α ∈ I_α
The vector f_1 and the number α_1 are given. We suppose that k varies from 1 to L with L≥1
Question∶How to write the Matlab code corresponding to the J_k and α_(k+1) sequences ?

6 个评论

The sequence f_k is defined by a reccurence relation.
And on what does this recurrence relation depend ? On f_(k-1),...,f_(k-m) ? On alpha_k ? On the optimal alpha-values of the preceding problems solved alpha_opt_(k-1),...,alpha_opt_(k-m) ?
In this relation, f_k+1 depends on f_k and the matrix A(α_k). By giving f_1 and α_1, the vectors f_k are all well defined.

请先登录,再进行评论。

 采纳的回答

Your code:
number_of_iterations = 3;
A = @(alpha) ...; % Your NxN matrix A depending on alpha
u = ...; % Your Nx1 vector u
f(:,1) = ...; % Your initial Nx1 vector f
alpha0 = ...; % Your initial guess for alpha_opt(1)
for i = 1:number_of_iterations
fun = @(alpha) (A(alpha)*f(:,i)-u).'*(A(alpha)*f(:,i)-u);
[alpha_opt(i),~,exitflag,output] = fminunc(fun,alpha0);
f(:,i+1) = ...; function of A(alpha_opt(i)) and f(:,i) - your recurrence relation
alpha0 = alpha_opt(i);
end

5 个评论

Thanks a lot for the Matlab code..It works well. There is just one small detail left. The alpha parameter is in a determined interval.This is interval I.But this does not appear in the code. So for a small number of iterations, we obtain some minimum values ​​which are not in the interval I. How to add the constraint of belonging to the interval I in the code ?
Does "fminbnd" work for you instead of "fminunc" ?
If not, use "fmincon" with lower and upper bounds lb and ub for the parameter.
If we use fminbnd, what happens for alpha0 ?
Seems fminbnd does not need an initial guess. You only need to specify start and end point of I (assuming I is finite).
I used fminbnd and it worked. Thank you so much.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 General Applications 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by