问题标题:
【如何用matlab随机生成一些在一定范围内不重复并且有1个小数位数的实数?比如生成在-5到5范围之间,任意两数互不重复的20个随机实数或者生成一个矩阵,其中的元素是在-5到5范围之间,任意两数】
问题描述:
如何用matlab随机生成一些在一定范围内不重复并且有1个小数位数的实数?
比如生成在-5到5范围之间,任意两数互不重复的20个随机实数
或者生成一个矩阵,其中的元素是在-5到5范围之间,任意两数互不重复的20个随机实数
注意,主要是三点
1、范围是[-5,5]
2、不重复
3、有一个小数位数的实数
梁娜回答:
我帮你编了一个M文件
functionA=randfun
A(1)=round((5-10*rand)*10)/10;%用来实现你的一个小数位数
fori=2:1:20
m=round((5-10*rand)*10)/10;
while(any(A==m)==1)%检验是否有重复
m=round((5-10*rand)*10)/10;
end
A(i)=m;
formatshortg;
end
付振发回答:
那请问同理,我把范围改成[0,4]的话,程序是否如下:functionA=randfunA(1)=round(4*rand*10)/10;fori=2:1:20m=round(4*rand*10)/10;while(any(A==m)==1)m=round(4*rand*10)/10;endA(i)=m;formatshortg;end
点击显示
数学推荐
热门数学推荐