本站所有资源均为高质量资源,各种姿势下载。
本项目实现了一个高效、可靠的随机不重复样本抽取工具,专为MATLAB环境设计。系统能够从各类数据总体中随机选择指定数量的唯一样本点,确保每次抽样结果的随机性和无重复性。适用于数据采样、统计调查、机器学习数据集划分及实验设计等多种需要随机化处理的科研与工程场景。
% 假设 data 是您的总体数据(向量或矩阵) % n 是希望抽取的样本数量 [sample, indices] = main(data, n);
输入参数:
data: 总体数据。可以是数值、字符或混合类型的一维数组。若为矩阵,则每一行(或列,根据维度设置)被视为一个独立的样本点。n: 抽取的样本数量。必须为正整数,且小于或等于总体中的样本总数。sample: 抽取出的样本数据。其数据类型和结构(向量/矩阵)与输入的data保持一致。indices (可选): 抽取的样本在原始总体data中的索引位置。matlab
dataVec = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];
sampleSize = 3;
[samp, idx] = main(dataVec, sampleSize);
- 从矩阵中抽样(按行)
``matlab
dataMatrix = [1, 2, 3; 4, 5, 6; 7, 8, 9; 10, 11, 12];
sampleSize = 2;
% 系统默认将矩阵的每一行视为一个样本点进行抽取
[samp, idx] = main(dataMatrix, sampleSize);
主程序文件封装了系统的全部核心逻辑,其主要能力包括:接收并验证用户的输入参数,根据输入数据的维度和类型自适应地确定抽样单元;调用内置的高质量随机数发生器生成随机种子;通过高效的索引操作从数据总体中进行无放回随机抽取,并严格保证样本的唯一性;最后,将抽取出的样本数据及对应的原始索引按要求格式返回给用户。该文件是整个系统的功能入口与调度中心。