sbit stream
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
w= 1 0 1
w= 0 1 1
w= 0 1 0
how came this can be written in straight line
w= 1 0 1 0 1 1 0 1 0
0 comentarios
Respuesta aceptada
Walter Roberson
el 24 de Abr. de 2011
You might find this easier to understand:
w = []; for i = 1:30 w = [w, A(i), B(i), C(i)]; end
2 comentarios
Más respuestas (1)
Walter Roberson
el 24 de Abr. de 2011
It cannot. The first one assigns the row vector [0 1 0] to w, but the second one assigns a row vector of length 9 to w.
If your original data is a 3 x 3 matrix instead, then
w = reshape(w.',1,numel(w));
7 comentarios
Walter Roberson
el 24 de Abr. de 2011
N = 30;
w = reshape([reshape(A(1:N),1,N); reshape(B(1:N),1,N); reshape(C(1:N),1,N)], 1, 3*N);
The above does not assume that A, B, or C are row vectors or column vectors. If the shapes are known and consistent, the code can be simplified -- especially if you are putting together _all_ of the vector instead of just a subset of it.
For example, if they are all row vectors and you are using all of them, then
w = [A;B;C]; w = w(:).';
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!