当前位置: 代码迷 >> 综合 >> matlab矩阵的基本操作
  详细解决方案

matlab矩阵的基本操作

热度:38   发布时间:2023-10-23 22:02:02.0

一、创建矩阵

首先,我们需要学会创建矩阵,方法如下

1、一般矩阵

a=[2 3 5 2;6 3 4 5;2 5 6 3;3 5 7 8]

说明:a为矩阵名;矩阵内容用 “ [ ] ” 括起来;矩阵的每一行用 “ ; ” 隔开;每一行的各个元素之间用 “空格”或 “逗号” 隔开。

a =2     3     5     26     3     4     52     5     6     33     5     7     8
2、元素全为 “ 1 ” 的矩阵(ones)
b=ones(i,j)
 其中b为矩阵名,i 和 j 为矩阵的维度,i 为行数,j 为列数
b=ones       %创建一个1*1矩阵,元素为1
b=ones(i)    %创建一个 i 维方阵
*元素为0的矩阵同理,函数为zeros(i,j)


3、单位矩阵(eye)

c=eye(i)
矩阵 c 为 i 维单位矩阵

例如

>>c=eye(3)c =1     0     00     1     00     0     1
特殊地有如
>> c=eye   //返回1              c =1>> c=eye(2,3)  //返回主对焦线为1,其余元素为0c =1     0     00     1     0

二、基于一个矩阵的操作


首先创建一个矩阵A

A =2     8     6     36     5     2     47     9     3     85     2     7     8

1、矩阵求和(sum)

(1)按列求和(对矩阵中所有的列分别求和),命令:
>> sum(A)
也可以表示为:
>> sum(A,1)
**其中参数“ 1 ”表示对矩阵的列进行操作

得到结果:

ans =20    24    18    23

(2)对第 i 到 j 行按列求和

>> sum(A(i:j,d:k),1)
** “ i : j "表示从第 i 行到第 j 行,接着还有一个参数 “ d : k ” 表示从第 d 到 k 列按列求和。如果A()中第二个参数为 “ : ” 时代表全部列均求和,如:
>> sum(A(2:4,1:3),1)ans =18    16    12
>> sum(A(2:4,:),1)ans =18    16    12    20

(3)按行求和,其操作与按列求和类似,只是将sum的第二个参数有“ 1 ” 改为 ” 2 “ %8如

//按行求和
>> sum(A,2)ans =19172722//第 d 到 k 行求第 i 到 j 列的和
>> sum(A(2:4,1:3),2)ans =131914>> sum(A(:,1:3),2)ans =16131914
(3)对矩阵整体求和
>> sum(A(:))
结果:
ans =85
2、对矩阵中每一个元素执行相同的运算

(1)四则运算

>> A+2ans =4    10     8     58     7     4     69    11     5    107     4     9    10
**减、乘、除运算同理

(2)三角函数

>> sin(A)ans =0.9093    .9894   -0.2794    0.1411%2 -0.2794   -0.9589    0.9093   -0.75680.6570    0.4121    0.1411    0.9894-0.9589    0.9093    0.6570    0.9894

**cos、tan、sec 等三角函数同%%7

(3)矩阵的转置,命令:

>> A'ans =2     6     7     58     5     9     26     2     3     73     4     8     8

3、改变矩阵中某一个元素的值

A(i,j)=m
其中 i 和 j 分别表示矩阵中的行和列,m为矩阵第 i 行第 j 列的新值。如:
>> A(2,3)=0A =2     8     6     36     5     0     47     9     3     85     2     7     8

矩阵第二行第三列的元素,由2变为0。


4、改变矩阵的维度扩展

(1)直接为矩阵维度之外的元素赋值扩展矩阵维度,除被赋值的新元素外,其余新增加的元素均默认为0。如:

>> A(5,5)=4A =2     8     6     3     06     5     2     4     07     9     3     8     05     2     7     8     00     0     0     0     4
(2)矩阵串联也可以增加矩阵的维度(串联运算符 " [ ] ")
>> S=[A,A]S =2     8     6     3     2     8     6     36     5     2     4     6     5     2     47     9     3     8     7     9     3     85     2     7     8     5     2     7     8
>> S=[A;A]S =2     8     6     36     5     2     47     9     3     85     2     7     82     8     6     36     5     2     47     9     3     85     2     7     8

**水平串联用逗号,垂直串联连用分号。注意:水平串联的两个矩阵需要有相同的行数,垂直串联两个矩阵需要有相同的列数。










  相关解决方案