MATLAB如何提取某一矩阵的某一列的部分数据?

2024-10-30 15:43:03
推荐回答(2个)
回答1:

使用a(M,N)可以提取矩阵a中符合M,N要求的部分

最简单是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 列的数据

总之matlab通过的下标提取矩阵部分是很灵活的,假设要提取矩阵a第n列的数据,使用a(:,n)就可以了,如果是要提取第n列前10个数据使用a(1:10,n)就可以了。

扩展资料:

常用函数

floor(x):下取整,即舍去正小数至相邻整数

ceil(x):上取整,即加入正小数至相邻整数

rat(x):将实数x化为多项分数展开

rats(x):将实数x化为分数表示

sign(x):符号函数(Signum function)

log10( ) 以10为底对数

acosd( ) 余正弦(返回度数)

sqrt( )  开方

tan( )   正切(变量为弧度)

realsqrt( ) 返回非负根

tand( )  正切(变量为度数)

abs( )   取绝对值

atan( )  反正切(返回弧度)

参考资料来源:百度百科-MATLAB

回答2:

使用a(M,N)可以提取矩阵a中符合M,N要求的部分

最简单是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)就可以了