ZKX's LAB

matlab 矩阵随机抽取 我想把matlab矩阵里随机抽取20%的数字的值变成0,请问如何操作?

2020-07-20知识10

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矢量还可以是不连续的,不是单调的,或者有重复的,例如a(1:2:end,:)a(2:2:end,:)分别提取矩阵a的奇数行和偶数行数据重新组成矩阵matlab中如何从一个矩阵中随机抽取几个数到另外一个矩阵中,位置和原来一样 如a=1 2 3 随机抽取放到b中 b=0 2 0 4 5 6 4 0 0 7 8 9 0 0 9 比如你要随机取3个。。请问:Matlab中怎么从一个现有的矩阵中随机抽取一个数?急啊!!!谢谢 >;>;a=[3 8 6 4 9];b=randint(1,1,[1 5])%a为矩阵,利知用randint随机产生其矩阵序道号,然后代入序号,即内可得到随机抽取的元容素b=5a(b)ans=9matlab怎么生成随机矩阵 有时候我们在使用matlab进行运算的时候,想生成随机矩阵,怎么生成呢,下面来分享一下方法 matlab 方法/步骤 第一步我们首先需要知道matlab中生成随机数的函数是rand,可以。MATLAB如何随机抽取矩阵 使用2113a(m,n)可以提取矩阵a中符合m,n要求的部分最简单是5261m,n都是标4102量,就是一个数例如a(1,1)a(2,3)分别返回1653a矩阵1行1列的单元和2行3列的单元m,n还可以是矢量,例如a([1234],[23])1234行23列的数据这里还有通配的技巧,例如a(1,:)就是返回a矩阵第一行的所有数据等效于a(1,1:end)或a(1,1:size(a,2))m,n矢量还可以是不连续的,不是单调的,或者有重复的,例如a(1:2:end,:)a(2:2:end,:)分别提取矩阵a的奇数行和偶数行数据重新组成矩阵MATLAB中从已知矩阵中随机抽取5个元素如何实现. 可以用随机数发生器:)具体如下:data=randn(1000,1);需要随机提取数据的矩阵randnum=randperm(length(data));随机产生矩阵位置outdata=data(randnum(1:100));可随机从data中提取100个数据MATLAB如何随机抽取矩阵 可以用随机数发生器:)具体如下:data=randn(1000,1);需要随机提取数据的矩阵randnum=randperm(length(data));随机产生矩阵位置outdata=data(randnum(1:100));可随机从data中提取100个数据我想把matlab矩阵里随机抽取20%的数字的值变成0,请问如何操作? >;>;A=floor(rand(5,7)*100);随机生成5行7列且元素为(0,100)之间的整数矩阵AA=49 75 95 84 34 35 2895 25 54 25 19 83 7534 50 13 81 25 58 7558 69 14 24 61 54 3822 89 25 92 47 91 56[r,c]=size(A)r=5c=7totalNum=r*c;由矩阵的行列数得出矩阵元素总个数randomIndex=1+floor(rand(1,floor(totalNum*0.2))*totalNum)%生成值在1到矩阵总元素个数totalNum之间的totalNum*20%个随机数,作为矩阵中将要置零的元素的下标索引(此时把矩阵看作是一个一维数组)randomIndex=3 2 19 28 33 5 20A(randomIndex)=0;跟生成的随机元素索引,来把相应的元素置零AA=49 75 95 84 34 35 280 25 54 25 19 83 750 50 13 81 25 0 058 69 14 0 61 54 380 89 25 0 47 91 56可见将35*20%个元素随机的置零了将下面的语句复制到Command Window,或建立.m文件运行即可(每次运行结果都不一样):A=floor(rand(5,7)*100)[r,c]=size(A)totalNum=r*c;randomIndex=1+floor(rand(1,floor(totalNum*0.2))*totalNum)A(randomIndex)=0MATLAB中如何从一个矩阵中随机取若干个列啊? 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=b';mix(1:25,1:900)=[g(1:25,l7)b(1:25,l3)g(1:25,v7)b(1:25,v3)];test(1:25,1:100)=[g(1:25,t7)b(1:25,t3)];最下面两行中,g(1:25,l7)之类的就是随机抽取后得到的矩阵我这里是分别在一个300和一个700的矩阵中,随机抽取240,30,30和560,70,70然后组成新的矩阵(我实验中是有一定的要求)时间关系没能细说,正好我做实验就看到了,不过估计你也用不上了…

#data#matlab矩阵#矩阵#matlab

随机阅读

qrcode
访问手机版