sbit stream
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
Walter Roberson
am 24 Apr. 2011
You might find this easier to understand:
w = []; for i = 1:30 w = [w, A(i), B(i), C(i)]; end
2 Kommentare
Weitere Antworten (1)
Walter Roberson
am 24 Apr. 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 Kommentare
Walter Roberson
am 24 Apr. 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(:).';
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!