使用matlab生成简单的模式类数据,matlab代码如下:
clear;
a=1;b=50;
for i=1:1000
c(i)=round(rand()*(b-a)+a);
end
dis=a:1:b;
subplot(1,3,1);
hist(c,dis);title('rand()产生1000个[1,50]之间的随机数的直方图');
grid on;
x=1+(5-1)*rand(1000,1);
y=10+(25-10)*rand(1000,1);
subplot(1,3,2);
plot(x,y,'b*');
title('在[1,5]*[15,25]二维空间产生1000个均匀分布的随机数');
axis([0 6 10 30]);
grid on;
xx=10+(50-10)*rand(1000,1);
yy=20+(70-20)*rand(1000,1);
zz=5+(20-5)*rand(1000,1);
subplot(1,3,3);
scatter3(xx,yy,zz,'b');
title('在三维空间产生1000个均匀分布的随机数');
xlabel('x');ylabel('y');zlabel('z');
grid on;
axis([5 55 15 75 0 25]);
结果如下图所示:
生成高斯分布的随机数matlab代码如下
clear;
mu1=.6;sigma1=.1;
y1=mu1+sqrt(sigma1)*randn(1,1000);
x1=-1:0.01:2;
subplot(1,3,1);
hist(y1,x1);
title('1000个高斯分布随机数直方图');
n=200;
mu2=[1 1];sigma2=[1 0;0 1];
y2=mvnrnd(mu2,sigma2,n);
mu3=[6 8];sigma3=[4 1;1 1];
y3=mvnrnd(mu3,sigma3,n);
mu4=[9 2];sigma4=[1 2;2 5];
y4=mvnrnd(mu4,sigma4,n);
subplot(1,3,2);
plot(y2(:,1),y2(:,2),'r*', y3(:,1),y3(:,2),'g*' , y4(:,1),y4(:,2),'b*');
grid on;
title('3组二维高斯分布随机数散点图');
mu=[7 0 0];
sigma=[1 0 0;0 2 0;0 0 3];
t1=mvnrnd(mu,sigma,n);
mu=[-1 2 1];
sigma=[1 0 0;0 1 0;0 0 3];
t2=mvnrnd(mu,sigma,n);
mu=[-6 4 -7];
sigma=[1 0 0;0 3 0;0 0 1];
t3=mvnrnd(mu,sigma,n);
mu=[-6 10 -2];
sigma=[1 0 0;0 1 0;0 0 1];
t4=mvnrnd(mu,sigma,n);
subplot(1,3,3);
plot3(t1(:,1),t1(:,2),t1(:,3),'r+',t2(:,1),t2(:,2),t2(:,3),'g+',t3(:,1),t3(:,2),t3(:,3),'b+',t4(:,1),t4(:,2),t4(:,3),'y+');
grid on;
title('4组三维高斯分布随机数散点图');
运行结果如下