How do I create a function that takes a vector of arbitrary length as an input argument and randomly permutes it as an output argument using the identity matrix, without using the randperm command?
3 次查看(过去 30 天)
显示 更早的评论
function [ x ] = myPerm(A)
A = ()
myLength = length(A)
I = eye(length(A))
end
this is what I have, I need help creating the arbitrary length and permuting the matrix
4 个评论
Walter Roberson
2018-12-11
you have not put in any version information and full code generation is currently supported for randperm .
If permutation of aa vector is needed then why bother with an identity matrix ?
Sorry but this is sounding like a homework assignment not a real task.
回答(2 个)
Bruno Luong
2018-12-11
Fisher–Yates shuffle
for i = length(A):-1:2
j = ceil(i*rand);
A([i,j]) = A([j i]);
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!