Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

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

1 visualizzazione (ultimi 30 giorni)
{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.

Risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 1 Dic 2013
Try this
idx=cellfun(@isempty,W{2}{1});
W{2}{1}(idx)=[]
  5 Commenti
Azzi Abdelmalek
Azzi Abdelmalek il 1 Dic 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 il 1 Dic 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'.

Questa domanda è chiusa.

Community Treasure Hunt

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

Start Hunting!

Translated by