how to reshape a matrix?

1 次查看(过去 30 天)
navid zed
navid zed 2016-12-27
编辑: Stephen23 2016-12-27
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 个评论
José-Luis
José-Luis 2016-12-27
编辑:José-Luis 2016-12-27
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 2016-12-27
编辑:Stephen23 2016-12-27
@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?

请先登录,再进行评论。

回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by