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!