使用matlab生成简单的模式类

使用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组三维高斯分布随机数散点图');

运行结果如下


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值