how to reshape a matrix?

3 views (last 30 days)
navid zed
navid zed on 27 Dec 2016
Edited: Stephen23 on 27 Dec 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 Comments
José-Luis
José-Luis on 27 Dec 2016
Edited: José-Luis on 27 Dec 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 on 27 Dec 2016
Edited: Stephen23 on 27 Dec 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?

Sign in to comment.

Answers (1)

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

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!