Interpolation de températures de surface sur des heures modis

Fermé
safa2790 Messages postés 3 Date d'inscription mercredi 3 juin 2015 Statut Membre Dernière intervention 17 mai 2018 - 4 juin 2015 à 16:57
Bonjour,

bonjour a tous,

je suis nouvelle sur Matlab et j'aurai besoin de votre aide.
je travaille sur les températures de la surface de la terre. et j'aurai besoin d'un code matlab pour pouvoir les interpoler.
voila mes donnés j'ai un fichier excel contenant les jours et les heures et les températures de végétations et du sol et autre fichier excel contenant les heures et les jours avec les quels je veux interpoler mes températures.

voila j'ai essayé de faire un truc mais je sais pas si c'est correct ou pas?

clc;
clear all;
input = xlsread('dayy.xls');
input1 = xlsread('TS.xls');
input2 = xlsread('TV.xls');


n = size(input,1);
m = size(input1,1);
k = size(input2,1);

% jour et heure Modis
daymodis(1:n)=input(1:n,1);
heuremodis(1:n)=input(1:n,2);

% Ts et Tv in situ
days(1:m) = input1(1:m,1);
heures(1:m) = input1(1:m,2);
Ts(1:m) = input1(1:m,3);
dayv(1:k) = input2(1:k,1);
heurev(1:k) = input2(1:k,2);
Tv(1:k) = input2(1:k,3);


% Interpolation des températures
for i=1:m
for j=1:n
if(days(i)==daymodis(j))
Tsmodis=f(n,Ts,heures);
end
end
end

for i=1:k
for j=1:n
if(dayv(i)==daymodis(j))
Tvmodis=f(n,Tv,heurev);
end
end
end
save var;
sachant que la fonction f est:
function [Tsmodis] = f(m,Ts,heure)


x=heure(1,1:m);
y=Ts(1,1:m);
xq=[11.7,11.9,11.4,12.4,12.3,12.6,12.4,12.3,11.8,12,11.8,12.5,11.4,12.2,12,11.8,12.5,11.6,11.4,11.9,11.7,12.2,12,12.5,11.6,12.3,12.4,11.2,11.9,12.4,11.5,12.2,11.3,12,12.3,11.4,11.9,12.4,11.5,12.2,11.3,12,12.7,11.8,12.5,11.6,11.4,12.6,11.7,12.4,11.3,12,11.1,11.8,12.5,11.6,12.3,12.6,11.7,12.4,12.2,11.3,12,11.1,11.8,12.5,11.6,12.3,11.4,12.1,11.2,11.9,12.6,11.7,12.4,11.5,12,12.7,12.5,12.3,11.4,12.1,11.9,11.7,12.4,11.5,12.2,11.8,12.5,11.6,12.3,11.4,11.9,11.7,12.2,12,11.1,11.8,12.5,12.3,11.4,12.1,11.9,12.6,11.7,12.4,11.5,11.3,12,11.8,11.6,12.3,11.9,12.4,11.5,12.2,11.8,11.9,12.4,11.8,11.9,11.7,12.4,11.5,12.2,11.3,12,11.8,11.6,12.1,12,11.8,12.5,11.6,12.3,12.1,11.9,11.9,12.2,11.3,11.6,12.3,11.2,11.9,12,12.6,12.4,11.5,12.2,12.5,12.6,11.7,12.4,12.3,12.4,12,12.7,11.8,12.5,12.1,12.6,11.7,12,11.1,11.8,12.5,11.6,12.3,11.4,12.1,11.2,11.9,12.6,11.7,12.4,11.5,12.2,11.3,12,11.1,11.8,12.5,11.6,12.3,11.4,12.6,12.2,11.3,12,11.1,12.5,11.6,12.3,12.1,11.9,12.6,12.4,11.5,12.2,11.3,12,11.1,12.5,12.1,11.2,11.7,12.4,12,11.1,11.8,11.6,12.3,11.4,12.1,11.9,12.6,11.7,12.4]
out1= interp1(x,y,xq);

save var;


end
et sachant que le pas de temps pour mes heures in situ sont pour chaque demi heures et que mes heures modis sont aléatoires entre 10h30 et 12h
merci de votre aide