how to make all vectors to equal size for a cell array.
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Sandhu
el 10 de Oct. de 2011
Editada: per isakson
el 1 de Dic. de 2017
hi, i have a cell array of z{k}, it has totally 60 cells. which are diffident size in columns. so while i am trying to plot all arrays data in a single plot,[plot(z{1}) it works for one cell.] it says all vectors must have same size.
plot(z{:})
??? Error using ==> plot
Vectors must be the same lengths.
so, i want to make equal size of vectors by placing zeros. so any one can please help me.
0 comentarios
Respuesta aceptada
Fangjun Jiang
el 10 de Oct. de 2011
It might be easier using a for-loop, with hold on;
figure;hold on;
for k=1:length(z)
plot(z{k});
end
Más respuestas (1)
Laura Proctor
el 10 de Oct. de 2011
lv = max(cellfun(@length,z));
za = zeros(1,lv);
for idx = 1:length(z)
cellVal = z{idx};
if length(cellVal) < lv
z{idx} = za;
z{idx}(1:length(cellVal)) = cellVal;
end
end
2 comentarios
Ver también
Categorías
Más información sobre Elementary Math 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!