Reshape a matrix order

2 views (last 30 days)
Aswas
Aswas on 16 May 2016
Edited: Aswas on 16 May 2016
Hi,
Vv =
1
2
3
4
5
6
7
8
9
and have transposed onto :
g =
-1 -1 -1 -1 -1 -1 -1
-1 1 3 5 0 0 8
-1 2 4 6 7 0 9
and using
Ans(zi) = reshape([Vv'], [], 1)'; to get reshaped to:
-1 -1 -1 -1 -1 -1 -1
-1 1 2 3 0 0 4
-1 5 6 7 8 0 9
but keep getting error.
  1 Comment
Jan
Jan on 16 May 2016
What is your question? Which error messages do you get? Wher do the "-1" in the output come from?

Sign in to comment.

Accepted Answer

Jan
Jan on 16 May 2016
With some guessing:
GT = G.';
zi = find(GT == 0);
GT(zi) = Vv;
g = GT.';
  1 Comment
Aswas
Aswas on 16 May 2016
Edited: Aswas on 16 May 2016
Thanks Jan, Walter.

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 16 May 2016
You are reshaping the row vector Vv' to be a row vector and the transposing it to a column vector, ending up back with the same Vv column vector you started from. You then try to store that entire column vector at the location Ans(zi) . If zi is not a column vector of the same length as Vv, that is going to be an error.
You should avoid using a variable named Ans as it could easily be confused with ans
  1 Comment
Jan
Jan on 16 May 2016
@Aswas: Please learn hiow you use the "{} Code" button in the forum's interface. Thanks.

Sign in to comment.

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!