matlab里面选取81881的列向量里序号数为四的倍数的数提取出来变成20471的列向量
时间: 2023-06-17 17:06:56 浏览: 33
可以使用如下代码:
```
% 创建原始矩阵
A = rand(81881, 1);
% 选取序号数为四的倍数的数
selected_indices = mod(1:size(A, 1), 4) == 0;
selected_values = A(selected_indices);
% 变成20471的列向量
B = reshape(selected_values, [], 20471);
```
首先,我们生成一个大小为81881的列向量A。然后,我们使用mod函数选取A中序号数为四的倍数的数,将其保存在selected_values中。最后,我们使用reshape函数将selected_values变形成一个20471的列向量B。
相关问题
matlab中如何把循环输出的数放在一个列向量里面
可以使用以下代码将循环输出的数放在一个列向量里面:
```
% 初始化列向量
output = [];
for i = 1:n
% 循环体
% 将每次循环输出的数添加到列向量中
output = [output; x];
end
```
其中,`n`是循环次数,`x`是每次循环输出的数。在循环体内,将每次循环输出的数添加到列向量`output`中,使用的是垂直拼接运算符`;`。最终循环结束后,`output`中将包含循环输出的所有数。
matlab如何将一组行向量中大于100的数和列数同时提取出来
您可以使用以下代码来提取大于100的数和它们所在的列数:
```matlab
A = [10 20 30 110 120 130; 40 50 60 140 150 160; 70 80 90 170 180 190];
[row, col] = find(A > 100);
result = [row, col, A(A > 100)];
```
这里,我们使用 `find` 函数来找到大于100的数所在的行和列,然后将它们存储在 `row` 和 `col` 变量中。最后,我们将它们与原始矩阵中大于100的数一起存储在 `result` 变量中。