将列向量合成矩阵_MATLAB矩阵的建立与引用

本文介绍了在MATLAB中创建矩阵的两种方法,包括直接建立矩阵和通过子矩阵组合,并详细讲解了结构矩阵和单元矩阵的建立。此外,还讨论了如何引用矩阵元素,包括单个元素、子矩阵以及如何改变矩阵形状。示例代码丰富,帮助理解MATLAB矩阵操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

aa4d90fe25ccfa9b8ae7c385b0cb9b9a.png
  1. 矩阵的建立

两种方法:

(1)直接建立自己想要的矩阵

(2)通过已有的子矩阵合成为一个大的矩阵。

For example:

>> A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16]

A =

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

>> B=[1 2;5 6];

>> C=[3 4;7 8];

>> D=[9 10;13 14];

>> E=[11 12;15 16];

>> F=[B C;D E]

F =

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

1.1 结构矩阵的建立

结构矩阵:结构数据类型可以把一组数据类型不同,而逻辑上相关的数据组成一个整体。其中每一个数据都是这个整体中的一个成员。

建立格式: 结构矩阵元素.成员名=表达式

建立一个学生信息表

For example:

>> A(1).xuehao=1;A(1).name='xiao ming'; A(1).mask=[89 87 86];

>> A(2).xuehao=2;A(2).name='xiao hong'; A(2).mask=[97 85 86];

>> A(3).xuehao=3;A(3).name='xiao hua'; A(3).mask=[68 99 92];

bb1d43849e78e01b7f5ca8816430ec62.png

1.2单元矩阵的建立

与结构矩阵的相同点:都是把不同类型数据放在同一个矩阵中。

与结构矩阵的不同点:结构矩阵的各个元素下还有成员,每个成员都有自己的名字。而单元矩阵的元素就是不同类型的数据

建立格式:与一般矩阵相似,只是最后用大括号括起来。

For example:

>> A={1 'xiao ming' [91 92 93];2 'xiao hong' [91 92 98];1 'xiao bing' [99 92 93]}

A =

[1] 'xiao ming' [1x3 double]

[2] 'xiao hong' [1x3 double]

[1] 'xiao bing' [1x3 double]

2.矩阵元素的引用

2.1引用矩阵中单个元素

A(3,2)表示A矩阵第三行第二列的元素

用法:

(1)调用矩阵中的某一个元素

(2)也可以把某一个值赋给矩阵某一位置的元素

For example:

>> A=[1 2 3;4 5 6;7 8 9];

>> A(3,1)

ans =

7

>> A(3,1)=21

A =

1 2 3

4 5 6

21 8 9

在matlab中,矩阵元素按列储存,即首先储存矩阵的第一列元素,然后储存第二列元素。。。。。

矩阵元素的序号就是矩阵元素在内存中的排列顺序。

For example:

>> A=[1 2 3;4 5 6;7 8 9];

>> A(5)

ans =

5

2.2利用冒号表达式引用子矩阵

A(i,:) 第i行的全部元素

A(:,j) 第j列的全部元素

A(i:i+m,k:k+m) 第i~i+m行内且在第k~k+m列中的所有元素

A(i:i+m,:) 第i~i+m行的全部元素

For example:

>> A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15]

A =

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

>> A(1:2,:)

ans =

1 2 3 4 5

6 7 8 9 10

>> A(2,:)

ans =

6 7 8 9 10

>> A(:,2)

ans =

2

7

12

>> A(1:2,2:5)

ans =

2 3 4 5

7 8 9 10

2.3改变矩阵形状

(1)reshape(A,m,n) : 在矩阵总元素保持不变的前提下,将矩阵A重新排列成m*n的二维矩阵。

注:只改变原矩阵行数与列数,不改变原矩阵元素个数及储存顺序。

For example:

>> x=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18];

>> y=reshape(x,3,6)

y =

1 4 7 10 13 16

2 5 8 11 14 17

3 6 9 12 15 18

(2)A(:) :将矩阵A的每一列元素堆叠起来,成为一个列向量

For example:

>> x=[1 2 ;3 4];

>> y1=x(:)

y1 =

1

3

2

4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值