Hi,
I am trying to interpolate vector pr to 0.05 lat grid, a problem arise when I interpolate it to fit from 30 degrees South to 30 degrees North (phi), some values of the interpolation are NAN (Because of negative phi values)!!!! then I am trying to sum the following:
p=sum over 30 degrees south to 30 degree North of (p(i) cos(i)) where i is the latitudes
% close all
clear all
pr=ncread('data.nc','pr');
lat=1:32;
phi=(-30:0.05:30);
prl = interp1(lat,pr,phi,'linear');
%plot(lat,pr,'o')
%hold on
plot(phi,prl,':.');
n=1201;
ptot=0;
for i=n;
p=prl(i)*cos(phi);
ptot=ptot+p;
end

 채택된 답변

KSSV
KSSV 2017년 11월 13일
편집: KSSV 2017년 11월 13일

0 개 추천

USe:
prl = interp1(lat,pr,phi,'linear',1);
It does extrapolation also. If still is not working. Attach your .nc file here.

댓글 수: 3

Nadine
Nadine 2017년 11월 13일
Doesn't work, here's the pr file, you don't need the entire nc file
Try spline instead of interp1
prl = spline(lat,pr,phi);
Remember always extrapolation is not suggested..you are extrapolating values to a large range.
Nadine
Nadine 2017년 11월 15일
it works, but with:
pri=interp1(lat,pr,lati,'spline');
thnx

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

태그

질문:

2017년 11월 13일

댓글:

2017년 11월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by