Sum area integration over latitudes

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

 Accepted Answer

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

3 Comments

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.
it works, but with:
pri=interp1(lat,pr,lati,'spline');
thnx

Sign in to comment.

More Answers (0)

Categories

Find more on Networks in Help Center and File Exchange

Tags

Asked:

on 13 Nov 2017

Commented:

on 15 Nov 2017

Community Treasure Hunt

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

Start Hunting!