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

Is u given or unknown, too ?
And the f_k are also given or unknown ?
The sequence f_k is defined by a reccurence relation.
Torsten
Torsten 2024년 4월 3일
편집: Torsten 2024년 4월 3일
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.

댓글을 달려면 로그인하십시오.

 채택된 답변

Torsten
Torsten 2024년 4월 3일
편집: Torsten 2024년 4월 3일
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에서 Encryption / Cryptography에 대해 자세히 알아보기

질문:

2024년 4월 3일

댓글:

2024년 4월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by