2017-05-31 10 views
-3

ist es möglich, Steigung von jedem Raster von 80*80*37 (Breite, Länge, Zeit (in Jahren)) Matrix zu bekommen.Wie wird die Steigung in Matlab berechnet?

ich versuchte polyfit Funktion auf matlab dafür verwenden, stecken geblieben war , da ich nicht wusste, was genau wie x und y, setzen wie das, was ich Fehler anzog gab. wenn ich auf matlabgradient Funktion wieder bin setzen,

[dx,dy]=gradient(x) 

was ich bin immer ist Wert von dx und dy. aber ich weiß nicht, was die Steigung damit macht. so, ich brauche Hilfe wirklich Neigung jedes Raster in meinem 80*80*37 matrix in matlab

+0

Ich vermute ... es ist keine Steigung .... es könnte Gitterauflösung sein ... bitte überprüfen Sie Ihren Zweck ... –

Antwort

0

zu finden Obwohl die Frage ist nicht ganz klar, ich gehe davon aus, dass Sie mit jedem Element eine 80x80 Matrix wollen die Steigung entlang Vorerst Dimension, vorausgesetzt, Sie haben eine lineare Abhängigkeit. Und ich gehe davon aus, dass Sie einen Vektor haben, der die Jahre enthält.

% dimensions 
latit = 80; 
longit = 80; 
time = 37; % number of years 

years = 1900:1936; % the vector of years 

% randomly generated data 
A = rand(latit, longit, time); 

% matrix to hold the slopes 
slopes = zeros(latit, longit); 
for i=1:latit 
    for j=1:longit 
     p = polyfit(years, reshape(A(i, j, :), 1, []),1); 
     slopes(i, j) = p(1); 
    end 
end 

In Zukunft bitte die Fragen klarer machen und versuchen, so viele Informationen und Daten enthalten, wie für ein Minimal, Complete, and Verifiable example benötigt.

+0

danke für die Antwort, eigentlich war ich sehr verwirrt, während die Frage gestellt. Daher konnte die ausreichende Information nicht zur Verfügung gestellt werden. Ich werde mich in Zukunft darum kümmern –

Verwandte Themen