MATLAB生成随机数据集

MATLAB产生随机数据集合(线性,非线性)

  1. 生成线性随机数

function  GenerRand_Linear( a,b,num )  %y=ax+b,生成num个随机数
%UNTITLED 此处显示有关此函数的摘要
%   此处显示详细说明
Xbuf=zeros(num,1);
Ybuf=zeros(num,1);
for i=1:num
    Xbuf(i,1)=10*rand;
    Ybuf(i,1)=a*Xbuf(i,1)+b+rand*2;
end
plot(Xbuf,Ybuf,'.r');
end

在这里插入图片描述

  1. 产生聚类数据(高斯分布)
function  GeneRand_Category()
%UNTITLED3 此处显示有关此函数的摘要
%   此处显示详细说明
Category1=[normrnd(2,1,100,2)]; %高斯分布的第一类数据集合
Category2=[normrnd(10,1,100,2)];%第二类
Category3=[normrnd(2,1,100,2)];%第三类
for i=1:100
    Category3(i,1)= Category3(i,1)+8;
end
figure;
hold on;
plot(Category1(1:100,1),Category1(1:100,2),'.');
plot(Category2(1:100,1),Category2(1:100,2),'.');
plot(Category3(1:100,1),Category3(1:100,2),'.');
hold off;
end

在这里插入图片描述

  1. 非线性数据集
function  GeneRand_Nonlinear()
%UNTITLED4 此处显示有关此函数的摘要
%   此处显示详细说明
r1=2;
r2=5;
r3=9;
X1=zeros(100,1);
Y1=zeros(100,1);
X2=zeros(100,1);
Y2=zeros(100,1);
X3=zeros(100,1);
Y3=zeros(100,1);
for i=1:100
    the_angle=2*pi*rand(100,1);
    X1(i,1)=r1*cos(the_angle(i,1))+10+rand;
    Y1(i,1)=r1*sin(the_angle(i,1))+10+rand;
    X2(i,1)=r2*cos(the_angle(i,1))+10+rand;
    Y2(i,1)=r2*sin(the_angle(i,1))+10+rand;
    X3(i,1)=r3*cos(the_angle(i,1))+10+rand;
    Y3(i,1)=r3*sin(the_angle(i,1))+10+rand;
end
plot(X1,Y1,'.r',X2,Y2,'.b',X3,Y3,'.g');
end

在这里插入图片描述

  • 11
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值