《MATLAB入门教程(同名12587)》由会员分享,可在线阅读,更多相关《MATLAB入门教程(同名12587)(42页珍藏版)》请在金锄头文库上搜索。
1、MATLAB入门教程1MATLAB的基本知识1-1、基本运算与函数 在MATL下进行基本数学运算,只需将运算式直接打入提示号()之後,并按入nter键即可。例如: (5*2+1。08)025 ns4.2000 MATA会将运算结果直接存入一变数a,代表MATLAB运算後的答案(Answr)并显示其数值於萤幕上。小提示:”是ATLAB的提示符号(opt),但在中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATA的运算结果。 我们也可将上述运算式的结果设定给另一个变数x: x (+1。30.8)2/5 x= 4 此时MATAB会直接显示x的值.由上例可知,ATLAB认
2、识所有一般常用到的加(+)、减()、乘()、除()的数学运算符号,以及幂次运算()。小提示: MALA将所有变数均存成doube的形式,所以不需经过变数宣告(Vaiable eclation)。MALAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定。这些功能使的MATAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。 若不想让MATLA每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例: y = sin(10)xp(0*2); 若要显示变数y的值,直接键入y即可: y .0045 在上例中,sin是正弦函数,exp是指数函数,这些都是
3、MT常用到的数学函数。下表即为MATLA常用的基本数学函数及三角函数: 小整理:MATLAB常用的基本数学函数bs(x):纯量的绝对值或向量的长度 ange(z):复数z的相角(Pse anle) srt(x):开平方 rel(z):复数z的实部 imag():复数z的虚部 conj(z):复数z的共轭复数 round():四舍五入至最近整数f(x):无论正负,舍去小数至最近整数floo(x):地板函数,即舍去正小数至最近整数 cei(x):天花板函数,即加入正小数至最近整数 rat(x):将实数化为分数表示 ras(x):将实数x化为多项分数展开sgn(x):符号函数 (Sium funct
4、ion)。 当x0时,sgn(x)=-1; 当=0时,sgn(x)0; 当0时,sign(x)=。 小整理:MTLAB常用的三角函数 in(x):正弦函数 o(x):馀弦函数 ta():正切函数 an(x):反正弦函数 aos(x):反馀弦函数 atan():反正切函数 atan2(,y):四象限的反正切函数in(x):超越正弦函数 cosh():超越馀弦函数 tnh(x):超越正切函数asinh(x):反超越正弦函数aoh():反超越馀弦函数 ath(x):反超越正切函数 变数也可用来存放向量或矩阵,并进行各种运算,如下例的列向量(Row vctor)运算: 3 2; =2+1 y = 71
5、1 小提示:变数命名的规则 。第一个字母必须是英文字母 2字母间不可留空格 3。最多只能有9个字母,MATLAB会忽略多馀字母 我们可以随意更改、增加或删除向量的元素: y(3) = %更改第三个元素 y =37 2 5 y(6) =10 加入第六个元素 y= 3 7 2 5 0 10 y(4) = 删除第四个元素, =3 7200 在上例中,MTB会忽略所有在百分比符号()之後的文字,因此百分比之後的文字均可视为程式的注解(Comments)。MLAB亦可取出向量的一个元素或一部份来做运算: ()3+y(4) 取出的第二个元素和y的第四个元素来做运算 a y(2:4)1 % 取出y的第二至第
6、四个元素来做运算 = 在上例中,:4代表一个由、3、4组成的向量若对ATL函数用法有疑问,可随时使用he来寻求线上支援(olne hlp):hel linace 小整理:MATLAB的查询命令 help:用来查询已知命令的用法。例如已知inv是用来计算反矩阵,键入helpinv即可得知有关inv命令的用法。(键入p elp则显示help的用法,请试看看!) ookf:用来寻找未知的命令。例如要寻找计算反矩阵的命令,可键入 lookfornvers,MAL即会列出所有和关键字nvr相关的指令。找到所需的命令後 ,即可用hel进一步找出其用法。(lokfor事实上是对所有在搜寻路径下的M档案进行关
7、键字对第一注解行的比对,详见後叙。) 将列向量转置(Transose)後,即可得到行向量(Column vector): z =x z = 4。00 5.200 6.400 7.6000 .800 10。000 不论是行向量或列向量,我们均可用相同的函数找出其元素个数、最大值、最小值等: lenh() z的元素个数 ans =6 ax(z) z的最大值 a= min()z的最小值 ans = 4 小整理:适用於向量的常用函数有: mi(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值 ean(x): 向量x的元素的平均值 men(x): 向量x的元素的中位数std(): 向量
8、x的元素的标准差 dff(x): 向量的相邻元素的差 sor(x): 对向量x的元素进行排序(Stng) eh(x):向量x的元素个数norm(x): 向量x的欧氏(Euliean)长度 sum(x):向量x的元素总和 pod(x): 向量x的元素总乘积 cmsum(x): 向量x的累计元素总和 cmpro(x): 向量的累计元素总乘积 t(x, y): 向量x和y的内 积 o(,y): 向量和y的外积 (大部份的向量函数也可适用於矩阵,详见下述。) 若要输入矩阵,则必须在每一列结尾加上分号(;),如下例: A 1 23 ; 6 7 8; 9 011 12; A = 1 4 5 6 8 9 0
9、 1 12 同样地,我们可以对矩阵进行各种处理: A(,3) = 改变位於第二列,第三行的元素值 A = 2 3 5 6 5 8 9 0 11 12 B = (,1:3) 取出部份矩阵B = 5 6 5 A 将B转置後以行向量并入A = 3 4 5 6 8 6 9 1 1 12 5 A(:, 2) % 删除第二行(:代表所有列) A= 5 5 5 8 6 11 12 5 A= A; 3 2 1 % 加入第四列 A= 1 4 55 8 6 11 12 2 1 (14, :) = 删除第一和第四列(:代表所有行) A = 86 11 12 5 这几种矩阵处理的方式可以相互叠代运用,产生各种意想不到
10、的效果,就看各位的巧思和创意。 小提示:在MATAB的内部资料结构中,每一个矩阵都是一个以行为主(Columnoriente )的阵列(Aray)因此对於矩阵元素的存取,我们可用一维或二维的索引(Index)来定址。举例来说,在上述矩阵A中,位於第二列、第三行的元素可写为(2,3) (二维索引)或A()(一维索引,即将所有直行进行堆叠後的第六个元素). 此外,若要重新安排矩阵的形状,可用reshap命令: B =eshae(A, , ) 4是新矩阵的列数,是新矩阵的行数 B = 5 8 9 2 1 小提示: A(:)就是将矩阵每一列堆叠起来,成为一个行向量,而这也是MATLA变数的内部储存方式
11、。以前例而言,rsap(, , )和A(:)同样都会产生一个81的矩阵。MTLAB可在同时执行数个命令,只要以逗号或分号将命令隔开: x s(pi); y = x; = y*10,z = 7。000 若一个数学运算是太长,可用三个句点将其延伸到下一行: z = 10in(pi/3)*.。 sin(pi/); 若要检视现存於工作空间(Woksac)的变数,可键入ho: who our vrablesae: tetfil 这些是由使用者定义的变数。若要知道这些变数的详细资料,可键入: hs eSi yes Clas 2x464 dble aray B 24doularay sx 8 oube ar
12、ray x 1x1 8 oubaray y 1x1 doury z 1 oubearra Grand toal is20 leet usng 160 tes 使用lea可以删除工作空间的变数: clerA ? Undeine untin o varable A. 另外MALA有些永久常数(Permanen costts),虽然在工作空间中看不到,但使用者可直接取用,例如: p an 31416 下表即为TLAB常用到的永久常数。 小整理:MB的永久常数i或:基本虚数单位e:系统的浮点(Floating-poit)精确度if:无限大,例如1/ an或NaN:非数值(Nonumr) ,例如0/0pi:圆周率p(= 3.4159。.) rea:系统所能表示的最大数值 realmin:系统所能表示的最小数值nrg: 函数的输