用matlab如何从多维矩阵中随机选取几组样本,并保留剩余的矩阵?

来自:    更新日期:早些时候
在matlab中,从矩阵中随机取几行,得到一个矩阵,如何求得剩下的这个矩阵?求代码,急求!~

[M,N]=size(A);
KK=randi([1,M],6,1);
p=uinque(KK);
AA=A(p,:);%随机取得
A(P,:)=[];
AR=A;%剩下的

假设行数或列数为n
vector = randperm(n);
vector是从1到n的整数随机排列的向量
按照vector里各个元素的值重新排列行列向量就可以了
假设待排列矩阵为M,排列后的矩阵为A
按列随机排列
A = zeros(size(M));
for i=1:n
A(:,i)=M(:,vector(i));
end

A=[1 2;3 4;2 3;4 5;6 2;3 1];
[m,n]=size(A); % 求A的维数
B=[];C=A;
first=floor(m*unifrnd(0,1))+1; % 求[1,m]中的随机整数
B=[B;C(first,:)]; % 保存找到的随机的一行元素
C(first,:)=[]; % 将找到的一行元素从原矩阵中去除,之后C是m-1行

sec=floor((m-1)*unifrnd(0,1))+1;% 求[1,m-1]中的随机整数
B=[B;C(sec,:)];
C(sec,:)=[];
% B为随机选出的两行元素
% C为选剩下的元素


用matlab如何从多维矩阵中随机选取几组样本,并保留剩余的矩阵?视频

相关评论:
  • 15392662918MATLAB中,在一个三维矩阵中如何提取出一个二维矩阵?
    平屠豪设原三维数组为a,用permute(a(:,1,:),[1 3 2]):>> a=rand(2,3,4)a(:,:,1) = 0.3046 0.1934 0.3028 0.1897 0.6822 0.5417a(:,:,2) = 0.1509 0.3784 0.8537 0.6979 0.8600 0.5936a(:,:,3) = 0.4966 0.8216 ...

  • 15392662918如何用matlab实现高维矩阵维度的调整,把A*B*C*D的四维矩阵转换成A*C...
    平屠豪用permute函数 原来的数据是 A B C D,换为 A C B D的时候,2和3两个维度的数据互换 就是将 1 2 3 4的顺序变为 1 3 2 4,这时候用permute函数就可以 permute(Data,[1 3 2 4])

  • 15392662918MATLAB多维数组
    平屠豪通过“全下标”元素赋值方式创建多维数组,如创建三维数组A(3,3,3)并赋值。由二维数组合成多维数组,如创建数组A的第1页数据为魔方矩阵,第2页数据为全1矩阵,第3页数据为全0矩阵。使用函数rand直接创建特殊多维数组,如创建一个三维数组B,其中元素为随机数。借助cat函数构建多维数组,通过指定扩展方向...

  • 15392662918matlab怎么表示多维矩阵
    平屠豪a=ones(500,1);b=2*ones(300,1);c=3*ones(100,1);d=[a;b;c];用上面语句试试。d就是900*1矩阵

  • 15392662918请问高手们matlab中多个矩阵如何输出?
    平屠豪如果有多个多元矩阵时,子函数时候应当是 function [g1 g2 g3]=matrix(f) %f=5 a=2*pi*f;m=1;for n=1:3 g11(m)=1+n*a;g12(m)=2*n-a;g21(m)=sqrt(n);g22(m)=n\/2+a;m=m+1;end g1=[g11(1),g12(1);g21(1),g22(1)];g2=[g11(2),g12(2);g21(2)...

  • 15392662918matlab如何把三维矩阵拼接
    平屠豪如何把三维矩阵拼接在MATLAB中 在MATLAB中,拼接三维矩阵可以通过多种方法实现,以下是几种常见的方法及其 1. 使用`cat`函数进行垂直或水平拼接:`cat`函数是MATLAB中用于组合数组的一个非常有用的工具。要垂直拼接两个三维矩阵,可以使用`cat`。要水平拼接,则使用`cat`。这里的数字代表维度,1代表列...

  • 15392662918MATLAB 提取多维矩阵每一维的第一列和最后一列
    平屠豪a=a([1 end],[1 end], [1 end])

  • 15392662918怎么用matlab产生20个随机数组或者随机矩阵,这些随机数只能是-1或者1...
    平屠豪你可以用randint(m,n)是生成只有0,1的m*n维矩阵 然后randint(m,n).*2-1 就可以了 例如运行如下程序 randint(3,4).*2-1 ans = 1 1 -1 1 1 1 1 -1 -1 -1 1 1

  • 15392662918matlab 如何把三维矩阵拼接
    平屠豪在MATLAB中,矩阵的拼接是一项常见的操作。首先,对于二维矩阵A和B,你可以使用cat函数进行拼接。如果你想要将它们竖向连接,如将两块2*2的矩阵A和B并排放置,可以使用`cat(1,A,B)`。而若需要横向连接,比如A在上,B在下,就用`cat(2,A,B)`。如果你想将两个矩阵转化为三维数组,例如将A和B...

  • 15392662918如何用matlab实现高维矩阵维度的调整?
    平屠豪1.坐标点创建 定义一个3*3*3(3维)矩阵,先把每页的内容(行和列)确定好,在确定页数:[cpp] view plain copy a(:,:,1)=[1 2 3;4 5 6;7 8 9];a(:,:,2)=[10 20 30;40 50 60;70 80 90];a(:,:,3)=[100 200 300;400 500 600;700 800 900];disp(' ');a result...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网