matlab中矩阵的简单操作 --- 创建,索引,重排,转置,拆分,删除,扩转,压缩
2017-10-13 18:01
357 查看
>> %矩阵的索引操作 --- 根据行列或者序号获取矩阵中的元素 --- 行列信息和序号信息可以相互转换
>> clear
>> temp
未定义函数或变量 'temp'。
>> load('matlab.mat')
>> load('temp.mat')
>> load('matlab.mat')
>> matlab01
>> A
A =
1 2 3
4 5 6
7 8 9
>> A(2,2)
ans =
5
>> %根据行下标和列下标来处理
>> %根据序号来处理,这可以将矩阵看成是一维数组,序号相当于数组的下标,只是matlab中是按列存储而非按行存储。
>> A(6)
ans =
8
>> %逆向搜索,已知元素求元素在矩阵中的下标或者序号
>> [m, n] = find(A == 6)
m =
2
n =
3
>> index = find(A == 6)
index =
8
>> %矩阵的下标和矩阵的序号之间可以进行转换
>> [a, b] = ind2sub(size(A), 6)
a =
3
b =
2
>> ind = sub2ind(size(a), 3, 2)
错误使用 sub2ind (line 52)
下标超出范围。
>> ind = sub2ind(size(A), 3, 2)
ind =
6
>> %重排矩阵
>> B = reshape(A, 9, 1)
B =
1
4
7
2
5
8
3
6
9
>> %矩阵的转置
>> C = B'
C =
1 4 7 2 5 8 3 6 9
>> %矩阵的拆分
>> D = C(1,1:3)
D =
1 4 7
>> E = C(2, 1:3)
索引超出矩阵维度。
>> E = A(2, 2:3)
E =
5 6
>> F = A(2:3, 1:2)
F =
4 5
7 8
>> %删除矩阵中的元素
>> F(2) = [];
>> F
F =
4 5 8
>> F(1, :) = []
F =
Empty matrix: 0-by-3
>> B = A(1:2, :)
B =
1 2 3
4 5 6
>>%矩阵的扩展
>> C = repmat(B, 3, 2)
C =
1 2 3 1 2 3
4 5 6 4 5 6
1 2 3 1 2 3
4 5 6 4 5 6
1 2 3 1 2 3
4 5 6 4 5 6
>>矩阵的压缩
>> D = [1 2 3 4 5 6 7 2 3 1 4 5 6];
>> E = unique(D);
>> D
D =
1 2 3 4 5 6 7 2 3 1 4 5 6
>> E
E =
1 2 3 4 5 6 7
>>
>> clear
>> temp
未定义函数或变量 'temp'。
>> load('matlab.mat')
>> load('temp.mat')
>> load('matlab.mat')
>> matlab01
>> A
A =
1 2 3
4 5 6
7 8 9
>> A(2,2)
ans =
5
>> %根据行下标和列下标来处理
>> %根据序号来处理,这可以将矩阵看成是一维数组,序号相当于数组的下标,只是matlab中是按列存储而非按行存储。
>> A(6)
ans =
8
>> %逆向搜索,已知元素求元素在矩阵中的下标或者序号
>> [m, n] = find(A == 6)
m =
2
n =
3
>> index = find(A == 6)
index =
8
>> %矩阵的下标和矩阵的序号之间可以进行转换
>> [a, b] = ind2sub(size(A), 6)
a =
3
b =
2
>> ind = sub2ind(size(a), 3, 2)
错误使用 sub2ind (line 52)
下标超出范围。
>> ind = sub2ind(size(A), 3, 2)
ind =
6
>> %重排矩阵
>> B = reshape(A, 9, 1)
B =
1
4
7
2
5
8
3
6
9
>> %矩阵的转置
>> C = B'
C =
1 4 7 2 5 8 3 6 9
>> %矩阵的拆分
>> D = C(1,1:3)
D =
1 4 7
>> E = C(2, 1:3)
索引超出矩阵维度。
>> E = A(2, 2:3)
E =
5 6
>> F = A(2:3, 1:2)
F =
4 5
7 8
>> %删除矩阵中的元素
>> F(2) = [];
>> F
F =
4 5 8
>> F(1, :) = []
F =
Empty matrix: 0-by-3
>> B = A(1:2, :)
B =
1 2 3
4 5 6
>>%矩阵的扩展
>> C = repmat(B, 3, 2)
C =
1 2 3 1 2 3
4 5 6 4 5 6
1 2 3 1 2 3
4 5 6 4 5 6
1 2 3 1 2 3
4 5 6 4 5 6
>>矩阵的压缩
>> D = [1 2 3 4 5 6 7 2 3 1 4 5 6];
>> E = unique(D);
>> D
D =
1 2 3 4 5 6 7 2 3 1 4 5 6
>> E
E =
1 2 3 4 5 6 7
>>
相关文章推荐
- pandas.DataFrame 的操作简单经验(创建,索引,增添,删除)
- (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作
- matlab矩阵的表示和简单操作
- MATLAB向量和矩阵的简单操作
- linux下文件的简单操作(创建、查看、链接、打包压缩、查找)
- (C语言版)链表(四)——实现双向循环链表创建、插入、删除、释放内存等简单操作
- ELK学习总结(2-4)bulk 批量操作-实现多个文档的创建、索引、更新和删除
- (C++版)链表(四)——实现双向循环链表创建、插入、删除等简单操作
- (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作
- MySQ索引操作命令总结(创建、重建、查询和删除索引命令详解)
- 创建Hibernate简单的添加 删除操作
- (C语言版)链表(二)——实现单向循环链表创建、插入、删除、释放内存等简单操作
- mysql创建、删除、重建、删除索引的操作命令的一些总结
- Matlab中导入文本文件中的数据 矩阵合并 以及C++中删除文件操作
- 关于MongoDB索引管理-索引的创建、查看、删除操作详解
- oracle 视图 创建 操作 简单 复杂 基表 不存在 增 删 改 插入 修改 删除 查看 结构
- oracle表空间、用户 创建/删除/更改等简单操作
- matlab矩阵的表示和简单操作
- (C语言版)链表(一)——实现单向链表创建、插入、删除等简单操作(包含个人理解说明及注释,新手跟着写代码)
- PHP简单实现二维数组的矩阵转置操作示例