2017-05-31 664 views
-3

是否有可能獲得80*80*37(緯度,經度,時間(年))矩陣的每個網格的斜率。如何計算matlab中的斜率?

我嘗試使用polyfit功能上matlab它,被卡住 ,因爲我不知道到底是什麼把儘可能xy,因爲我是把正在給錯誤。如果我把再次gradient功能上matlab

[dx,dy]=gradient(x) 

什麼,我得到的是的dxdy值。但我不知道這個斜率是什麼。 所以,我真的需要幫助,找到每一個網格的傾斜在我80*80*37 matrixmatlab

+0

我懷疑...這不是斜坡....它可能是網格分辨率...請檢查您的目的... –

回答

0

雖然這個問題不是很清楚,我會假設你想要一個80×80矩陣,每一個元素是沿着時間的斜率維度,假設你有一個線性依賴。我假設你有一個包含多年的矢量。

% 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 

在未來,請讓問題更加清晰,並嘗試包括儘可能多的信息,並根據需要爲Minimal, Complete, and Verifiable example數據。

+0

感謝您的迴應,其實我在問這個問題時非常困惑。因此,無法提供足夠的信息。我將來會照顧到這一點 –