前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MATLAB-矩阵相关计算(1)

MATLAB-矩阵相关计算(1)

作者头像
用户9925864
发布2022-07-27 09:14:41
3270
发布2022-07-27 09:14:41
举报
文章被收录于专栏:算法工程师的学习日志

在MATLAB中创建矩阵有以下规则:

  • 矩阵元素必须在 “[ ]” 内;
  • 矩阵的同行元素之间用空格(或 “,”)隔开;
  • 矩阵的行与行之间用 “;”(或回车符)隔开;
  • 矩阵的元素可以是数值、变量、表达式或函数;
  • 矩阵的尺寸不必预先定义。

下面的例子中我们创建了一个4×5的矩阵:

代码语言:javascript
复制
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]

MATLAB 将执行上述语句,并返回以下结果:

代码语言:javascript
复制
a =
     1     2     3     4     5
     2     3     4     5     6
     3     4     5     6     7
     4     5     6     7     8

MATLAB引用一个矩阵的元素

如果要引用 mth 行和 nth 列的一个元素,写法如下:

代码语言:javascript
复制
mx(m, n);

例如,参阅第2行和第5列中的元素的矩阵,所创建的最后一节中,我们输入:

代码语言:javascript
复制
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(2,5)

MATLAB将执行上述语句,并返回结果:

代码语言:javascript
复制
ans =
     6

引用m列中的所有元素,我们A型(m)。

接下来我们要从矩阵 a 的第4行的元素开始建立一个列向量 v :

代码语言:javascript
复制
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
v = a(:,4)

MATLAB将执行上述语句,并返回结果:

代码语言:javascript
复制
v =
     4
     5
     6
     7

当然也可以选择第 n 列的 m 个元素,对于这一点,写法如下:

代码语言:javascript
复制
a(:,m:n)

我们建立一个较小的矩阵中的元素,第二和第三列:

代码语言:javascript
复制
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)

MATLAB将执行上述语句,并返回以下结果:

代码语言:javascript
复制
ans =
     2     3
     3     4
     4     5
     5     6

用相同的方式,则可以建立一个子矩阵的一个子部分的矩阵。

代码语言:javascript
复制
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)

MATLAB将执行上述语句,并返回结果:

代码语言:javascript
复制
ans =
     2     3
     3     4
     4     5
     5     6

用相同的方式,则可以创建一个子矩阵的一个子部分的矩阵。

例如,让我们创建一个子矩阵内部子部分的:

代码语言:javascript
复制
3     4     5     
4     5     6    

下述写法可以达到该目的:

代码语言:javascript
复制
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
sa = a(2:3,2:4)

MATLAB将执行上述语句,并返回结果:

代码语言:javascript
复制
sa =
     3     4     5
     4     5     6

MATLAB删除行或列矩阵

可以删除整行或整列的矩阵,只要分配一组空方括号 [ ] 给该行或列。

基本上,[ ] 表示一个空数组。

在下述例子中我们删除第四行:

代码语言:javascript
复制
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a( 4 , : ) = []

MATLAB将执行上述语句,并返回结果:

代码语言:javascript
复制
a =
     1     2     3     4     5
     2     3     4     5     6
     3     4     5     6     7

接下来,我们删除第五列:

代码语言:javascript
复制
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(: , 5)=[]

MATLAB将执行上述语句,并返回结果:

代码语言:javascript
复制
a =
     1     2     3     4
     2     3     4     5
     3     4     5     6
     4     5     6     7

详细例子

在本例中,我们会建立一个3-3的矩阵 m,并把矩阵 m 中的第二行和第三行复制两次,这样就能够建立一个4×3的矩阵。

在MATLAB中建立一个脚本文件,代码如下:

代码语言:javascript
复制
a = [ 1 2 3 ; 4 5 6; 7 8 9];
new_mat = a([2,3,2,3],:)

运行该文件,显示结果:

代码语言:javascript
复制
new_mat =
     4     5     6
     7     8     9
     4     5     6
     7     8     9
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MATLAB引用一个矩阵的元素
  • MATLAB删除行或列矩阵
  • 详细例子
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档