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 件のコメント
Aswas
Aswas 2016 年 5 月 16 日
編集済み: Aswas 2016 年 5 月 16 日
Thanks Jan, Walter.

サインインしてコメントする。

その他の回答 (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 Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by