MATLAB01:基本的数学运算与矩阵运算

一 MATLAB01:基本的数学运算与矩阵运算

1 MATLAB基本语法

1.1 变量

  • MATLAB中的变量不需要声明.
  • 使用=为变量赋值
1.1.1 变量名
  • 与大多数编程语言相同,MATLAB中的变量名是大小写敏感的.
  • 变量名只能由[0~9,a~z,A~z,_]组成,且变量名不能以数字开头.
1.1.1.1 保留变量不适合做变量名

MATLAB中有一些变量有其具体意义,不适合用作变量名.

变量意义
ans上一句的运算的结果
ij复数算子
Inf无穷 ∞ ∞
eps浮点相对精度,即1.0到下一个浮点数之间的距离(值为2.2204e-16)
NaN非数字
pi圆周率

除此以外,使用iskeyword命令可以查看MATLAB语言所有的关键字,这些关键字也不允许被用作变量名.

1.1.1.2 变量名不应当覆盖内置函数名

在MATLAB中,变量的调用优先级(calling priority)高于函数,因此变量名不应该覆盖内置函数.
img01

> cos='This string.'; 
> cos(8)	 %对字符串进行索引取值,得到'r'

若某函数被变量名所覆盖,则调用clear <变量名>可以取消绑定在该函数名上的变量名

clear cos	% 清除绑定在cos上的变量
cos(8)		% 调用内置余弦函数运算得到-0.1455

clear是一个比较危险的命令,因为该命令后若不加参数,则表示清除当前工作区内的所有变量.

1.1.2 变量类型

MATLAB中的变量类型有: logical,char,numeric,cell,struct以及由他们组成的数组或矩阵.
img02

1.1.2.1数字型变量的显示格式

我们直接定义的数字型变量,默认是以double形式存储的.

我们可以通过format <显示格式>改变数字型变量的显示格式.

显示格式说明例子
short短定点格式.显示小数点后4位3.1416
long长定点格式.对double类型变量显示小数点后15位,对float类型变量显示小数点后7位.3.141592653589793
shortE短科学计数法,显示小数点后4位.并带有科学计数法标记.3.1416e+00
longE长科学计数法.对double类型变量显示小数点后15位,对float类型变量显示小数点后7位.并带有科学计数法标记.3.141592653589793e+00
bank银行格式.显示小数点后2位.3.14
hex十六进制格式.400921fb54442d18
rat比例格式355/113

1.2 MATLAB命令行

  • 使用行尾;抑制输出: 在一行命令后使用;抑制输出,否则运算结果将被显示在终端上.
  • 其他实用的命令:
命令作用
clc清除终端的输出
clear清除当前工作区内所有变量
who以简略格式显示工作区内所有变量
whos以复杂格式显示工作区内所有变量

2 使用MATLAB进行数字运算

2.1 使用MATLAB计算数学表达式

  • MATLAB常见运算符有: +,-,*,/,^.
  • 数学表达式被计算后,其值被存入变量ans.
  • 运算的优先级规则:
    • 同等优先级下从左向右运算.
    • 优先级顺序(从高到低)
    1. 括号()
    2. 乘方^
    3. 乘除法*,/
    4. 加减法+,-

下面例子演示了数学表达式求值:
img03

2.2 MATLAB内置的数学函数

2.2.1MATLAB内置的算数运算函数
  • 基本运算: 加: +,sum,cumsum,movsum
    • 减: -,diff
    • 乘: .*,*,prod,cumprod
    • 除: ./,.\,/,\
    • 乘方: .^,^
  • 取模运算(取模运算是求两个数相除的余数): mod,rem,idivide,ceil,fix,floor,round
2.2.2MATLAB内置的三角运算函数
  • 正弦: sin,sind,sinpi,asin,asind,sinh,asinh
  • 余弦:cos,cosd,cospi,acos,acosd,cosh,acosh
  • 正切: tan,tand,atan,atand,atan2,atan2d,tanh,atanh
  • 余割:csc,cscd,acsc,acscd,csch,acsch
  • 正割: sec,secd,asec,asecd,sech,asech
  • 余切:cot,cotd,acot,acotd,coth,acoth
  • 斜边(C = sqrt(abs(A).^2 + abs(B).^2) 求第三边): hypot
  • 转换:deg2rad,rad2deg,cart2pol,cart2sph,pol2cart,sph2cart
2.2.3 MATLAB内置的指数对数函数:

exp,expm1,log,log10,log1p,log2,nextpow2,nthroot,pow2,reallog,realpow,realsqrt,sqrt
exp
在这里插入图片描述
expm1:
在这里插入图片描述
log:
在这里插入图片描述
log10
在这里插入图片描述
log1p:
在这里插入图片描述nextpow2:
在这里插入图片描述

2.2.4 MATLAB内置的复函数:

abs,angle,complex,conj,cplxpair,i,imag,isreal,j,real,sign,unwrap

3 使用MATLAB进行矩阵运算

3.1 定义矩阵

3.1.1 向终端输入矩阵

在MATLAB中,使用[]将待输入的矩阵内容括起来,使用空格或逗号,分隔行内变量,使用;分隔每一行.

下面例子演示了矩阵的定义:
img04

3.1.2 使用冒号运算符创建向量

使用冒号运算符:可以创建一个长向量,其语法如下:
img05
下面例子演示了冒号运算符的使用:
img06

3.1.3 定义特殊矩阵

下列命令可以定义特殊矩阵
img07

3.2 矩阵的索引

  • MATLAB中的矩阵是以列先序存储的.且索引下标从1开始.
  • 矩阵有两种索引方式: 按一维索引和按二维索引.对于一个一般的矩阵,其索引顺序如下:
    img08
  • 矩阵的索引可以使用冒号:,表示选取所有行或所有列.
  • 矩阵的索引可以是一个或两个向量,表示选中向量内的所有行或所有列.

下面例子演示了矩阵索引的规则:
img09

3.3 矩阵的操作

3.3.1 操作矩阵的运算符

img10

3.3.2 操作矩阵的函数

下面对矩阵
img11
进行操作以演示操作矩阵的常见函数
img11
对于上面这些函数,除第一个参数以外,其它参数都是可选的.
博文原址:https://blog.csdn.net/ncepu_Chen/article/details/103034286
A’ 为转制, 把矩阵的行与列相互转换
inv:逆矩阵
det:Matlab中,该函数用于求一个方阵(square matrix)的行列式
diff:求导,相关介绍:https://blog.csdn.net/u013018721/article/details/37766187
syms:定义符号变量的函数
C(:,1) :表示全要,这表示第一列
C(1,:): 表示第一行
eye(3):表示单位矩阵
rand(3):服从0-1分布的矩阵
mean:表示均值
B(😃: 将矩阵转换为列矩阵
reshape(a, 3, 3):将矩阵A转换为3x3矩阵
最小二乘解
a = [1 1; 1 -1; 1 2]
b = [2;0;4]
x = a\b
x = 1.1429 ; 1.28357
定义匿名函数:
f = @(x)log(ans) - sin(ans)
vpa
limit
写的太好了,小刘转载。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

好饿呀~~~

我这么菜,配得上你的打赏吗?

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

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

打赏作者

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

抵扣说明:

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

余额充值