matlab中如何将某一数组中数据进行打乱,有没有相应的函数,谢谢,在线等.

问题描述:

matlab中如何将某一数组中数据进行打乱,有没有相应的函数,谢谢,在线等.
像下面的例子中,我想将x数组的每一列数据打乱,并赋予z数组.
format long
clc
clear
N=10000;
x=ones(N,3);
y=rand(N,3);
z=ones(N,3);
s1=2*cos(2*3.14159265/11)-1;
s2=2*cos(4*3.14159265/11)-fix(2*cos(4*3.14159265/11));
s3=2*cos(6*3.14159265/11)-fix(2*cos(6*3.14159265/11))+1;
for i= 1:N
x(i,1)=i*s1-fix(i*s1);
x(i,2)=i*s2-fix(i*s2);
x(i,3)=i*s3-fix(i*s3);
end
1个回答 分类:综合 2014-10-04

问题解答:

我来补答
代码: % 这些是你的代码
format long
clc 
clear
N=10000;
x=ones(N,3);
y=rand(N,3);
z=ones(N,3);
s1=2*cos(2*3.14159265/11)-1;
s2=2*cos(4*3.14159265/11)-fix(2*cos(4*3.14159265/11));
s3=2*cos(6*3.14159265/11)-fix(2*cos(6*3.14159265/11))+1;
for i= 1:N
    x(i,1)=i*s1-fix(i*s1);
    x(i,2)=i*s2-fix(i*s2);
    x(i,3)=i*s3-fix(i*s3);
end
% 这个是我补充的代码
for i=1:size(x,2)
z(:,i)=x(randperm(size(x,1))',i);
end如有用,请及时采纳!
 
 
展开全文阅读
剩余:2000