matlab矩阵的基本操作

一、创建矩阵

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

1、一般矩阵

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

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

a =

     2     3     5     2
     6     3     4     5
     2     5     6     3
     3     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     0
     0     1     0
     0     0     1
特殊地有如
>> c=eye   //返回1              

c =

     1

>> c=eye(2,3)  //返回主对焦线为1,其余元素为0

c =

     1     0     0
     0     1     0

二、基于一个矩阵的操作


首先创建一个矩阵A

A =

     2     8     6     3
     6     5     2     4
     7     9     3     8
     5     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 =

    19
    17
    27
    22

//第 d 到 k 行求第 i 到 j 列的和
>> sum(A(2:4,1:3),2)

ans =

    13
    19
    14

>> sum(A(:,1:3),2)

ans =

    16
    13
    19
    14
(3)对矩阵整体求和
>> sum(A(:))
结果:
ans =

    85
2、对矩阵中每一个元素执行相同的运算

(1)四则运算

>> A+2

ans =

     4    10     8     5
     8     7     4     6
     9    11     5    10
     7     4     9    10
**减、乘、除运算同理

(2)三角函数

>> sin(A)

ans =

    0.9093    .9894   -0.2794    0.1411
 %2 -0.2794   -0.9589    0.9093   -0.7568
    0.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     5
     8     5     9     2
     6     2     3     7
     3     4     8     8

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

A(i,j)=m
其中 i 和 j 分别表示矩阵中的行和列,m为矩阵第 i 行第 j 列的新值。如:
>> A(2,3)=0

A =

     2     8     6     3
     6     5     0     4
     7     9     3     8
     5     2     7     8

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


4、改变矩阵的维度扩展

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

>> A(5,5)=4

A =

     2     8     6     3     0
     6     5     2     4     0
     7     9     3     8     0
     5     2     7     8     0
     0     0     0     0     4
(2)矩阵串联也可以增加矩阵的维度(串联运算符 " [ ] ")
>> S=[A,A]

S =

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

S =

     2     8     6     3
     6     5     2     4
     7     9     3     8
     5     2     7     8
     2     8     6     3
     6     5     2     4
     7     9     3     8
     5     2     7     8

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










  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值