ignore nan values in plotting
16 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
More Answers (1)
dpb
on 8 Oct 2014
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 Comments
See Also
Categories
Find more on NaNs 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!