sbit stream

6 views (last 30 days)
mahaveer hanuman
mahaveer hanuman on 24 Apr 2011
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

Accepted Answer

Walter Roberson
Walter Roberson on 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 Comments
Oleg Komarov
Oleg Komarov on 24 Apr 2011
Seriously :)?
Walter Roberson
Walter Roberson on 24 Apr 2011
Yup. Get it working first, and *then* optimize it.

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 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 Comments
Walter Roberson
Walter Roberson on 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(:).';
mahaveer hanuman
mahaveer hanuman on 24 Apr 2011
thanks its working

Sign in to comment.

Categories

Find more on Physics in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!