Reshape a matrix order

2 visualizzazioni (ultimi 30 giorni)
Aswas
Aswas il 16 Mag 2016
Modificato: Aswas il 16 Mag 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 Commento
Jan
Jan il 16 Mag 2016
What is your question? Which error messages do you get? Wher do the "-1" in the output come from?

Accedi per commentare.

Risposta accettata

Jan
Jan il 16 Mag 2016
With some guessing:
GT = G.';
zi = find(GT == 0);
GT(zi) = Vv;
g = GT.';
  1 Commento
Aswas
Aswas il 16 Mag 2016
Modificato: Aswas il 16 Mag 2016
Thanks Jan, Walter.

Accedi per commentare.

Più risposte (1)

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

Accedi per commentare.

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by