MATLAB基础学习(三)-常用的系统自带函数,数值变量篇

上一篇学习了变量的类型和赋值,现在学习变量的基本运算及常用的系统自带的函数,通过学习这些运算和函数,可以完成一些简单的计算。

1.数值变量的基本运算
    数值变量都是矩阵,矩阵之间最基本的运算有加、减、乘(方)、转置,运算符分别是+-*',与数学中的一般表示无异,但仍有一些地方需要注意,以下结合代码进行说明。
1)矩阵加减法只有维度相同的矩阵才能进行,例如

  1. a=[1 2]
  2. b=[1 3]
  3. c=[1;2]

d=a+b

d=a-b

都是可以进行的,因为a和b都是1行2列,

d=a+c

则无法进行,因为数学上,不同维度的矩阵加减法并没有定义。
2)矩阵乘法只有第一个矩阵的列数等于第二个矩阵的行数时,才能进行,例如上段代码中的abc,则

d=a*c

是可以进行的,但

d=a*b

则不能进行,原因同样是因为这种计算在数学上没有定义。还有一种特殊的乘法,也就是乘方,例如

  1. A=[1 2;3 4]
  2. B=A*A

这样的矩阵乘法可以写成

B=A^2

当然,数学上规定,只有方阵才能进行乘方
3)矩阵与数乘除,由于数也可以看做1*1的矩阵,因此这是一种特殊的矩阵乘除法,和数学上定义一样,比如

  1. d=a*2
  2. d=a/2

这些都能进行。
4)转置,任何维度的矩阵都可以进行转置,例如

d=a'

就会将a这个行向量转置,得到一个列向量d。需要注意的是,这种运算更准确的说法是共轭,对实数矩阵而言,这两种说法并没有什么区别,但对复数矩阵而言,共轭的意思,不仅是把a(i,j)和a(j,i)交换位置,更要把所有元素的虚数部分乘以-1。
2.数值变量的特殊运算
    和其他软件不同,matlab里提供了一些很有意思的运算符,有点乘.*、点除./和点方.^,这些运算符在本身的运算符前加一个点,可以实现很强大的功能,但由于和一般的运算符太像,也造成了很多人混淆。这些运算符有很多叫法,比如.*,一般称为点乘、元素乘、数乘,这些叫法都是为了让这个运算符区别于普通的乘,有时为了强调这种区别,也把通常的乘叫矩阵乘。
    简单而言,这些运算的含义是将矩阵作为一般的数来进行运算,比如

  1. [1 2 3].*[4 5 6]
  2. [1*4  2*5  3*6]
  3. [1 2 3]./[4 5 6]
  4. [1/4  2/5  3/6]
  5. [1 2 3].^3
  6. [1^3  2^3  3^3]

所以这里点乘和点除需要注意,只有同样维度的矩阵才能进行这种特殊运算。另外点除还要注意不要除以零,虽然matlab并不会报错,但除以零在数学上没有定义,所以这种除法其实已经失去了意义。
    于是,什么时候用矩阵乘,什么时候用点乘,其实是看计算的目的,但有些时候,这两种运算符的确是等效的:
1)数字的乘除

  1. 1*1
  2. 1.*1

当然结果相同
2)矩阵与数字的乘除

  1. 1*a
  2. 1.*a

结果也是一样的
3.数值变量的常用函数
    这里的函数都可以通过doc+函数名查到更详细的帮助,因此仅列出典型用法。

  1. a=ones(3)
  2. a=ones(1,5)

生成指定大小的全1矩阵

 

  1. a=zeros(3)
  2. a=zeros(1,5)

生成指定大小的全0矩阵

 

a=eye(3)

生成指定大小的单位方阵

 

inv([1 2;3 4])

矩阵求逆,只能对方阵操作。matlab有左除法,通常更高效,如有需要也可尝试

 

size([1 2;3 4])

获得矩阵的行数和列数

也可以通过

size([1 2;3 4],1)

单独获得行数或者列数

 

length([1 2 3])

获得向量的长度,这个命令也可以对矩阵操作,当然一般只对向量操作

  1. max([1 2 3])
  2. min([1 2 3])

获得向量的最大和最小值,也可以对矩阵操作

 

sort([2 1 3])

按大小对向量进行排序,也可以对矩阵操作

 

sum([1 2 3])

求和,也可以对矩阵操作

 

cumsum([1 2 3])

累积求和,类似求定积分,一般只对向量操作,需要注意的是,累积求和后,结果和原向量长度一样

 

diff([1 2 5 6])

差分运算,类似于求导,一般只对向量操作,需要注意的是,差分操作后,结果的长度比原向量少一

plot([1 2.5 3],[5 6 4])

画图,需要注意的是,两个向量的长度要相等才能画图

 

exp([1 2])

指数函数,类似的数学函数还有三角函数(sin,cos,tan,asin,acos,atan),对数函数(log),这些函数在对矩阵操作时,相当于对矩阵中的每个元素进行操作,类似点乘这样的运算符。

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨广帅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值