Unrecognized function or variable error code help required

7 visualizzazioni (ultimi 30 giorni)
I have created code on low rank assumption using nuclear norm using CVX. I am getting the following error code -
Unrecognized function or variable 'A_i'.
Error in Untitled3 (line 21)
y(i_m) == trace(A_i)*Xe;
here is my code any help will be appricated
r = 2; % the rank;
n = 4; % the dimension
a = randn(n,r);
b = randn(n,r);
X = a*b'; % low rank Matrix;
m=fix(n^2-1);
A = randn(n, n);
y = trace(A*X);
% low rank approximation using nuclear norm
cvx_begin
variable Xe(n,m)
minimize norm_nuc(Xe)
subject to
A*Xe == y
cvx_end
for i_m = 1 : m
y(i_m) == trace(A_i*Xe);
end
error = norm(X-Xe)
for m = 1 : 10 : n^2
for mc = 1 : MONTE_CARLO
% Generate measurements
y = zeros(m, 1);
for i_m = 1 : m
A_i = randn(n, n);
y(i_m) = trace(A_i*X);
end
% Solve problem
% Store results
end
end

Risposte (1)

Tayyab Khalil
Tayyab Khalil il 22 Gen 2021
This is because A_i is undefined in the code but is being used. What value do you want it to have?
  8 Commenti
Karim Wahdan
Karim Wahdan il 22 Gen 2021
@Jan Ok I want A_i to be the value 10. How would I put this into my code and fix my "matrix needs to be squared" error
Jan
Jan il 23 Gen 2021
Of course you should do this by:
A_i = 10;
Please post the complete error message and the corresponding code. I cannot guess where this error occurs.

Accedi per commentare.

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by