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

 Respuesta aceptada

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

3 comentarios

Nadine
Nadine el 13 de Nov. de 2017
Doesn't work, here's the pr file, you don't need the entire nc file
KSSV
KSSV el 13 de Nov. de 2017
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 el 15 de Nov. de 2017
it works, but with:
pri=interp1(lat,pr,lati,'spline');
thnx

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Networks en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 13 de Nov. de 2017

Comentada:

el 15 de Nov. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by