Reshape a matrix order

2 vues (au cours des 30 derniers jours)
Aswas
Aswas le 16 Mai 2016
Modifié(e) : Aswas le 16 Mai 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 commentaire
Jan
Jan le 16 Mai 2016
What is your question? Which error messages do you get? Wher do the "-1" in the output come from?

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 16 Mai 2016
With some guessing:
GT = G.';
zi = find(GT == 0);
GT(zi) = Vv;
g = GT.';
  1 commentaire
Aswas
Aswas le 16 Mai 2016
Modifié(e) : Aswas le 16 Mai 2016
Thanks Jan, Walter.

Connectez-vous pour commenter.

Plus de réponses (1)

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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by