Info
Questa domanda è chiusa. Riaprila per modificarla o per rispondere.
removing cells that satisfy a specific condtion
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hello everyone. I have a cell array, from which the cells contain a matrix. I want to remove the cells for which, lets say inv(cell{i}'*cell{i}) gives a warning message that matrix is almost singular. is there a way to do this? I would really appreciate if someone knows how to do this
0 Commenti
Risposte (1)
Azzi Abdelmalek
il 15 Gen 2013
Modificato: Azzi Abdelmalek
il 15 Gen 2013
for k=1:numel(A) % A is you cell array
try
a=inv(A{k}'*A{k})
out{k}=A{k} % out is the result
catch err
end
end
5 Commenti
Brian B
il 15 Gen 2013
You could also use Azzi's code if you force the warning you expect to be handled like an error, as discussed at http://undocumentedmatlab.com/blog/trapping-warnings-efficiently/.
Azzi Abdelmalek
il 15 Gen 2013
Modificato: Azzi Abdelmalek
il 15 Gen 2013
look at this example
A={[1 2 3 0 0 0; 0 0 0 0 0 0], randi(16,4)}
l=0;
for k=1:numel(A) % A is you cell array
try
a=inv(A{k})
l=l+1
out{l}=A{k} % out is the result
catch err
end
end
out
% the first matrix is not square, can't be reversed, then it will not apear in out array.
% I am not sure if the message "matrix is almost singular" is considered as an error mesage
Questa domanda è chiusa.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!