作业帮 > 数学 > 作业

MATLAB大神,已知二维矩阵(如100X100),怎么随机在这个矩阵中出20个元素,并得到其相应位置和值.

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/11/05 14:44:08
MATLAB大神,已知二维矩阵(如100X100),怎么随机在这个矩阵中出20个元素,并得到其相应位置和值.
a=magic(10);%产生一个10*10的矩阵.
numbers=randint(10,2,[1 10]);%随机产生介于1和10之间的随机数,10*2的一个矩阵,用每一行的第一个数代表选取的行,第二个数代表选取的列.
result=[];%用来存储随机选出来的元素
for i=1:10
result=[result a(numbers(i,1),numbers(i,2))];
end
%输出结果
result
result =
68 74 69 16 79 19 65 80 39 54
希望楼主采纳.
再问: 试了一下可以,谢谢啊!还想问一下,如果是矩阵的行和列不一样呢(100X200),怎么在其中选取800个元素,randint(800,2,[? ?])
再答: a=randint(10,20,[1 100]); %产生一个10*20的矩阵。 %抽80个 numbers=[randint(80,1,[1 10]),randint(80,1,[1 20])]; %用每一行的第一个数代表选取的行,第二个数代表选取的列。 result=[];%用来存储随机选出来的元素 for i=1:80 result=[result a(numbers(i,1),numbers(i,2))]; end