matlab中一个10000*5的矩阵,如何随机选择其中的5000行?

matlab中一个10000*5的矩阵,如何随机选择其中的5000行?

2个回答

randsample(10000,5000,'false')获得5000个样本行标
然后就简单了

产生一个50000x2的二维数组,第一列为0~49999,第二列产生一个0~1的随机浮点数。
然后对这个数组按照随机数排序,取前5000行的第一列。
对于每一行的第一列,根据它的值%5和/5得到原始矩阵的元素。

CuGBabyBeaR
CuGBabyBeaR 不对 这样数据乱了
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MATLAB从数组中以等概率随机选出不同的元素
问题:数组a,长度为n,要求以等概率随机从a中选出m个元素(各元素不能来自相同位置) 解答: 用randperm函数。rand_index = randperm(n);%将序号随机排列 draw_rand_index = rand_index(1:m);%取出前m个序号 b = a(dram_rand_index);%取出这m个序号对应的元素
Matlab中创建一个矩阵的3种常用方法
Matlab中创建一个矩阵的3种常用方法: 1、直接法:       A=[1 2 3;4 5 6]或A=[1,2,3;4,5,6]。       以上需注意两点,第一,矩阵a大小不用提前设定,Matlab根据后边矩阵内容自动确定。第二,矩阵同一行元素用空格' '或逗号','隔开,不同行用分号';'或回车分开。例如:                     2
一个无序整数数组,数组元素大于5个,请用一种高效的算法找出其中最大的5个值.
一个无序整数数组,数组元素大于5个,请用一种高效的算法找出其中最大的5个值.时间复杂度O(n);
C Tricks(四)—— 从数组中随机选择一个元素
arr[rand() % n];rand() % n:等概率地获取,0 ~ n-1 中的任一元素。
【MATLAB】随机抽取有序的mat文件
今天遇到一个问题,需要随机抽取有序的mat文件,mat文件名字是从1.mat到11494.mat。 我仅知道有个randperm函数是打乱数字顺序的,还有个i=(1:1000)是抽取前1000个数,但是具体怎么去操作却不知道。询问了实验室蒋学姐后,才知道怎么做。 i=randperm(11494);  %打乱的是数字的顺序 for i=i(1:1000)   %抽取的是打乱后的前1000
在一个数组中随机选择若干不重复的元素
问: 总共65535个端口,每次随机取一个,怎么保证每次取得和以前不一样?如果取了6万多次,后面的很容易重复,怎么优化?答:先用一个长度为65535的数组装有序装下1~65535。用一个变量length标记其数组长度,初始值为65535,用随机函数在[0,length)产生一个随机数,作为选取元素的下标,在抽取一个元素之后,将该元素与数组末端的最后一个元素交换,然后将数组最后一个元素扔掉,这里的扔...
python random从集合中随机选择元素
使用python random模块的choice方法随机选择某个元素 foo = ['a', 'b', 'c', 'd', 'e'] from random import choice print choice(foo) 使用python random模块的sample函数从列表中随机选择一组元素 list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] slic
MATLAB定义随机矩阵
A = rand(3, 5) %定义一个3行5列的随机矩阵 size(A) %返回值是3 5 rows = size(A, 1) %取到行数,1指代取行数 cols = size(A, 2) %取到列数,2指代取列数 注意:目前MATLAB中下标都是从1开始的
matlab:从参考二维矩阵中选择出指定的元素
matlab根据一个二维矩阵,选择另一个二维矩阵中的元素
matlab矩阵的定义和运算
转载http://blog.csdn.net/perfumekristy/article/details/8119861 一、矩阵的表示 在MATLAB中创建矩阵有以下规则: a、矩阵元素必须在”[ ]”内; b、矩阵的同行元素之间用空格或逗号隔开; c、矩阵的行与行之间用”;”(或回车符)隔开; d、矩阵的元素可以是数值、变量、表达式或函数;
matlab :产生一定尺寸一定范围内的随机矩阵,并将小于阈值的数置零
a=randint(3,4,[-5 5]) a(find(a 摘自http://www.ilovematlab.cn/thread-70318-1-1.html
关于matlab中矩阵取值的方法
在matlab中,取出矩阵中某一个值的方法如下: 1、对于二维数组: a(i, j) % 表示取出二维数组a的第 i 行,第 j 列的数据 a(:, j) % 表示取出二维数组a的第 j 列的所有数据 a(i, :) % 表示取出二维数组a的第 i 行的所有数据 2、多维数组的方法与二维数组类似(以三维数组为例): b(i, j, k) % 表示取出三维数组a的第k个二维数组的第
matlab取子矩阵
>> a=magic(5) a = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19
MATLAB如何提取某一矩阵的某一列的部分数据?
使用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 列的数据这里还有通配的技巧,例如a(1,:)就是返回a矩阵第一行的所有数据等效于a(1,1:end)或a(1,1:size(a,2))M,N
matlab简单运算
1,请创建一个3*3的矩阵,然后利用矩阵编辑器将其扩充为4*5矩阵; a=[1,2,3;4,5,6;7,8,9] a = 1 2 3 4 5 6 7 8 9 b=eye(4,5) b = 1 0 0 0 0 0 1 0 0 0...
3.1矩阵的构造
对矩阵的基本操作,主要由矩阵的构造、矩阵维度与矩阵大小的改变、矩阵的索引、矩阵属性信息的获取、矩阵结构的改变等, 在数学上,定义有mXn个数Aij (i=1,2,...m,j=1,2,....n)排成的m行n列的数表为m行n列矩阵 只有一行的矩阵称为行向量 只有一列的矩阵称为列向量 矩阵和数值的联系: 在matlab中,矩阵是以数组的形式存在的。一维数组相当于向量
Matlab一个计算不同拉普拉斯矩阵的小函数
计算各式拉普拉斯矩阵由来最近研究谱聚类社区发现,一直在实现不同的拉普拉斯矩阵形式,然后不幸发现做实验的时候不同类型的输入再对应不同方案的L矩阵形式,输出的组合数目实在。。索性把比较常见的拉普拉斯矩阵计算方式写成函数,传上来方便众人。并没什么技术含量,只是方便其它人Ctrl+C 能把时间专注于自己的实验思路上去。Matlab代码function L = calDifLaplacian( W, type
Matlab Tricks(五)—— shuffle 一个矩阵
首先考虑矩阵代表的物理意义,Xd×nX_{d\times n},dd 表示特征维度,nn:表示样本个数,此时 shuffle 该矩阵,是对列进行shuffle;反之,则是对行进行 shuffle。所谓 shuffle,其实是获得一次全排列。>> d = 10; n = 100; >> X = randn(d, n); >> X = X(:, randperm(n))>> X = randn(n, d
如何随机选择excel单元格中的数据
用户可以要求Excel的随机数生成程序来产生需要的结果,将RAND函数(此功能返回一个从0~l之间的随机数)同INT函数(此功能要求整数而不是小数)及INDIRECT函数(返回一个文本字符串)结合使用,结果就是对单元格引用的随机选择(见图6-53)。 若要对数据列区域,这里为Al:A50中的数进行随机选择,可使用以下公式: =INDIRECT(”A”&INT(RAND()*(50-1)
Matlab产生特定范围的随机数矩阵
都知道rand(m,n)是随机产生一个m行,n列的矩阵,rand()的特点是只能产生0至1之间的随机数,那么要圈定矩阵的取值范围该怎么办? 例如:        想产生一个2行2列的随机矩阵,要求取值范围在1-10之间         >>data=1+9*rand(2,2); data =     3.5597    1.5830     5.2230    9.8950 是不
在matlab中提取一个比较大的矩阵的部分元素
1.提取大矩阵的一列、一行元素: 一列元素:  A(:,j)表示提取A矩阵的第j列全部元素 一行元素:  A(i,:)表示提取A矩阵的第i行元素, 于是我们有,A(i, j)表示提取A矩阵的第i行第j列的元素。 2.提取多行多列元素 多行元素:  A(i:i+m,:)表示提取A的第i行到第i+m行的元素。 多列元素:  A(:,j:j+n)表示提取A的第j列到第j+n列的元素。
基于Matlab的实对称矩阵对角化
假设两个实对称矩阵A和B,如果存在一个可逆的矩阵X, XAX'=B,已知A和B,知道怎么用matlab求X? 本例中数据如下: A=[0.287402 0 0    0 0.483209 0    0 0 0.000025]; B=[0.287402 -0.028039 -0.0000727     -0.028039 0.483209 0.001299     -0.000072
hilb--生成Hilbert(希尔伯特)矩阵
hilb--生成Hilbert(希尔伯特)矩阵 【功能简介】希尔伯特矩阵是一种数学变换矩阵,正定,且高度病态,MATLAB中用hilb函数生成希尔伯特矩阵。 【语法格式】 H=hilb(n) 生成n阶希尔伯特矩阵,其元素为H(i,j)=1/(i+j-1)。 【实例3.12】生成一个3阶希尔伯特矩阵。 >> hilb(3) %3阶希尔伯特矩阵 ans
matlab 利用 密钥 产生一定范围内的 不重复的伪随机数
s = RandStream.create('mt19937ar','seed',5489);RandStream.setDefaultStream(s);steam=RandStream.getDefaultStream;reset(steam);unidrnd(100,10,1);reset(steam);unidrnd(100,10,1);
Matlab中几种关于如何求矩阵最大值并返回其行列号的方法
几种关于如何求矩阵最大值并返回其行列号的方法: 第一种: clear;clc; A=[0 17 50;-12 40 3;5 -10 2;30 4 3] [C,I]=max(A(:)) [m,n]=ind2sub(size(A),I) 第二种: clear;clc; A=[0 17 50;-12 40 3;5 -10 2;30 4 3] [M,I]=max(A) [N,J]=ma
matlab中如何删除向量和矩阵中的元素?
碰到一个问题,要删除文件中的某些数据,于是想到用matlab来实现,matlab中删除向量和矩阵中的元素的代码如下: clear clc for i = 1 : 10 a(i) = i; end a a(1 : 5) = []; a b= magic(5) b(:, 1 : 2) = []; b      结果为: a =      1
求矩阵各列的平均值
求矩阵各列的平均值 Time Limit: 1 Sec Memory Limit: 16 MB Submit: 648 Solved: 255 [Submit][Status][Web Board] Description 编写一个程序,求矩阵中各列元素值相加的平均值。其中,矩阵的元素都是很小的整数,且各列元素之和的数值不会超出int类型的表示范围。 Input 输入为多行。第一
MATLAB 生成随机整数 的各种方法以及实例
MATLAB提供了多种生成随机整数的方法,下面我们就着重介绍几种常用的方法。 方法一:rand() rand()函数常用来生成0-1之间的随机矩阵,那么我们完全也可以用来生成我们想要的任意大小、任意个数的随机整数。 1,生成0-5之间的10个随机整数 在matlab主窗口中输入round(rand(1,10)*5) 回车2,生成1个随机整数,, 命令  rou
MATLAB矩阵生成函数
全零矩阵 zeros(m,n) 生成m行n列的零矩阵 ones(m,n) 生成m行n列的全1矩阵 rand(m,n) 生成m行n列的随机矩阵, 矩阵中的每个元素都是0到1之间的随机数, 而且随机数满足均匀分布 randn(m,n) 生成m行n列的随机矩阵, 矩阵中每个元素都是标准正态分布的
Matlab 使用squeeze函数提取多维矩阵的某一维
在图像处理领域,经常需要对每个像素提取特征,保存为一个三维矩阵。例如对大小为100*150的图像提取SIFT特征,就会得到100*150*128的三维矩阵(A)。如果想要索引任意一个像素(如坐标(2,3)的对应像素)的特征向量,直接对A索引A(2,3:)得到的是一个1*1*128的三维矩阵b,而不是一个向量,解决方法是使用squeeze函数。c=squeeze(b)得到的c就是128的列向量。例子
Java算法 从一个数组中随机选择一部分数
public int[] getRandomFromArray(int[] array, int count) {     // ArrayListarrayList =null;     int[] a = array;     int[] result = new int[count];     boolean r[] = new boolean[array.length];     Rand
检验并打印幻方矩阵
幻方矩阵是指该矩阵中每一行、每一列、每一对角线上的元素之和都是相等的。从键盘输入一个5×5的矩阵并将其存入一个二维整型数组中,检验其是否为幻方矩阵,并将其按指定格式显示到屏幕上。 输入格式: "%d" 输出格式: 如果是幻方矩阵,屏幕输出—— "It is a magic square!\n" 矩阵元素的输出: "%4d"(换行使
matlab生成随机矩阵
原文地址:matlab生成随机矩阵作者:LFF_Coder 一. matlab里和随机数有关的函数: (1) rand:产生均值为0.5、幅度在0~1之间的伪随机数 (2) randn:产生均值为0、方差为1的高斯白噪声 (3) randperm(n):产生1到n的均匀分布随机序列 (4) normrnd(a,b,c,d):产生均值为a、方差为b大小为cXd的随机矩阵 rand rand(
matlab矩阵计算
一 矩阵切片以及基本函数 >> A = [1,2,3;4,5,6;7,8,9] A =      1     2     3      4     5     6      7     8     9   >> A(2,3)   %输出第二行第三列的值 ans =      6   >> A(:,3)    %输出第三列的值 ans =      3      6
php从数组中随机选择一个或多个的方法
php从数组中随机选择一个或多个的方法
Matlab提取矩阵数据
首先,Matlab中,()的地位跟Python中[]的地位有点类似。 特别是在提取矩阵数据中的情况 在演示之前,先建立矩阵,并看一下 M = [1,2; 3,4; 5,6] 输出的结果是: M = 1 2 3 4 5 6 获取Matlab矩阵顺序第一个的数据方法 记住,这只是获得整个矩阵中,顺序遍历的第一个的数据方法 ...
R语言应用于分析矩阵
学习《统计建模与R软件》(薛毅2006)这本书,使用R语言对书中练习题解答。矩阵分析为书中第二章内容,练习题如下:
matlab中矩阵删除一行或一列的方法
matlab中矩阵删除一行或一列的方法
Matlab度workspace中矩阵画散点图
将数据读到workspace中是一个步骤,暂不描述: 下面简单介绍下读取workspace中已有的矩阵,然后绘制散点图 plot(amp_1_zhuanzhi(:,:),'o');%读取矩阵中的恒纵坐标然后描点画散点图 xlabel('子载波'); ylabel('相位'); 附上点标的字母参数表示表:
Matlab多维数组按照第一行从小到大进行列排序
借鉴自:http://blog.sina.com.cn/s/blog_6377a3100100i8qi.html假设有3*n的数组,3行n列,将第一行数字从小到大排列,然后其他行也按照第一行重拍的顺序排列,如: a= 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 0 1 2排列之后为: 1 2 3 4 5 6 6 5 4 3 2 1 2 1 0 9 8 7用Matlab可
生成四种难度的数独生成器MATLAB程序
此Matlab程序可以生成具有四种难度的数独
matlab-线性代数 提取出矩阵的一行或一列
       慈心积善融学习,技术愿为有情学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。提取出矩阵的一行a=[1 2 3 4;5 6 7 8;1 2 3 4;6 7 8 9] c=a(1,:) %提取出矩阵的一行 提取出矩阵的一列a=[1 2 3 4;5 6 7 8;1 2 3 4;6 7 8 9] d=a(:,3) %提取出矩阵的一列感恩曾经帮助过 心少朴...
Matlab从矩阵中找出符合条件的元素
标志矩阵,就是返回一个和原始矩阵一样大的矩阵,返回的矩阵里面只有0和1,1表示符合要求的数字,0表示不符合要求的数字。 以下是一个例子,找出a中所有的偶数a = magic(6)a = 35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27
Matlab 将一个矩阵保存在.mat文件中,或读取.mat文件
例13-3 open与load的比较。   >> clear   >> A = magic(3);   >> B = rand(3);   >> save   Saving to: matlab.mat   >> clear   >> load('matlab.mat')   >> A   A =        8     1     6        3     5    
matlab函数randn:产生正态分布的随机数或矩阵的函数
 randn产生均值为0,方差 σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数。用法:Y = randn(n)返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。Y = randn(m,n) 或 Y = randn([m n]) 返回一个m*n的随机项矩阵。Y = randn(m,n,p,...) 或 Y = randn([m n p...])产
用matlab生成同一元素的矩阵
如何用matlab生成元素都一样的矩阵? 例如,只有1列,但是有5000行,每一行都是9.28。 1) A=ones(5000,1)*9.28; 2) A = repmat(9.28,[5000 1]); 3) a(1:5000)=9.28; b=a';
matlab中求一个矩阵的最大值及其所在位置
假设矩阵为x,则最大值为max(max(x))。 所在位置为:[rows,cols]=find(x==max(max(x)))。 嗯,这样就可以啦。 用find和max命令,多用help命令。  [Y,I]=max(M,[],2), 在第2维方向上取最大值,也就是每行最大值,结果存在Y里,I里存的是每行最大值的列位置。 >> M=magic(3) M = 8 1 6 3 5 7 4 9
MATLAB如何将多维矩阵以列数据的的方式变成一维矩阵。
应用实例 A = [1,2,3;4,5,6;7,8,9] B = A(:) C = A(:)' 结果: 如果是以行数据的方式排成一行或一列,可以将A倒置。(也许有可以直接使用的程序,目前还没有找到,暂时这样使用。) 结果如下:
用MATLAB实现1到10000的数组,随机从中抽取8000个元素
用MATLAB实现1到10000的数组,随机从中抽取8000个元素:  A=randperm(10000);  B=sort(p(1:8000)); randperm函数功能:随机打乱一个数字序列。 语法格式: y = randperm(n) y是把1到n这些数随机打乱得到的一个数字序列。 sort函数功能:对序列进行排序。 语法格式: B= sort
matlab 交换矩阵的行和列
>> A = [1 2 3 4; 4 3 2 1; 5 6 7 8; 8 7 5 6]交换第一行,和第三行:>> A([1, 3], :) = A([3, 1], :)交换第一列,和第三列:>> A(:, [1, 3]) = A(:, [3, 1])
相关热词 c#中dns类 c#合并的excel c# implicit c#怎么保留3个小数点 c# 串口通信、 网络调试助手c# c# 泛型比较大小 c#解压分卷问题 c#启动居中 c# 逻辑或运算符
立即提问