Unrecognized function or variable error code help required

2 visualizaciones (últimos 30 días)
Karim Wahdan
Karim Wahdan el 22 de En. de 2021
Comentada: Jan el 23 de En. de 2021
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

Respuestas (1)

Tayyab Khalil
Tayyab Khalil el 22 de En. de 2021
This is because A_i is undefined in the code but is being used. What value do you want it to have?
  8 comentarios
Karim Wahdan
Karim Wahdan el 22 de En. de 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 el 23 de En. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Mathematics en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by