matlab中怎么取矩阵的一部分

2021-03-07 20:07:34 字数 5623 阅读 3511

1楼:滟丽

1、打开matlab,在命令行窗口中输入a=[1 2 3 4;4 5 6 7;1 2 3 4],按回车键创建一个3行4列的矩阵。

2、如果我们想获取矩阵第2行第3列的数据,输入a(2,3)。

3、想获取矩阵第3列的第一个和第三个,输入a([1 3],3)。

4、想获取矩阵某列的连续数据,可以使用a(1:2,3),获取第3列第1个到第2个数据。

5、使用a(2:end,3)获取第3列,第2个到最后一个数据,根据需要获取矩阵数据即可。

2楼:ieio啊

matlab中要取一个矩阵的一部分,可以参考以下内容:

比如说有一个5×5的矩阵,想取它右下脚3*2的矩阵,应该用命令:

a=zeros(5,5)

b=a(3:5,4:5)%取a的(3-5行,4-5列)

b即为所取

matlab中取一个矩阵的一部分(比如格式a(m,n),用于提取矩阵a中符合m,n要求的部分):

1、提取某个元素,则m,n为数字标量,如a(2,3)为第二行第三列的元素。

2、提取某行某列

a(:,n)提取第n列的所有元素,如a(:,3)提取第三列的所有元素;

a(m,:)提取第m行的所有元素,如a(3,:)提取第三行的所有元素;

3、提取任意的某部分并重新组成新的矩阵,连续或不连续,单调或不单调

数字指定:a([1 2 3 4],[2 3]) 返回1 2 3 4行2 3 列的数据;

步长指定:a(1:2:end,:) a(2:2:end,:)分别提取矩阵a的奇数行和偶数行数据;

a(end:-1:1,:) a(:,end:-1:1)分别返回a矩阵行倒序和列倒序的矩阵

变量指定:a(b(:,1),:),其中b的第一列含有数据,用来指定取矩阵a的哪些行。

4、变量指定,假设一个矩阵x1中存储的是坐标,用矩阵x1的坐标访问矩阵labels_left中对应的元素:

for i = 1:size(x1,1)

x = labels_left(x1(i,2),x1(i,1));%匹配对1在左图中的label数

3楼:摩羯面对现实

matlab中取一个矩

阵的一部分方法如下:

格式a(m,n),用于提取矩阵a中符合m,n要求的部分

1、提取某个元素,则m,n为数字标量,如a(2,3)为第二行第三列的元素。

2、提取某行某列

a(:,n)提取第n列的所有元素,如a(:,3)提取第三列的所有元素;

a(m,:)提取第m行的所有元素,如a(3,:)提取第三行的所有元素;

3、提取任意的某部分并重新组成新的矩阵,连续或不连续,单调或不单调

数字指定:a([1 2 3 4],[2 3]) 返回1 2 3 4行2 3 列的数据;

步长指定:a(1:2:end,:) a(2:2:end,:)分别提取矩阵a的奇数行和偶数行数据;

a(end:-1:1,:) a(:,end:-1:1)分别返回a矩阵行倒序和列倒序的矩阵

变量指定:a(b(:,1),:),其中b的第一列含有数据,用来指定取矩阵a的哪些行。

4、变量指定,假设一个矩阵x1中存储的是坐标,用矩阵x1的坐标访问矩阵labels_left中对应的元素:

for i = 1:size(x1,1)

x = labels_left(x1(i,2),x1(i,1));%匹配对1在左图中的label数

end扩展资料:

matlab中取一个矩阵的一部分的用法:

1、提取大矩阵的一列、一行元素:

一列元素: a(:,j)表示提取a矩阵的第j列全部元素

一行元素: a(i,:)表示提取a矩阵的第i行元素,

于是我们有,a(i, j)表示提取a矩阵的第i行第j列的元素。

2、提取多行多列元素

多行元素: a(i:i+m,:)表示提取a的第i行到第i+m行的元素。

多列元素: a(:,j:j+n)表示提取a的第j列到第j+n列的元素。

提取块: a(i:i+m, j:j+n)表示的是mxn的一个子块的元素。

4楼:du瓶邪

比如原矩阵为a=[1 2 3;4 5 6;7 8 9;10 11 12],现在要生成b=[1 2;4 5;7 8],即提取了原来矩阵的1、2两列和1、2、3三行~

b = a(1:3, 1:2)

即使提取的行列不连续或者次序需要颠倒也可以写成诸如a([1,3,6], [4,3,1,5])这样的形式

5楼:奔三不再二

matlab 矩阵

元素与子矩阵的提取

>> %矩阵元素的提取

>> a=[1 2 3;4 5 6;7 8 9;10 11 12]

a =1 2 3

4 5 6

7 8 9

10 11 12

>> a(3,1)%提取 a 矩阵第 3行,第 1列的元素

ans =

7>>>> %通过元素序号提取元素(矩阵元素序号与它的存储顺序是一一对应的! )

>> a(6)

ans =

5>> %matlab中矩阵元素按列存储,首先是第 1列,其次是第 2列 ......

>>>> %使用函数 find(c)查找符合条件的矩阵元素的行和列

>> %函数 find(c)的使用格式 [row,col]=find(c),c一般为逻辑表达式; row 返回满足条件的元 素的行号, col 返回满足条件的元素的列号。

>> a=[12 34 26 17 21;61 50 89 12 8;25 62 91 23 47]%查找 a 矩阵中大于等于 20、小于等于 60的元素。

a =12 34 26 17 21

61 50 89 12 8

25 62 91 23 47

>> [r,c]=find(a>=20&a<=60);

>> b=find(a>=20&a<=60);

>> disp('符合条件的矩阵元素的行号和列号:'),[r,c]

符合条件的矩阵元素的行号和列号:

6楼:匿名用户

a=zeros(5,5)

b=a(3:5,4:5)%取a的(3-5行,4-5列)

b为所取

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

7楼:非常可爱

解决这个问题的bai方法如du下:

1、第一步打开matlab命令

zhi行窗口,输入a=[1 2 3;4 5 6;7 8 9;6 4 7],创建一dao个a矩阵

回。2、第二步答输入a(1:2,1:3),进行提取a矩阵的第1,2行第1到3列。

3、第三步按回车键之后,可以看到已经提取了a矩阵的第1,2行第1到3列。

4、第四步输入a(2:3,1:2),进行提取a矩阵第2到3行第1到2列。

5、第五步按回车键之后,可以看到提取了a矩阵第2到3行第1到2列,根据需要提取矩阵就可以。

8楼:匿名用户

使用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)就可以了

9楼:盖饭的这个的

使用a(m,n)可以提bai取矩阵a中符合m,n要求的部分du

最简单是m,n都是标量zhi,就dao

是一个数例如

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)就可以了

10楼:施西贝虎

假设a是抄10x 10的矩阵,那么提取第5列中袭的部分数据可bai以采用以下方法:

1, a(:,5) %提取du

zhi5列全部

2, a(2:5,5);%提取5列中2到dao5行的数据3, a(3,5);%提取5列中第三行的数据4, a(a(:,5)==x,5); %提取第5列中等于值x的那个数据

11楼:三分不粘网

可以把矩阵的参数幅值早工作区域,然后双击矩阵,就可以了

matlab中如何取出矩阵中的某一个值

12楼:藤阁美人

1、打开matlab,在命令行窗口中输入a=[1 2 3;4 5 6],按回车键,创建一个2行3列的a矩阵内

2、如果我们想获取矩阵第

容2行第1列的值,输入a(2,1)

3、如果想获取矩阵第2行第3列的值,输入a(2,3)4、如果想间隔的获取矩阵多个值,可以使用a(2,[1 3])方式,这是获取矩阵第2行第1列,第3列的值

5、如果我们想获取第2行的数据,可以使用a(2,:)

13楼:天云一号

在matlab中,取出bai矩阵中某一个值的方du法如下:

1、对于二维数组zhi:dao

a(i, j) % 表示取出专二维数组a的第

属 i 行,第 j 列的数据

a(:, j) % 表示取出二维数组a的第 j 列的所有数据

a(i, :) % 表示取出二维数组a的第 i 行的所有数据

2、多维数组的方法与二维数组类似(以三维数组为例):

b(i, j, k) % 表示取出三维数组a的第k个二维数组的第 i 行,第 j 列的数据

b(:, j, k) % 表示取出三维数组a的第k个二维数组的第 j 列的所有数据

b(i, :, k) % 表示取出三维数组a的第k个二维数组的第 i 行的所有数据

b(i, j, :) % 表示取出三维数组a的每个二维数组的第 i 行,第 j 列的数据

用matlab怎么对矩阵求导,Matlab中如何求导?

1楼 匿名用户 本来就可以对矩阵求导。例如 syms x a sin x 2 x log x x 2 diff a matlab中如何求导? 2楼 张宇 操作方法如下 1 打开matlab软件 2 输入指令clear clc 清空工作空间 3 输入指令sy x定义一个符号 变量,如图所示 4 输入指...

matlab中单位矩阵用什么表示

1楼 告清竹洋画 查了一下matlab的help文档,里面也没有给出说明。 我思考了一下,可能是因为单位阵常常用 i 这个字母来代表。 而 i 的读音与 eye相同,所以就用eye 来命名生成单位矩阵的函数了。 你这个问题提得很有趣,很高兴能与你交流 2楼 匿名用户 a eye n 该函数产生n n...

怎么求矩阵的行阶梯形矩阵,怎么求一个矩阵的行阶梯形矩阵

1楼 匿名用户 通过初等行变换可将一个矩阵变为行阶梯形矩阵。 怎样把线性代数中矩阵化为行阶梯型 2楼 熙苒 1 先将第一行 第一列,即主对角线上的第一个数变成1 通常都是用1开头 2 第二行加上或减去第一行的n倍使得第二行第一个元素变成0 3 之后让第三行先加上或减去第一行的a倍消去第三行第一个元素...