www.rsnq.net > MATLAB中如何从一个矩阵中随机取若干个列啊?

MATLAB中如何从一个矩阵中随机取若干个列啊?

a=load('f:\credit data\mix.txt');g=load('f:\credit data\good.txt');b=load('f:\credit data\bad.txt'); p3=randperm(300);l3=p3(1:240);v3=p3(241:270);t3=(271:300); p7=randperm(700);l7=p7(1:560);v7=p7(561:630);t7=p7(631:700); g=g';b...

假设矩阵是m*n维的矩阵,随机生成一个矩阵s。在s中任取k个数,将这k个数放入一维数组target中。MATLAB代码如下: clc clear m = input('数组行数m:'); n = input('数组列数n:'); k= input('将要取出的数个数k:'); if (k >m*n) disp('矩阵元素...

>> a=[3 8 6 4 9]; >> b=randint(1,1,[1 5])%%a为矩阵,利用randint随机产生其矩阵序号,然后代入序号,即可得到随机抽取的元素 b = 5 >> a(b) ans = 9

可以用随机数发生器 :) 具体如下: data=randn(1000,1); %需要随机提取数据的矩阵 randnum=randperm(length(data)); %随机产生矩阵位置 outdata=data(randnum(1:100)); %可随机从data中提取100个数据

使用a(M,N)可以提取矩阵a中符合M,N要求的部分 最简单是M,N都是标量,就是一个数例如 a(1,1) a(2,3)分别返回a矩阵1行1列的单元 和 2行3列的单元 M,N还可以是矢量,例如 a([1 2 3 4],[2 3]) 返回 1 2 3 4行 2 3 列的数据 这里还有通配的技巧,...

n=randi(size(a,1)); b=a(n,:);

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

假设你原来的数据存在变量a中 如果,你想从a中随机抽取固定N个数 c=randperm(numel(a)); b=a(c(1:N)); b就是从a中随机抽取的N个数(N应该小于a中元素的总个数)

可以用随机数发生器 :) 具体如下: data=randn(1000,1); %需要随机提取数据的矩阵 randnum=randperm(length(data)); %随机产生矩阵位置 outdata=data(randnum(1:100)); %可随机从data中提取100个数据

通过A函数实现,比如: 提取40-82行,列数是1-85 。 x=A(40:82,1:85)。 data函数说明: 提取1-10000行,第1列全部 x=data(1:10000,1)。

网站地图

All rights reserved Powered by www.rsnq.net

copyright ©right 2010-2021。
www.rsnq.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com