数据产生器-matlab

编写一个名为data_generator的MATLAB函数,用于产生两类、两维的数据集合,这个集合使用了4个正态分布,协方差矩阵Si=s*I, i = 1,...,4 其中I是一个2*2的单位矩阵。来自前两个分部的向量属于类+1,来自另外两个分部的向量属于类-1.下面是这个函数的输入变量:

(a)一个2*4的矩阵m,其中这个矩阵的第i列是第i个分布的平均向量;

(b)以前曾提到的方差参数S;

(c)从每个分布中产生的点数N;

函数的输出:

(I)一个2*4*N维的数组X,第一组的N个向量来自于第一个分布,第二组的N个向量来自于第二个分布,等等;

(II)一个4*N的行向量y,行向量的元素等于+1或-1,表示X中对应的数据向量所属的类。

 

solution:

 

function [x,y]=data_generator(m,s,N)
S=s*eye(2);   %其中I是一个2*2的单位矩阵
[l,c]=size(m);
x=[]; %创造训练集
for i=1:c
    x=[x mvnrnd(m(:,i)',S,N)'];
end
y = [ones(1,N)*ones(1,N)-ones(1,N)-ones(1,N)]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值