MATLAB自定义数据集_圆形数据集生成

本文介绍了如何在MATLAB中自定义生成位于圆内的数据集,包括均匀分布和高斯分布两种情况,并展示了代码实现及最终结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大概图像如下

在这里插入图片描述
其中c1,c2,c3为三个不同的类别,生成数据位于圆内。

实现

代码中考虑了均匀分布以及高斯分布,代码如下

%% 生成圆形点参数
clear; clc;

type = 'gaussian';     % uniform
sigma = 0.6;           % var for guassian
p = [1, 2, 3;
     1, 3, 1];         % centre of circle
r = [1, 1, 1];         % radius

N = 20;                % num of each circle point
n = size(p, 2);        % num of centre
% A = zeros(n * N, 2); % matrix for points
A = [];
gnd = [];              % gnd for data 
for i = 1:n
    gnd = [gnd; i * ones(N, 1)];
end

% 开始生成散点图
disp('generate circles.');
switch lower(type)
    case {lower('gaussian')} 
        for i = 1:n
            for j = 1:N
                while(1)
                    x = normrnd(p(1, i), sigma);
                    y = normrnd(p(2, i), sigma);

                    diff = [x; y] - p(:, i);
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值