merge six columns with zeros step by step end of each one
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
solleti prabhakarchary
el 7 de Ag. de 2022
A=[1 2 3 6 ];
B=[4 5 5 6 9 8 7 6 9 6 8 6 9];
D=[4 1 2 3 5 68 9 6 9 6 9 6 9 6 9 63 45 82 85 96 74 52 63 10 30 23 65 6 66 33 66 ];
E=[5 4 6 5 4 8 9 6 9 6 8 6];
F=[4 8 9 7 8 6 9 6 8 2 21 3 6 56 36];
G=[7 8 9 9 6 8 6 45 25 33 66 33 14 25 36 36 12];
A1=[A;zeros(size(A))]';
B1=[zeros(size(B));B]';
D1=[zeros(size(D));D]';
E1=[zeros(size(E));E]';
F1=[zeros(size(F));F]';
G1=[zeros(size(G));G]';
C=[A1;B1;D1;E1;F1;G1]
i would like to get in nx6 columns .
1 0 0 0 0 0
2 0 0 0 0 0
3 0 0 0 0 0
6 0 0 0 0 0
0 4 0 0 0 0
0 5 0 0 0 0
0 5 0 0 0 0
0 6 0 0 0 0
0 9 0 0 0 0
0 8 0 0 0 0
0 7 0 0 0 0
0 6 0 0 0 0
0 9 0 0 0 0
0 6 0 0 0 0
0 8 0 0 0 0
0 6 0 0 0 0
0 9 0 0 0 0
0 0 4 0 0 0
0 0 1
0 2
0 3
0 5
0 68
0 9
0 6
0 9
6
9
6
9
6
9
63
45
82
85
96
74
52
63
10
30
23
65
6
66
33
66
In this way need to get how to write program .Please help me in this. Thank you.
0 comentarios
Respuesta aceptada
dpb
el 7 de Ag. de 2022
Editada: dpb
el 7 de Ag. de 2022
It would be far easier to write code if you would use cell array for the existing data instead of a bunch of named variables -- but, the way to build the array would be to compute the total length by adding numel() of all to determine the ending array size and allocate it...then place each vector where it belongs in the array.
N1=numel(A);
N2=numel(B);
...
N=N1+N2+...
O=zeros(N,6);
O(1:N1,1)=A;
O(N1+1:N1+N2+1,2)=B;
...
You can see the pattern; if you had all in a cell array of a given name, then you could write a loop that would address each in turn instead of writing out each explicitly...
A={[1 2 3 6 ];
[4 5 5 6 9 8 7 6 9 6 8 6 9];
[4 1 2 3 5 68 9 6 9 6 9 6 9 6 9 63 45 82 85 96 74 52 63 10 30 23 65 6 66 33 66 ];
[5 4 6 5 4 8 9 6 9 6 8 6];
[4 8 9 7 8 6 9 6 8 2 21 3 6 56 36];
[7 8 9 9 6 8 6 45 25 33 66 33 14 25 36 36 12]};
N=cellfun(@numel,A);
B=zeros(sum(N),numel(A));
i1=1;
for i=1:numel(A)
B(i1:i1+N(i)-1,i)=A{i};
i1=i1+N(i);
end
Caution, air code -- untested...
2 comentarios
Bruno Luong
el 7 de Ag. de 2022
indeed, you must specify different number of colums
B=zeros(sum(N,numel(A)))
Más respuestas (0)
Ver también
Categorías
Más información sobre Data Types 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!