发布网友 发布时间:2022-04-22 12:42
共2个回答
热心网友 时间:2023-07-28 15:52
最简单是M,N都是标量,就是一个数例如
a(1,1)
a(2,3)分别返回a矩阵1行1列的单元
和
2行3列的单元
M,N还可以是矢量,例如
a([1
2
3
4],[2
3])
返回
1
2
3
4行
2
3
列的数据
这里还有通配的技巧,例如
a(1,:)就是返回a矩阵第一行的所有数据等效于a(1,1:end)或a(1,1:size(a,2))
M,N矢量还可以是不连续的,不是单调的,或者有重复的,例如
a(1:2:end,:)
a(2:2:end,:)分别提取矩阵a的奇数行和偶数行数据重新组成矩阵
a(end:-1:1,:)
a(:,end:-1:1)分别返回a矩阵行倒序和列倒序的矩阵
总之matlab通过的下标提取矩阵部分是很灵活的
假设你要提取矩阵a第n列的数据,使用a(:,n)就可以了
如果是要提取第n列前10个数据使用a(1:10,n)就可以了
热心网友 时间:2023-07-28 15:53
最简单的:
a=rand(3,3)
a
=
0.7922
0.0357
0.6787
0.9595
0.8491
0.7577
0.6557
0.9340
0.7431
b
=
a(:);
b
=
0.7922
0.9595
0.6557
0.0357
0.8491
0.9340
0.6787
0.7577
0.7431
其中b即为把每一列抽出来并依次叠加起来的一个一列的矩阵,不知道你是不是这个意思?
如果要取出固定的某一列,
可以将矩阵的第二维设为固定值,就得到了