Unequal vectors in one matrix.

Hello all, i have 4 unequal vectors, i want to place them into a one vector or matrix, and then use each element of each vector in one for loop.
C1=[1 1 1 1 2 2 2 2 1 1];
C2=[0 0 0 0 3 3 3 3 ];
C3=[4 4 4 4 5 5 5 5 6 75 5];
C4=[6 5 6 6 7 7 7 7];
Here in the first loop iteration i want to use the first elements of each which is [1 0 4 6] and then second iteration [1 0 4 5] and so on.

2 comentarios

Andy
Andy el 14 de Oct. de 2020
What do you expect when the For loop reaches the 9th iteration and the Vectors C2 and C4 are empty.
Mohannad Alzard
Mohannad Alzard el 14 de Oct. de 2020
I'm sorry i was just editing the question i would like to take the minimum number of elements of one of the vector and trim the others to the minimum size and then use the for loop to extract first elements of each vector.

Iniciar sesión para comentar.

Respuestas (1)

KSSV
KSSV el 14 de Oct. de 2020
Editada: KSSV el 14 de Oct. de 2020

0 votos

C1=[1 1 1 1 2 2 2 2 1 1];
C2=[0 0 0 0 3 3 3 3 ];
C3=[4 4 4 4 5 5 5 5 6 75 5];
C4=[6 5 6 6 7 7 7 7];
iwant = NaN(4,11) ;
iwant(1,1:length(C1)) = C1 ;
iwant(2,1:length(C2)) = C2 ;
iwant(3,1:length(C3)) = C3 ;
iwant(4,1:length(C4)) = C4 ;
Suggested.
C1=[1 1 1 1 2 2 2 2 1 1];
C2=[0 0 0 0 3 3 3 3 ];
C3=[4 4 4 4 5 5 5 5 6 75 5];
C4=[6 5 6 6 7 7 7 7];
C = [{C1}, {C2}, {C3}, {C4}] ;
L = cellfun(@length,C) ;
m = length(C) ;
n = max(L) ;
iwant = NaN(m,n) ;
for i = 1:m
iwant(i,1:length(C{i})) = C{i} ;
end

Categorías

Más información sobre Matrices and Arrays en Centro de ayuda y File Exchange.

Preguntada:

el 14 de Oct. de 2020

Editada:

el 14 de Oct. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by