Borrar filtros
Borrar filtros

Fill an array in a for loop, with change of dimension

13 visualizaciones (últimos 30 días)
luca
luca el 26 de Jul. de 2019
Editada: KALYAN ACHARJYA el 26 de Jul. de 2019
Hi, I have the following code and I have to fill the array T with y every loop.
y=zeros();
t=0;
nraw=420
for kk = 1:nraw
for iii = 1:length(comb)-1 %% NON MI PIACE IL MENO 1
t=t+1;
if comb(t) == comb(t+1)
y(iii) = 1
else
y(iii) = 2
end
end
T(kk,:)=y
end
The main problem is that length(comb) change every time, and so filling T I receive the following error
Unable to perform assignment because the size of the left side is 1-by-4 and the size of the right side
is 1-by-3.
Error in TAMBURILIMITATI2507 (line 150)
T(kk,:)=y
In fact, for the first iteration length(comb) was 5, but when become 4 the for cycle failed cause I cannot fill T
Do you know how to fix this case?

Respuesta aceptada

KALYAN ACHARJYA
KALYAN ACHARJYA el 26 de Jul. de 2019
Editada: KALYAN ACHARJYA el 26 de Jul. de 2019
"Fill an array in a for loop, with change of dimension"
Use cell array
Example
a={};
for i=1:...
a{i}=
end
Now a{1},a{2} can be any size within loop
Resultant may be look like
a={ array1 array2 array 3 array 4}
Here array1 array2 array 3 array 4...can have any sizes
  10 comentarios
luca
luca el 26 de Jul. de 2019
is it possibile to insert a 0 where there is the fourth element missed and so enable to get a result?
KALYAN ACHARJYA
KALYAN ACHARJYA el 26 de Jul. de 2019
Editada: KALYAN ACHARJYA el 26 de Jul. de 2019
Yes, do it (if required) during array calculations within loop, make them all array having 4 length, lesser fill with 0.
But I have no idea, why you are intended to doing so.
Good Luck!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by