是否可以获得80*80*37
(纬度,经度,时间(以年为单位)矩阵)的每个网格的斜率。?
我尝试在polyfit
上使用matlab
功能,但卡住了
因为我不知道究竟要放什么x
和y
,因为我所提出的是错误。如果我将gradient
功能再次放在matlab
上,
[dx,dy]=gradient(x)
我得到的是dx
和dy
的价值。但我不知道斜坡是用什么的。
所以,我真的需要帮助来找到80*80*37 matrix
中matlab
答案 0 :(得分:0)
虽然问题不是很明确,但我假设您需要一个80x80矩阵,每个元素都是时间维度的斜率,假设您具有线性相关性。我假设你有一个包含年份的向量。
% 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添加所需的信息和数据。