matlab数组操作:
时间: 2025-01-07 13:02:12 浏览: 45
### MATLAB 数组操作方法
#### 创建数组
在MATLAB中创建数组非常简单。可以使用方括号`[]`定义一维或多维数组。
```matlab
A = [1, 2, 3; 4, 5, 6]; % 定义一个2×3矩阵
B = [7 8 9]; % 定义一个1×3行向量
C = (1:5); % 使用冒号运算符生成序列
D = zeros(3, 3); % 创建全零矩阵
E = ones(2, 4); % 创建全幺矩阵
F = rand(2, 2); % 随机数构成的矩阵
G = eye(3); % 单位阵
```
#### 访问元素
可以通过索引来访问特定位置上的数值,注意MATLAB采用的是基于1的索引方式而非0。
```matlab
value = A(1, 2); % 获取第1行第2列处的数据
subArray = B([1 3]);% 提取指定下标的子集
lastElement = C(end);% end关键字表示最后一个元素的位置
```
#### 修改内容
同样利用索引机制可以直接修改某个或某些位置存储的内容:
```matlab
A(2, :) = [7, 8, 9]; % 更新第二行全部数据
B(B > 5) = NaN; % 将大于5的地方设为空值标记NaN
C(find(C == max(C))) = [];% 删除最大值所在项
```
#### 基本变换
提供了多种内置命令用于执行常见的线性代数计算以及形状调整等任务。
- `size(A)`返回各维度大小组成的向量;
- `length(A)`给出最长边长度[^2];
- `reshape(X,m,n,...)`改变现有结构而不影响内部储存顺序;
- `transpose()`转置操作;
- `flipud()/fliplr()`上下/左右翻转图像;
- `rot90(M,k)`逆时针旋转k*90度角;
#### 排序与重排
对于有序列表而言,有时需要对其进行升序降序处理或是随机打乱次序以便后续分析工作开展。
- `sort(v,'ascend')`按增序排列向量v;
- `randperm(n)`产生从1到n之间的整数的一个随机置换版本作为新向量输出;
- `shuffle(m)`实现对整个二维表m内所有成分彻底混洗的效果;
以上仅列举了一些基础性的知识点,在实际应用过程中还涉及到更多高级特性等待探索发现[^1]。
阅读全文
相关推荐


















