1-1、基本运算与函数 Q^Z}Y~.
Z.(x|Q9
在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如: WcG&W>
Q~{@3<yEI
>> (5*2+1.3-0.8)*10/25 ,~iAoxD5jY
}O{"qs#)
ans =4.2000 Al]9/ML/m
21 j+c{O
MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答 案(Answer)并显示其数值於萤幕上。 uK5Px!
pwC/&bu
小提示: ">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。 Xlw=R2`)~
v a;wQ~&
我们也可将上述运算式的结果设定给另一个变数x: TZ2f-KI
YR.'JF`C
x = (5*2+1.3-0.8)*10^2/25 uoHhp 4>^
q Q8l8
x = 42 bb/MnhB
r&DK> H
此时MATLAB会直接显示x的值。由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。 +rY0/T_0,
{`Z)'G\`
小提示: MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。 [9^e
u>)A
RJ44o>L4O
若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例: o3kj7U:'x
mY(
_-[W
y = sin(10)*exp(-0.3*4^2); cf'Z#NfQ
A-$BB=Ot
若要显示变数y的值,直接键入y即可: eX@q'Zi
m`"s$\fah
>>y )O
Cr6UR
Nb1lawC
y =-0.0045 Akf9nT
E>D@#I>
在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数。 0]~n8mB>
p]oo^
下表即为MATLAB常用的基本数学函数及三角函数: tPHiz%
zL'n
J
小整理:MATLAB常用的基本数学函数
"kC>EtaX
|93%,
abs(x):纯量的绝对值或向量的长度 TW0^wSm
\tqAv'jA|
angle(z):复 数z的相角(Phase angle) /<Et
r%9Sx:F
sqrt(x):开平方 c[$oR,2b13
L\[jafb_`
real(z):复数z的实部 MC@cT^Z^
zZHsS$/
imag(z):复数z的虚 部 |T%/d#b~
+h/$_5
conj(z):复数z的共轭复数 o_n.,=/cZ
~Zm(p*\T
round(x):四舍五入至最近整数 :O%O``xT
OA0\b_
fix(x):无论正负,舍去小数至最近整数 DI7trR`
ceCshxTU
floor(x):地板函数,即舍去正小数至最近整数 $7,dKC &
b4wJnmC8
ceil(x):天花板函数,即加入正小数至最近整数 iC]}M
Su7?-vY
rat(x):将实数x化为分数表示 .8m)^ET
"$&F]0
rats(x):将实数x化为多项分数展开 HNPr|
(
~6nQ-
sign(x):符号函数 (Signum function)。 wSK?mS6
t-Wn@a
当x<0时,sign(x)=-1; ZU|nKt<GK
:<W8uDAs
当x=0时,sign(x)=0; [~3p+
9maw+ c!~
当x>0时,sign(x)=1。 ol\IT9Zb~
\Mi< ROp5
> 小整理:MATLAB常用的三角函数 ,]MX&]
bCF63(0
sin(x):正弦函数 %YXC-E3@O
o\#C] pp
cos(x):馀弦函数 uP$K{ )
MouYZI)
tan(x):正切函数 zM!*r~*k$
'54@-}D
asin(x):反正弦函数 g`j%jQuY
J}x5Ko@
acos(x):反馀弦函数 -=RXhE_{
DF~w20+
atan(x):反正切函数 7~',q"4P/_
H{BjxZ~)
atan2(x,y):四象限的反正切函数 b6lL8KOu
}Z6/b
_kV
sinh(x):超越正弦函数 w-2]69$k
!>tXib]:
cosh(x):超越馀弦函数 ,-b9:]{L
Rg6>6.fk*
tanh(x):超越正切函数 38#(ruv
dM') <lF
asinh(x):反超越正弦函数 2'_sGAH
01Aa.i^d(
acosh(x):反超越馀弦函数 QWoEo
c2C8}XJ|O
atanh(x):反超越正切函数 0KZ 3h|4lP
25(\'484>
变数也可用来存放向量或矩阵,并进行各种运算,如下例的列向量(Row vector)运算: ?`r/_EKNv
|'.SOm9)*
x = [1 3 5 2]; s)V^_@Z9
&ke4":7X
y = 2*x+1 vV|egmw01
k5($b{
y = 3 7 11 5 2{&" 3dq
~i
\69q%
小提示:变数命名的规则 5Z:HCp-aG
oGM.{\i
1.第一个字母必须是英文字母 2.字母间不可留空格 3.最多只能有19个字母,MATLAB会忽略多馀字母 5E@V@kw
IE6/
E
我们可以随意更改、增加或删除向量的元素: \ Q6Ip@?
pv T!6+
y(3) = 2 % 更改第三个元素 Qhr:d`@^]
SbZk{lWcq
y =3 7 2 5 *<hpq)
, ^nUi c
y(6) = 10 % 加入第六个元素 /b*@dy
bHP-Z9riv
y = 3 7 2 5 0 10 23=;v@
K.%E=^~q
y(4) = [] % 删除第四个元素, IV*}w"r
J kA~Ol
y = 3 7 2 0 10 H [v~
z TK
在上例中,MATLAB会忽略所有在百分比符号(%)之後的文字,因此百分比之後的文字均可视为程式的注解(Comments)。MATLAB亦可取出向量的一个元素或一部份来做运算: "7l}X{b
._yr7uY[M
x(2)*3+y(4) % 取出x的第二个元素和y的第四个元素来做运算 8P*n|]B.'
NE! Xt <A
ans = 9 'e&4#VLH^
z}&