vector input to function
古いコメントを表示
Hi - this is a simple question, more about syntax.
I want to compute a function on a vector.
The function is the procrustes distance function which takes 2 nxm matrices.
procustes( nxm , nxm)
I want to compute it for a ND volume.
For example for a 3D volume
X = rand(2,3,5);
t = 1:5
d = procrustes(X(:,:,t),X(:,:,t));
hoping that d is a 1:5 vector
thanks
回答 (2 件)
Wayne King
2012 年 12 月 27 日
編集済み: Wayne King
2012 年 12 月 27 日
Then you need to use a for loop and store the results
X = rand(2,3,5);
Y = randn(2,3,5);
for nn = 1:size(X,3)
d(nn) = procrustes(X(:,:,nn),Y(:,:,nn));
end
I'm assuming you actually meant to have a different matrix than X as the other input.
Walter Roberson
2012 年 12 月 27 日
d = arrayfun( @(K) procrustes( X(:,:,K), Y(:,:,K) ), 1 : size(X,3) );
カテゴリ
ヘルプ センター および File Exchange で Dimensionality Reduction and Feature Extraction についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!