电气工程软件训练(Ⅲ)-Matlab讲义_第1页
电气工程软件训练(Ⅲ)-Matlab讲义_第2页
电气工程软件训练(Ⅲ)-Matlab讲义_第3页
电气工程软件训练(Ⅲ)-Matlab讲义_第4页
电气工程软件训练(Ⅲ)-Matlab讲义_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 MATLAB是美国MathWorks公司出品的一款商业数学软件。 目前,MATLAB已经成为国际最流行的科学与工程计算软件之一,它以模块化的计算方法、可视与智能化的人机交互功能、丰富的矩阵运算、图形绘制和数据处理函数,以及模块化图形的动态系统仿真工具Simulink,成为控制系统设计和仿真领域最受欢迎的软件系统。 在欧、美大学的高等数学、数理统计、自动控制、数字信号处理、模电与数电、时间(shjin)序列分析等课程的教科书中,都把MATLAB作为其中的内容。同时,在欧、美这些大学里,MATLAB是攻读学位的本科生、研究生必须掌握的基本工具。MATLAB的发展(fzhn)历程及其影响共五十八

2、页2 MATLAB是一个高精度的科学计算语言,它将计算、可视化和编程结合在一个容易使用的环境中,在这个环境中,用户可以把提出的问题和解决问题的办法用熟悉的数学符号表示(biosh)出来。MATLAB的典型应用包括:数学和计算 运算法则建模和仿真数据分析、研究和可视化科学的工程图形应用程序开发,包括创建图形用户接口。典型(dinxng)应用共五十八页3 MATLAB是一个交互式系统,主要由5部分组成:开发环境:一组实用工具,利用这些工具,用户可以使用MATLAB函数和文件。数学函数库:庞大的算法库,包括基本函数、复杂函数等。语言:高级的矩阵/数组编程语言,具有流程控制语句、函数、数据结构、输入/

3、输出和面向对象编程的特点。图形处理系统:主要包括能够生成二维/三维数据(shj)可视化、图像处理、动画及演示图形的高级命令。应用程序接口(API):一个用户编写与MATLAB接口的C和Fortran程序的函数库。基本(jbn)组成共五十八页4主要(zhyo)目标了解MATLAB的基本知识熟悉MATLAB的上机环境掌握利用MATLAB进行基本运算的方法初步具备将一般数学(shxu)问题转化成对应的计算机模型并进行处理的能力共五十八页5主要(zhyo)内容1 MATLAB数值运算2 MATLAB程序设计(chn x sh j)3 MATLAB绘图4 MATLAB符号运算共五十八页61 MATLAB

4、数值(shz)运算掌握矩阵、向量、数组和多项式的构造和运算方法能够使用常用的几种函数进行(jnxng)一般的数值问题求解共五十八页7矩阵(j zhn)及其运算通过直接输入矩阵的元素构造矩阵:用中括号 把所有矩阵元素括起来同一行的不同数据元素之间用空格或逗号间隔用分号(;)指定一行结束可分成几行进行输入,用回车符代替分号数据元素可以是表达式,系统(xtng)将自动计算结果共五十八页8例:输入(shr)矩阵A、B的值A=1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16B=1,sqrt(25),9,13 2,6,10,7*2 3+sin(pi),7,11,15 4,

5、 abs(-8),12,16共五十八页9矩阵下标(xi bio)与子矩阵提取A(m, n)提取第m行,第n列元素A(:, n)提取第n列元素A(m, :)提取第m行元素A(m1:m2, n1:n2)提取第m1行到第m2行和第n1列到第n2列的所有(suyu)元素A(m:end, n)提取从第m行到最末行和第n列的子块A(:)得到一个长列矢量,该矢量的元素按矩阵的列进行排列共五十八页10例:修改矩阵(j zhn)A中元素的数值A=1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16;A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0

6、);则矩阵(j zhn)变为:A = 0 2 3 4 5 7 7 8 9 10 11 12 13 14 15 1共五十八页11矩阵的算术(sunsh)运算1矩阵的加减运算:(加)、(减)2矩阵乘法(chngf):*(乘)3矩阵除法:/ (右除)、 (左除)4矩阵的乘方:(乘方)5矩阵转置: (转置运算符)共五十八页几点注意(zh y)允许参与运算的两矩阵之一是标量。标量与矩阵的所有元素分别进行(jnxng)加减操作;标量可与任何矩阵相乘;AB=inv(A)*B,即x为Ax=B的解;A/B=B*inv(A), 即x为xAB的解;12共五十八页13矩阵的关系(gun x)运算关系运算符:(小于)、

7、(大于)=(大于或等于)、=(等于)、=(不等于)。关系运算符的运算法则:关系运算将对两个矩阵(j zhn)的对应元素进行比较。 共五十八页14矩阵(j zhn)的逻辑运算必须是两个同维矩阵或其中一个矩阵为标量(bioling)才能进行 MATLAB提供了一些逻辑函数逻 辑 函 数功 能all如果所有的元素都是非零值,返回1;否则,返回0。any如果有一个元素为非零值,那么返回1;否则,返回0isempty判断是否空矩阵isequal判断两矩阵是否相同isreal判断是否是实矩阵find返回一个由非零元素的下标组成的向量共五十八页15向量(xingling)的构造1逐个输入a=1 3 9 10

8、 15 16%采用空格和逗号分隔构成行向量b=1; 3; 9; 10; 15; 16 %采用分号隔开构成列向量2利用冒号表达式“:”生成向量x=1:2:9%初值=1,终值=9,步长=2z=1:5%初值=1,终值=5,默认步长=13利用函数生成向量 x=linspace(1, 9, 5)%初值=1,终值=9,元素(yun s)数目=5共五十八页16数组的运算(yn sun)数组运算方式是一种元素(yun s)对元素(yun s)的运算(不按照线性代数的规则) ;除了加、减法的与矩阵相同以外,乘、除、幂的数组运算符都是通过在标准的运算符前面加一个圆点来生成。共五十八页数组的除法(chf)a./b=

9、b.aa.b=b./aa./b=b.a 都是a的元素(yun s)被b的对应元素除a.b=b./a 都是b的元素被a的对应元素除例: a=1 2 3;b=4 5 6; c1=a.b; c2=b./ac1 = 4.0000 2.5000 2.0000c2 = 4.0000 2.5000 2.000017 给出a,b对应元素间的商.共五十八页18多项式多项式是形如 P(x) = a0 xn+a1xn-1+an-1x+an的式子(sh zi)。在MATLAB中,多项式用行向量表示 P= a0 a1 an-1 an共五十八页19多项式的运算(yn sun)1. 多项式的算术运算参加加减运算的多项式应该

10、具有相同的阶次。构造多项式采用ploy2sym函数。多项式乘法采用conv函数,除法由deconv函数完成。2. 求根求多项式的根采用roots函数。3. 求值函数polyval可以将某个特定数值(shz)代入多项式函数polyvalm可以求出当多项式中的未知数为方阵时的值。4. 求导使用polyder函数对多项式求导。共五十八页202 MATLAB程序设计(chn x sh j) 掌握(zhngw)MATLAB的几种基本控制转移语句学会使用M文件进行编程具备对复杂问题的编程求解能力共五十八页21MATLAB程序结构按照程序设计(chn x sh j)的观点, 任何算法功能都可以通过由程序模块

11、组成的三种基本程序结构的组合来实现: 顺序结构:程序按程序语句或模块在执行流中的顺序逐个执行。 选择结构:程序按设定的条件实现程序执行流的多路分支。 循环结构:程序按给定的条件重复地执行指定的程序段或模块。共五十八页22顺序(shnx)结构程序(chngx)模块1程序模块2MATLAB中实现顺序结构的方法非常简单:只需将程序语句顺序排列即可 共五十八页23选择(xunz)结构在MATLAB中,选择(xunz)结构由两种语句结构实现:if 语句switch 语句条件程序模块1成立不成立程序模块23.2.2 选择结构共五十八页24If条件(tiojin)语句if 表达式 程序模块1 else 程序

12、模块2end共五十八页25If条件(tiojin)语句的两种变形(1) 单分支 if 语句(yj):只有一个分支的选择结构 if 表达式 程序模块end(2) 多分支 if 语句:超过2个的选择if 表达式1 程序模块1 elseif 表达式2 程序模块2 elseif 表达式n 程序模块n else 程序模块n+1end共五十八页26例:将百分制的学生(xu sheng)成绩转换为五级制的成绩输出clearn=input(输入(shr)n= ); if n=90 r=Aelseif n=80 r=Belseif n=70 r=Celseif n=60 r=Delse r=Eend共五十八页2

13、7switch语句(yj) switch 表达式 case 数值(shz)1 程序模块1 case 数值2 程序模块2otherwise 程序模块n end共五十八页28例:将百分制的学生成绩转换为五级制的成绩输出使用(shyng)switch语句 clearn=input(输入(shr)n= ); switch fix(n/10) case 10,9 r=A case 8 r=B case 7 r=C case 6 r=D otherwise r=Eend共五十八页29循环(xnhun)结构在MATLAB中,循环结构(jigu)可以由两种语句结构(jigu)实现:for 语句循环结构whil

14、e 语句循环结构程序模块不成立成立条件3.2.2 选择结构共五十八页30for语句(yj)和While循环结构for 循环变量(binling)起始值:步长:终止值循环体endwhile 表达式 循环体end共五十八页31例:使用(shyng)for结构计算1+2+3+100clearsum=0;for i=1:100 sum=sum+i;endsum运行(ynxng)结果:sum =5050共五十八页32例:使用(shyng)while结构计算1+2+3+100clearsum=0; i=0;while i100i=i+1;sum=sum+i;endsum共五十八页33M文件(wnjin)M

15、ATLAB工作模式(msh)命令行方式。程序文件驱动模式 MATLAB文本编辑器 共五十八页34函数(hnsh)文件函数文件基本格式:function 输出形参列表=函数名(输入形参列表) 注释(zhsh)说明语句段 程序语句段共五十八页353 MATLAB绘图(hu t)了解MATLAB的绘图功能掌握二维图形和三维图形的绘制(huzh)方法能够进行常用的数据可视化处理共五十八页36二维图形(txng)plot函数(hnsh)绘制二维曲线,常用格式有:plot(x):缺省自变量的绘图格式,x可为向量或矩阵。plot(x, y):基本格式,x和y可为向量或矩阵。plot(x1, y1, x2,

16、y2,):多条曲线绘图格式,在同一坐标系中绘制多个图形。plot(x, y, s):开关格式,开关量字符串s设定了图形曲线的颜色、线型及标示符号。共五十八页37图形颜色、标记(bioj)和线形参数表色彩字符所定颜色线型字符线型格式标记符号数据点形式标记符号数据点形式y黄-实线(默认).点右三角形共五十八页38例:二维图形(txng)绘制 x=3 5 7 6 12 24 15 33 6 9 7 2; plot(x)%绘制(huzh)以序号为横坐标,元素值为纵坐标的曲线 x=0:pi/10:2*pi; y=sin(x); plot(x,y)%绘制以x为横坐标,y为纵坐标的曲线共五十八页39图形(t

17、xng)修饰与控制title 给图形加标题xlable 给x轴加标注ylable 给y轴加标注text 在图形指定的任意(rny)位置加标注gtext 利用鼠标将标注加到图形任意位置grid on 打开坐标网格线grid off关闭坐标网格线legend 添加图例axis 控制坐标轴刻度共五十八页40例:绘制正弦和余弦(yxin)曲线,并加入网格和标注cleart=0:0.1:10;y1=sin(t);y2=cos(t);plot(t,y1,r,t,y2,b-);x=1.7*pi;1.6*pi;y=-0.3; 0.7;s=sin(t);cos(t);text(x, y, s);指定位置加标注t

18、itle(正弦和余弦(yxin)曲线);标题legend(正弦,余弦)%添加图例注解xlabel(时间)x坐标名ylabel(正弦&余弦)y坐标名grid on%添加网格axis square%将图形设置为正方形共五十八页41采用(ciyng)hold函数对图形进行比较显示 cleart=0:pi/10:2*pi;y1=sin(t);y2=cos(t);y3= sin(t)-cos(t);plot(t,y1);hold on; %后续(hux)图形叠加显示plot(t,y2);plot(t,y3);共五十八页42采用图形窗口分割(fng)方法进行比较显示 cleart=0:pi/10:2*pi

19、;y1=sin(t);y2=cos(t);y3=cos(t+pi/2);y4=cos(t+pi); %将图形窗口分割(fng)成两行两列,要画的图形为第1行第1列subplot(2,2,1);plot(t,y1);%将图形窗口分割成两行两列,要画的图形为第1行第2列subplot(2,2,2); plot(t,y2);%将图形窗口分割成两行两列,要画的图形为第2行第1列subplot(2,2,3); plot(t,y3);%将图形窗口分割成两行两列,要画的图形为第2行第2列subplot(2,2,4);plot(t,y4);共五十八页43三维图形(txng)三维曲线图plot3函数可以绘制三维

20、曲线: plot3(x1, y1, z1, s1, x2, y2, z2, s2)三维网格图mesh函数为数据点绘制网格线:mesh(z) z为nm的矩阵,x与y坐标(zubio)为元素的下标位置mesh(x, y, z) x, y, z分别为三维空间的坐标位置三维曲面图三维曲面的绘图是由surf函数完成的,用法和mesh类似。共五十八页444 MATLAB符号(fho)运算理解符号运算的有关(yugun)概念掌握使用符号运算解决符号推导、微积分、方程等问题的方法共五十八页45数值(shz)运算与符号运算数值运算在运算前必须先对变量赋值,再参加运算。符号(fho)运算不需要对变量赋值就可运算,

21、运算结果以标准的符号(fho)形式表达。共五十八页46符号(fho)变量和符号(fho)表达式符号变量和符号表达式在使用前必须说明sym函数f1=sym(ax2+bx+c) %创建(chungjin)符号变量f1和一个符号表达式syms函数 clear syms a b c x whos Name Size Bytes Class a 1x1 126 sym object b 1x1 126 sym object c 1x1 126 sym object x 1x1 126 sym object共五十八页47符号表示(biosh)式的运算算术(sunsh)运算clear f1 = sym(1/

22、(a-b) ); f2 = sym(2*a/(a+b) ); f3 = sym( (a+1)*(b-1)* (a-b) ); f1+f2%符号和ans =1/(a-b)+2*a/(a+b) f1*f3 %符号积ans = (a+1)*(b-1) f1/f3 %符号商ans = 1/(a-b)2/(a+1)/(b-1)共五十八页48函数(hnsh)运算1合并、化简、展开等函数collect函数:将表达式中相同幂次的项合并;factor函数:将表达式因式分解;simplify函数:利用代数中的函数规则对表达式进行化简;numden函数:将表示式从有理数形式转变成分子与分母形式。2反函数finver

23、se(f,v) 对指定自变量为v的函数f(v)求反函数3复合函数compose(f,g) 求f=f(x)和g=g(y)的复合函数f(g(y)compose(f,g,z) 求 f=f(x)和g=g(y)的复合函数f(g(z)4表达式替换函数subs(s)用赋值语句中给定值替换表达式中所有同名变量(binling) subs (s, old, new) 用符号或数值变量new替换s中的符号变量old共五十八页49符号(fho)替换例 已知数学表达式 ,试对其进行以下 的符号替换: 1) a=sint,b=lnz,c=de2t的符号变量替换。 2) n=3,c=的符号常量(chngling)替换。

24、3) c=1:2:5替换。 4) c= 的数组矩阵替换。 共五十八页50因式分解例 已知数学表达式 ,试对其进行(jnxng)因式分解。表达式展开 例 已知数学表达式y(x)=sin(3arccosx),试将其展开。表达式简化 例 已知数学表达式y(x)=2cos2x-sin2x,试对其进行简化。表达式通分例 已知数学表达式 ,试对其进行通分。共五十八页51微积分极限(jxin)共五十八页52微分(wi fn)diff(f) 求表达式f对默认(mrn)自变量的一次微分值;diff(f, t) 求表达式f对自变量t的一次微分值;diff(f,n) 求表达式f对默认自变量的n次微分值; diff(f,t,n) 求表达式f对自变量t的n次微分值。共五十八页53积分(jfn)int(f) 求表达式f对默认(mrn)自变量的积分值;int(f, t) 求表达式f对自变量t的不定积分值;int(f, a, b) 求表达式f对默认自变量的定积分值,积分区间为a,b;int(f, t, a, b) 求表达式f对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论