1-1、基本运算与函数 Xi0/Wb h\
Ufo-AeQo
在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如: pp{%\td
'TbA^U[
>> (5*2+1.3-0.8)*10/25 uCUBs(iD
WUqAPN
ans =4.2000 G\P*zzSq
1BWuFYB
MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答 案(Answer)并显示其数值於萤幕上。 bNL E=#ro
W]y$6P
小提示: ">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。 {fX4
T;FzKfT|
我们也可将上述运算式的结果设定给另一个变数x: (/hF~A
83<kaeu,^
x = (5*2+1.3-0.8)*10^2/25 &1Az`[zKGW
1L$u8P^<
x = 42 `Cb$8;)z
tv;3~Y0i
此时MATLAB会直接显示x的值。由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。 2_Pe/
sH&8"5BT%
小提示: MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。 pXQ&2s$
h@Hmo^!9J
若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例: WcUeWGC>
|kVxrq
y = sin(10)*exp(-0.3*4^2); q#WqU8~Y
cb
UVeh7Q
若要显示变数y的值,直接键入y即可: MD1,KH+O
{'X "9@
>>y HX
<;=m
pkM32v-
y =-0.0045 -><_J4
NtT)Wl
在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数。 Xt~/8)&
IjrTM{f
下表即为MATLAB常用的基本数学函数及三角函数: "#JoB X@yE
&V2G<gm0
小整理:MATLAB常用的基本数学函数 q?t>!1c
%M^b Z?
abs(x):纯量的绝对值或向量的长度 {@3=vBl%O+
NuXU2w~
angle(z):复 数z的相角(Phase angle) Rd#,Tl\
=0v{+#}
sqrt(x):开平方 D@Wm-
RhDa`kV%t
real(z):复数z的实部 "<.b=mN-
eM~i (]PY
imag(z):复数z的虚 部 ^^ ?ECnpcU
h2tzv~
conj(z):复数z的共轭复数 E3KPjK
Uz62!)
round(x):四舍五入至最近整数 v'iQLUgI
_e-a>y
fix(x):无论正负,舍去小数至最近整数 W>,b1_k
c
:)MZgW
floor(x):地板函数,即舍去正小数至最近整数 *'`-plS7
Ep'C FNbtW
ceil(x):天花板函数,即加入正小数至最近整数 )
.]Z}g&
#p[=iP
rat(x):将实数x化为分数表示 w}2yi#E[
v=L^jw
rats(x):将实数x化为多项分数展开 wDSU~\
*J$=UG,u
sign(x):符号函数 (Signum function)。 Rn TPU`
!-7(.i -
当x<0时,sign(x)=-1; t
Y^:C[
RSkpf94`
当x=0时,sign(x)=0; ~7Jc;y&
MZ+"Arzb
当x>0时,sign(x)=1。 nH_A`m3%/
#G\)ZheG
> 小整理:MATLAB常用的三角函数 gReaFnm
iE&`Fhf?
sin(x):正弦函数 WIhf*LF"
r<0.!j%c
cos(x):馀弦函数 S ":-5S6
5\a5^FK~
tan(x):正切函数 2[:`w),.
_mn4z+
asin(x):反正弦函数 LAvAjvRc
PSy=O\
acos(x):反馀弦函数 7aU*7!U
6Es-{u(,
atan(x):反正切函数 ]V9\4#I4
1f~DUku=
atan2(x,y):四象限的反正切函数 c8u&ev.U
+XIN-8
sinh(x):超越正弦函数 b.t]p
?^6RFbke+
cosh(x):超越馀弦函数 '7xY,IY
8d>OtDLa
tanh(x):超越正切函数
k&rl%P
&KD
m5p
asinh(x):反超越正弦函数 5&VLq
RLIugz{IH
acosh(x):反超越馀弦函数 Cx@, J\rsQ
Ml)WY#7
atanh(x):反超越正切函数 0ogTQ`2Z:
kdF#Nm
变数也可用来存放向量或矩阵,并进行各种运算,如下例的列向量(Row vector)运算: ,iHl;3bu
Sx pl%
x = [1 3 5 2]; %f^TZ,q$
3<'n>'
y = 2*x+1 K~Xt`
ABx0IdOcI
y = 3 7 11 5 Nlo*vu
`zTVup&
小提示:变数命名的规则 le1'r>E$
T}zOM%]]
1.第一个字母必须是英文字母 2.字母间不可留空格 3.最多只能有19个字母,MATLAB会忽略多馀字母 ~Ipl'cE
~xA'-N/
我们可以随意更改、增加或删除向量的元素: 8S)k]$ wf%
4w\')@`[jk
y(3) = 2 % 更改第三个元素 {=&