how to reshape a matrix?

1 Ansicht (letzte 30 Tage)
navid zed
navid zed am 27 Dez. 2016
Bearbeitet: Stephen23 am 27 Dez. 2016
I have a matrix that it is 321*531. It includes NaN values, which i have to eliminate them. Thus, I used this code:
m=~isnan(x);
v=x(m)';
then it turned to 1*75638. I wanna reshape it to 321*531,but I don't know how can I do this.I have tried reshape function,but it doesn't work.
please help me. thanks
  2 Kommentare
José-Luis
José-Luis am 27 Dez. 2016
Bearbeitet: José-Luis am 27 Dez. 2016
Well, if there are NaN's and you eliminate them, your matrix can not keep its same shape unless you replace them with something else. What's it gonna be?
Stephen23
Stephen23 am 27 Dez. 2016
Bearbeitet: Stephen23 am 27 Dez. 2016
@navid zed: the number of elements that you have 75638 is not divisible by the number of rows that you want 321:
>> 75638/321
ans = 235.63
What do you imagine happening, should MATLAB magically invent some data to fill in the gap?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

adi kul
adi kul am 27 Dez. 2016
If you are okay with replacing NaN values with Zeros then:
A(isnan(A))=0
Here A will be your matrix.

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by