matlab从多个x中选10个
时间: 2024-10-05 07:00:30 浏览: 30
在MATLAB中,如果你想从多个向量(`x`)中随机选择10个元素组成一个新的向量,可以使用`randperm`函数结合数组索引来实现。这里是一个基本的例子:
```matlab
% 假设你有多个向量 x1, x2, ..., xn 存储在 cell 数组中
cell_vectors = {x1, x2, ...}; % 将所有向量放入 cell array
% 获取每个向量的长度
vector_lengths = [size(cell_vectors{i}, 1) for i = 1:numel(cell_vectors)];
% 随机排列这些长度生成一个索引向量
indices = randperm(sum(vector_lengths));
% 计算总索引,用于从每个向量中选择相应位置的元素
total_index = cumsum([0; vector_lengths]);
% 使用循环和索引向量选取10个元素
selected_elements = zeros(1, 10); % 创建一个空向量存储结果
for i = 1:length(indices)
index_in_current_vec = indices(i);
selected_elements(i) = cell_vectors{index_in_current_vec}(i);
end
selected_elements;
```
这个代码会根据向量的长度随机抽取10个元素,并将它们组合到一个新的向量`selected_elements`中。
阅读全文