第一章MATLAB简介Matlab是mathworks公司开发的一种集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、操作简单的语言,是国际公认的优秀的数学应用软件之一。由matlab内核和辅助工具箱组成Matlab6.x的集成环境1、MATLAB软件安装、启动之后,就会出现如图1所示的界面。1、指令窗口(commandwindow)2、工作台和工具箱窗口(launchpad)3、工作空间窗口(workspace)4、矩阵(数组)编辑器(arrayeditor)5、当前工作路径下的目录窗口(currentdirectory)6、历史指令窗口(commandhistory)7、程序编辑器8、帮助浏览器(view\help)Matlab的几个主要命令formatcompact以紧凑的格式显示,matlab默认formatloose(稀疏格式)clc擦除命令窗口中显示的所有内容clf擦除当前图形窗口中的图形clear清除内存中的所有变量和函数exit或quit关闭并退出MATLABhelp函数名查看该函数的作用demo打开演示程序系统figure新建一个图形窗figure(2)人为规定新图为图2或者调用已经存在的图2采用MATLAB所规定的一套语言及语法编写的源文件,记作.m文件。其文件名不能以数字开头,也不能包含文字,但可以用下划线“_”。M文件语句或命令以“回车”或“逗号”结尾,则会立即显示运算结果,若以“分号”结尾,不显示运算结果。例:x=[-1.3,sqrt(3),(1+2)/5*4];y=[1;3;5;4]注释位于%之后,不被执行。例:x=[-1.3,sqrt(3),(1+2)/5*4];%计算x应用常识MATLAB的变量命名规定:1)变量名由字母、数字和下划线组成;2)变量名第一个字母必须是字母;3)大小写字母表示不同的变量名为了在图形中标出,,等特殊符号,应采用MATLAB提供的专门字母表示。如表1所示。字符串符号字符串符号字符串符号\alpha\beta\gamma\delta\epsilon\theta\lambda\tao\int\omega\phi\Phi\pi\infty\Omega表1特殊符号的表示法基本数学函数MATLAB的常用函数正弦sin余弦cos正切tan指数exp自然对数log矩阵指数函数expm绝对值abs求实部real求虚部imag平方根sqrt求数组的最大值max求数组的最小值min求数组的平均值mean求和sum求矩阵的特征值eig求复数的相角angle求共轭conj辛格函数sinc表2基本数学函数基本作图函数plot绘制连续波形stem绘制离散波形loglog绘双对数坐标图subplot分割图形窗口hold保留当前曲线figure定义图形窗口line画直线title为图形加标题grid画网格线xlabel为X轴加上轴标ylabel为Y轴加上轴标text在图上加文字说明gtext用鼠标在图上加说明axis定义x,y坐标轴标度zzplot画符号函数的图形表3常用的作图函数数学表达式MATLAB运算符MATLAB表达式加a+b+a+b减a-b-a-b乘a×b*a*b除a÷b/或\a/b或a\b幂ab^a^b注:MATLAB用左斜杠或右斜杠分别表示“左除”或“右除”运算。对标量而言,这两者的作用没有区别;对矩阵来说,“左除”和“右除”将产生不同的结果。表4MATLAB表达式的基本运算符基本运算符第二章matlab的数值计算变量及其赋值矩阵的初等运算向量运算逻辑运算流程控制语句多项式及其运算变量及其赋值(一)变量=表达式(或数)如:x=[-1.3,sqrt(3),(1+2)/5*4];y=[1;3;5;4]a=[123;456;789];变量的元素用()标明如:x(2);可用()给矩阵赋值如:a(4,3)=6.5;矩阵的创建直接输入法、内部函数创建法、利用矩阵编辑器和修改矩阵。1、直接输入法a=[123;456;789]矩阵的初等运算2、内部函数创建法MATLAB提供的许多函数可以创建一些特殊矩阵。例如:ones(m,n)生成一个元素全部为1的m行n列矩阵eye(m,n)生成一个主对角线元素为1的其余为0的矩阵矩阵的初等运算(续)加减乘除[n,m]=size(a)检查矩阵a的行数和列数l=length(x)x是一维数组,检查其长度c=a+by=x-1A=[1,2,3;3,-5,4;7,8,9]B=[2;0;2]X=A\B(回车)矩阵的加减运算中,要求两矩阵必须维数相同;矩阵的乘法运算中,要求两矩阵必须维数相容,即第一个矩阵的列数等于第二个矩阵的行数x1+2x2+3x3=23x1-5x2+4x3=07x1+8x2+9x3=2矩阵的初等运算(续)矩阵除法V=inv(A)AV=EV是A的逆阵DX=BX=inv(D)*B=D\B-------右除(B,D行数相等)XD=BX=B*inv(D)=B/D--------左除(B,D列数相等)矩阵的初等运算(续)矩阵的点运算.*.\./.^explogsqrt矩阵的点运算指维数相同的矩阵位置对应元素进行的算术运算,标量常数可以和矩阵进行点运算。点左除表示为C=A./B,A对应元素除以B对应元素;点右除表示为C=A.\B,B对应元素除以A对应元素;矩阵的初等运算(续)常用的矩阵运算函数:b=rank(a)求矩阵a的秩b=eig(a)求方阵a的特征值和特征向量b=inv(a)求满秩方阵a的逆矩阵b=compan(a)求矩阵a的伴随矩阵b=size(a)计算矩阵a的行数和列数b=length(a)计算矩阵a的行数和列数中最大者b=det(a)计算方阵a的行列式,结果为一标量关系运算与逻辑运算关系运算====~=逻辑运算a&b(与)a|b(或)~a(非)xor(a,b)(异或)多项式及其运算matlab使用行向量来表示多项式的系数,行向量中各元素按多项式次数从高到低排列,对于多项式可以用行向量表示对于系数为0的项,必须用0填充120121()...nnnnnpxaxaxaxaxa0121[,,,...,,]nnpaaaaa常用到的多项式函数:conv(a,b)---求多项式a和b的乘法[q,r]=deconv(a,b)----求多项式除法,a为被除式,b为除式,q为商,r为余数roots(a)----求多项式的根poly(r)-----由根求多项式系数5432()2617231612cxxxxxx商余数2()310axxxpolyder(A)----求多项式A的一阶导数polyval(A,x)---求多项式A当未知数为x时的值3()66115pxxxpoly(A)---计算矩阵A的特征多项式系数第三章matlab的符号运算在数值计算中,所运算的变量是被赋值的数值变量;在符号计算的运算过程中,所运算的是符号变量。对于数值计算,不需要事先定义数值变量的类型和规模,但符号计算必须事先说明计算中所用到的变量是符号变量。数值运算中必须先对变量赋值,然后才能参与运算。符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。定义x为符号变量X为数值变量符号表达式和符号矩阵的创建利用sym指令创建符号对象syms变量名,如symsxsym(‘变量名’),如sym(‘x’)a=sym(‘b’)------将b转换成符号对象,b可以是数字、字符串、表达式等,如f=sym(‘sin(x)’)symsab….将a,b…多个变量定义为符号变量注意:ab..直接用空格键隔开,不能用逗号符号表达式和符号矩阵的运算(1)符号微分diff(f)对默认的符号变量求一阶微分diff(f,x)对指定的符号变量x求一阶微分diff(f,x,k)对指定的符号变量x求k阶微分符号表达式和符号矩阵的运算(2)符号积分int(f,x)对指定变量x求不定积分int(f,x,a,b)对指定变量x求定积分。求极限limit(f,x)对f求x趋向于0的极限limit(f,x,a)对f求x趋向于a的极限limit(f,x,a,’left’)对f求x趋向于a的左极限limit(f,x,a,’right’)对f求x趋向于a的右极限绘制二维图线最基本的指令:plot()函数例如:plot(x,y)【例4-9】绘制二个周期内的正弦曲线以t为x轴,sin(t)为y轴,取样间隔为0.1,取样长度为4π(4*pi)如图4所示。应用MATLAB绘制二维图线图4plot()函数绘制的正弦曲线gridon显示网格线axis([xmin,xmax,ymin,ymax])调整坐标轴的显示范围xlable和ylable横、纵坐标加标注,如:xlable(‘t’),ylable(‘y’)title在图形顶部加注标题如:title(‘正弦曲线’)【例4-10】同时绘制二个周期内的正弦曲线和余弦曲线。绘制多条曲线时,plot()plot(x1,y1,x2,y2…)subplot(m,n,p)或subplot(mnp)m和n表示在一个图形窗口中显示m行n列个图像,p表示第p个图像区域。ezplot()绘制符号表达式的曲线如:ezplot(y,[a,b])[a,b]表示符号表达式的自变量取值范围,默认值为[0,2]例:绘制y=-16x2+64x+9的波形。