Reshape a matrix order

2 次查看(过去 30 天)
Aswas
Aswas 2016-5-16
编辑: Aswas 2016-5-16
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 个评论
Jan
Jan 2016-5-16
What is your question? Which error messages do you get? Wher do the "-1" in the output come from?

请先登录,再进行评论。

采纳的回答

Jan
Jan 2016-5-16
With some guessing:
GT = G.';
zi = find(GT == 0);
GT(zi) = Vv;
g = GT.';

更多回答(1 个)

Walter Roberson
Walter Roberson 2016-5-16
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 个评论
Jan
Jan 2016-5-16
@Aswas: Please learn hiow you use the "{} Code" button in the forum's interface. Thanks.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by