我想把matlab矩阵里随机抽取20%的数字的值变成0,请问如何操作?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 00:43:41
我想把matlab矩阵里随机抽取20%的数字的值变成0,请问如何操作?
RT
比如说呢 一个5X5的矩阵
a=[1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;]
,有 25个坑,
我想随机让其中5个坑变成0,请问怎么操作?除了20%,以后还要40%,50%,60%等,所以这个变0的百分比要有一个变量空着着,不求算法,只求实现,
RT
比如说呢 一个5X5的矩阵
a=[1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;]
,有 25个坑,
我想随机让其中5个坑变成0,请问怎么操作?除了20%,以后还要40%,50%,60%等,所以这个变0的百分比要有一个变量空着着,不求算法,只求实现,
A=floor(rand(5,7)*100);%随机生成5行7列且元素为(0,100)之间的整数矩阵
>> A
A =
49 75 95 84 34 35 28
95 25 54 25 19 83 75
34 50 13 81 25 58 75
58 69 14 24 61 54 38
22 89 25 92 47 91 56
>> [r,c]=size(A)
r =
5
c =
7
>> totalNum=r*c;%由矩阵的行列数得出矩阵元素总个数
>> randomIndex=1+floor(rand(1,floor(totalNum*0.2))*totalNum)%生成值在1到矩阵总元素个数totalNum之间的totalNum*20%个随机数,作为矩阵中将要置零的元素的下标索引(此时把矩阵看作是一个一维数组)
randomIndex =
3 2 19 28 33 5 20
>> A(randomIndex)=0;%跟生成的随机元素索引,来把相应的元素置零
>> A
A =
49 75 95 84 34 35 28
0 25 54 25 19 83 75
0 50 13 81 25 0 0
58 69 14 0 61 54 38
0 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)=0
>> A
A =
49 75 95 84 34 35 28
95 25 54 25 19 83 75
34 50 13 81 25 58 75
58 69 14 24 61 54 38
22 89 25 92 47 91 56
>> [r,c]=size(A)
r =
5
c =
7
>> totalNum=r*c;%由矩阵的行列数得出矩阵元素总个数
>> randomIndex=1+floor(rand(1,floor(totalNum*0.2))*totalNum)%生成值在1到矩阵总元素个数totalNum之间的totalNum*20%个随机数,作为矩阵中将要置零的元素的下标索引(此时把矩阵看作是一个一维数组)
randomIndex =
3 2 19 28 33 5 20
>> A(randomIndex)=0;%跟生成的随机元素索引,来把相应的元素置零
>> A
A =
49 75 95 84 34 35 28
0 25 54 25 19 83 75
0 50 13 81 25 0 0
58 69 14 0 61 54 38
0 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)=0
我想把matlab矩阵里随机抽取20%的数字的值变成0,请问如何操作?
请问:Matlab中怎么从一个现有的矩阵中随机抽取一个数?
请问Matlab如何生成一个随机的半正定矩阵?
我想把EXCEL表格里的一列数字在前面统一加上一个0,如何操作
Matlab 如何随机生成不重复的随机矩阵
我想在ppt 里做一个能变化的数字 请问改如何操作
matlab中生成一个20行3列的矩阵,想把这个矩阵按行截成4个矩阵5行3列的矩阵,该如何操作?
matlab中的一个10x10的矩阵,矩阵中的元素从0-9中选择,随机分布,请问如何把矩阵中相同的元素放在一个区
请问,怎么用matlab生成一个随机对称的矩阵
matlab 把矩阵的每个元素存成向量如何操作
如何随机提取matlab矩阵中一个元素的位置
matlab如何生成每行之和等于1的随机矩阵?