1-1、基本运算与函数 e^@/Bm+B
7F-b/AdVq
在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如: >:]fN61#
x~GV#c
>> (5*2+1.3-0.8)*10/25 \2<2&=h?
~MY(6P
ans =4.2000 mm=Y(G[_%y
%6<Pt
MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答 案(Answer)并显示其数值於萤幕上。 lq@Vb{Z
JLAg-j2
小提示: ">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。 UBRMV
s
| 4I x2GD
我们也可将上述运算式的结果设定给另一个变数x: |Z;wk&
GtO5,d_
x = (5*2+1.3-0.8)*10^2/25 2vnzB8"k
Z-<v5aF
x = 42 hkgPC-
+^+wS`Y
此时MATLAB会直接显示x的值。由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。 P&aH6*p1
FbM5Bqv
小提示: MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。 )
Q=G&
^TWN_(-@
若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例: @`.u"@
9L#B"lh
y = sin(10)*exp(-0.3*4^2); pOI+
"tIf$z
若要显示变数y的值,直接键入y即可: -R'p^cMA
p2~Q
>>y N0RFPEQ~
%,,h )9
y =-0.0045 na']{a1K
z% /ww7H
在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数。 &`L5UX
\N#)e1.0P
下表即为MATLAB常用的基本数学函数及三角函数: e+R.0E
5,AQ~_,'\
小整理:MATLAB常用的基本数学函数 <Awx:lw.
J+*rjdI
abs(x):纯量的绝对值或向量的长度 @?]-5 ~3;
C6"!'6 W
angle(z):复 数z的相角(Phase angle) h.=B!wKK
3n:<oOV
sqrt(x):开平方 el|t6ZT*
j|G-9E
real(z):复数z的实部
P)ZSxU
>qF KXzI
imag(z):复数z的虚 部 iKabo,~
z~
u@N9M
conj(z):复数z的共轭复数 |I\A0a a
r3j8[&B"
round(x):四舍五入至最近整数 $Qy(ed
|C&eH$?~=R
fix(x):无论正负,舍去小数至最近整数 ^LU[{HZV
uBE,z>/,;
floor(x):地板函数,即舍去正小数至最近整数 H4:TYh
sId5pY!
ceil(x):天花板函数,即加入正小数至最近整数 ,;d9uG2
O[L8(+Sn
rat(x):将实数x化为分数表示 fA,+qs
R-Fi`#PG2
rats(x):将实数x化为多项分数展开 ?3Jh{F_+
?^ErrlI_
sign(x):符号函数 (Signum function)。 |%V.Lae
_5m }g!
当x<0时,sign(x)=-1; xY'g7<})$
%9D@W*Z
当x=0时,sign(x)=0; yX~[yH+Pn
>(*jbL]p
当x>0时,sign(x)=1。 ;ZqFrHI M`
?@#}%<yEq
> 小整理:MATLAB常用的三角函数 f.P( {PN
Gj ^bz'2
sin(x):正弦函数 0 j.Sb2
1I+5
cos(x):馀弦函数 }[DAk~
;&!dD6N
tan(x):正切函数 =5|5j!i=q
Q]7Q
asin(x):反正弦函数 qJ/C*Wqic
#`fT%'T!
acos(x):反馀弦函数 LuqaGy}>-
kxmS
atan(x):反正切函数 L,D>E
i@J,u
atan2(x,y):四象限的反正切函数 P&tK}Se^V
`/AzX *`
sinh(x):超越正弦函数 &rd(q'Vi
@ubz?5
cosh(x):超越馀弦函数 #CS>A#Lk
)mPlB.
tanh(x):超越正切函数 bvx:R ~E$
`@eH4}L*
asinh(x):反超越正弦函数 l =yHx\
qC4-J)8Wk
acosh(x):反超越馀弦函数 _)l %-*Z7p
"P{&UwMmh
atanh(x):反超越正切函数 =R'v]SXj
19.cf3Dh
变数也可用来存放向量或矩阵,并进行各种运算,如下例的列向量(Row vector)运算: :z\f.+MI
H+;wnI>@
x = [1 3 5 2]; eI}VH BAz
h0
Sf=[>z
y = 2*x+1 *e6|SZ &3
vOK;l0%
y = 3 7 11 5 =eqI]rVj^
}SV3PdE
小提示:变数命名的规则 `"H?nf0
]1&9~TL
1.第一个字母必须是英文字母 2.字母间不可留空格 3.最多只能有19个字母,MATLAB会忽略多馀字母 S0+zq<
QC4T=E]`j
我们可以随意更改、增加或删除向量的元素:
n{t',r50
1,j9(m2
y(3) = 2 % 更改第三个元素 cWc)sb
T,uIA]
y =3 7 2 5 DH
!Br
+_eb*Z`5o
y(6) = 10 % 加入第六个元素
?Qig$
pD# "8h
y = 3 7 2 5 0 10 :xPvEK[B7
6
b}feEh$!
y(4) = [] % 删除第四个元素, <dL04F
5G!U'.gr
y = 3 7 2 0 10 5Mr;6
]I<
$Jm2,Yv
在上例中,MATLAB会忽略所有在百分比符号(%)之後的文字,因此百分比之後的文字均可视为程式的注解(Comments)。MATLAB亦可取出向量的一个元素或一部份来做运算: :*@|"4
4QFOO
sNp
x(2)*3+y(4) % 取出x的第二个元素和y的第四个元素来做运算 <~M9nz(<