ignore nan values in plotting
16 次查看(过去 30 天)
显示 更早的评论
Hi!
I need your help please!
I have to plot columns with nan values. I want to ignore the nan. I have the table LOGIR who contains 2048 columns and the table XMEAN with one column. The XMEAN has no nan values. The LOGIR has nan. I want to plot XMEAN with each column of the LOGIR and then i do fitting linear. The problem is that the equation of line is y=nanx+nan, because include the nan values. How can i ignore the nan values??
My script is:
for k=159:100:2048
p=polyfit(XMEAN,LOGIR(:,k),1);
yfit=polyval(p,XMEAN);
figure(k);
plot(XMEAN,LOGIR(:,k),'.',XMEAN,yfit,'r');
gtext(['y=',num2str(p(1)),'x+',num2str(p(2))])
xlabel('airmass')
ylabel('logirradiance')
print(sprintf('Figure(%d).bmp',k), '-dbmp')
end
Thank you
0 个评论
采纳的回答
更多回答(1 个)
dpb
2014-10-8
In your loop over the columns
for k=159:100:2048
p=polyfit(XMEAN,LOGIR(:,k),1);
yfit=polyval(p,XMEAN);
handle the NaNs before trying to fit...
for k=159:100:2048
ix=isfinite(LOGIR(:,k)); % indices of the non-NaN (finite) values
x=XMEAN(ix); y=LOGIR(ix,k); % save in a temporary array
p=polyfit(x,y,1);
yfit=polyval(p,x);
...
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 NaNs 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!