Correlation between two matrices with different number of rows and columns

29 ビュー (過去 30 日間)
Sophia
Sophia 2017 年 6 月 26 日
コメント済み: Zsófia Jólesz 2020 年 11 月 11 日
I have two matrices of different sizes. I want to calculate the spatial correlation between the two matrices but the matrices are of different sizes. Let's say matrix A of 119*177 size represent the ice drift and matrix B of size 760 *1120, But both data represent the same area at different spatial resolution. What is the best way to calculate the spatial correlation between the two.
  1 件のコメント
Zsófia Jólesz
Zsófia Jólesz 2020 年 11 月 11 日
I know it's been a while since you asked this, but is anyone here who knows how to make a C program for this? I think I have the program to calculate the correlation between two matrices with the same size, I just don't know how to overwrite this program to be able to count the corr. between different sized matrices.

サインインしてコメントする。

回答 (3 件)

ANKUR KUMAR
ANKUR KUMAR 2017 年 10 月 29 日
編集済み: ANKUR KUMAR 2017 年 10 月 29 日
Try interpolating it in between point to make them into the same dimension. 119*177 size represent the ice drift and matrix B of size 760 *1120 For example. try making your A matrix into the dimension of 760 * 1120. A having dimension 119*177. For the simplicity, lets say U*V
U1=linspace(min(U),max(U),760);
V1=linspace(min(U),max(V),1120);
Not interpolate these two new sets with the previous one. Example
A1=interp2(U,V,A,U1,V1)
It gives the output A1 having dimension 760*1120. Now you can easily use
corr2(A1,B)
It works, because both have the same dimension.

KSSV
KSSV 2017 年 6 月 27 日
A = rand(119,177) ;
B = rand(760,1120) ;
%%Resize the matrices
% resize B to size of A
B = imresize(B,size(A)) ;
% Get corellation
r = corr2(A,B) ;
  1 件のコメント
Sophia
Sophia 2017 年 7 月 5 日
Instead of imresize i want to use some interpolation technique to solve this!

サインインしてコメントする。


Andrei Bobrov
Andrei Bobrov 2017 年 7 月 5 日
[m,n] = size(A);
[m1,n1] = size(B);
GI = griddedInterpolant({(1:m)',1:n},A);
AasB = GI({linspace(1,m,m1)',linspace(1,n,n1)});
r = corr2(B,AasB) ;

カテゴリ

Help Center および File ExchangeCorrelation and Convolution についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by