Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

??? Index exceeds matrix dimensions. Error in ==> Untitled at 267 if length(W{i})==0;

2 vues (au cours des 30 derniers jours)
Tomas
Tomas le 1 Déc 2013
Clôturé : MATLAB Answer Bot le 20 Août 2021
{1x3 cell} {1x2 cell} {1x4 cell}
W{2}{1}={[1 2],[],[2 5 3]}
for i=1:size(W,2)
if length(W{i})==0;
W(cellfun('isempty',W))=[];%odstranenie prazdnych miest
else
%zmaze prazdne miesta v poli
W{i}(cellfun(@isempty,W{i})) = [];
end
end
W
I want to delete empty place in cell,2 events may occur once Z ={1x3 cell} [] {1x2 cell} [] {1x4 cell} or can be Z{1}= [1x3 double] [1x3 double] [1x3 double] [] []
Thanks.

Réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 1 Déc 2013
Try this
idx=cellfun(@isempty,W{2}{1});
W{2}{1}(idx)=[]
  5 commentaires
Azzi Abdelmalek
Azzi Abdelmalek le 1 Déc 2013
I will give an example
W{1}{1}={[] 1:3 3:5 1:3 [] }
W{2}{1}={[] [] 1:3 1:3 }
idx=cellfun(@isempty,W{2}{1});W{2}{1}(idx)=[]
celldisp(W{2})
Tomas
Tomas le 1 Déc 2013
i need when i have Z=[] {1x3 cell} {1x2 cell} i want to delete [] if length(Z(1))==0 error message
? Undefined function or method 'eq' for input arguments of type 'cell'.

Cette question est clôturée.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by