570 likes | 746 Views
MATLAB 课程介绍. 定位 : 专业基础课 目标 : 具备使用 MATLAB 独立进行数学计算,图形绘制,文件编程,信号处理及系统仿真的初步能力. MATLAB 教学安排. 学时 : 48 学时( 基于 matlab 7.0 版本) 安排:讲课 32 学时,实践 16 学时。 考核要求:作业、上机练习题按时独立完成。理论课不得无故缺勤。 考核方式 : 考试(期末考试 50%+ 上机 20%+ 平时 30% ).
E N D
MATLAB课程介绍 • 定位:专业基础课 • 目标:具备使用MATLAB独立进行数学计算,图形绘制,文件编程,信号处理及系统仿真的初步能力.
MATLAB教学安排 • 学时: 48学时(基于matlab7.0版本) • 安排:讲课32学时,实践16学时。考核要求:作业、上机练习题按时独立完成。理论课不得无故缺勤。 • 考核方式: 考试(期末考试50%+上机20%+平时30%)
第1章基础准备及入门1.1 MATLAB概述1.2 MATLAB的运行环境与安装1.3 MATLAB集成环境1.4 MATLAB帮助系统
1.1 MATLAB概述 • 1.1.1 MATLAB的发展MATLAB名字由MATrix和 LABoratory两词的前三个字母组合而成,于1984年由MathWorks公司,并把MATLAB正式推向市场。 • 在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。在国际学术界,MATLAB已经被公认为功能最强大的、可靠的科学计算标准软件。 • 1992年,MATLAB 4.0版(告别DOS版 )1997年,MATLAB 5.0版2000年,MATLAB 6.0版 2004年,MATLAB 7.0版 2004年~2008年,7.1版~7.6版 2009年,MATLAB 7.8版(R2009a)
1.1.2 MATLAB的主要功能(1)、数值计算。 (2)、工程与科学绘图。 (3)、控制系统设计与仿真。 (4)、数字信号处理。 (5)、通信系统设计与仿真。 (6)、财务与金融工程。
1.1.3 初识MATLAB • 例1-1绘制正弦曲线和余弦曲线。x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x)); • 例1-2求方程 3x4+7x3 +9x2-23=0的全部根。p=[3,7,9,0,-23]; %建立多项式系数向量x=roots(p) %求根
例1-3求积分syms x s=int(sqrt((1+x)/x)/x , x)
Ax=b 例1-4、求解线性系统 3x1+ x2 - x3 = 3.6 x1+2x2+4x3 = 2.1 -x1+4x2+5x3 = -1.4 程序:A=[3 1 -1;1 2 4;-1 4 5]; b=[3.6;2.1;-1.4]; x=A\b 结果:x = 1.4818 -0.4606 0.3848
例1-5用简短命令计算并绘制在0x6范围内的sin(2x)、sinx2、sin2x。例1-5用简短命令计算并绘制在0x6范围内的sin(2x)、sinx2、sin2x。 x=linspace(0,6) y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2; plot(x,y1,x, y2,x, y3)
动态图形 立体图
1.2 MATLAB的运行环境与安装 • 1.2.1 MATLAB的运行环境硬件环境:(1) CPU (2) 内存(3) 硬盘(4) CD-ROM驱动器和鼠标。软件环境:(1) Windows 98/NT/2000 或Windows XP(2) 其他软件根据需要选用
1.2.2 MATLAB的安装 • 对于一个压缩的MATLAB系统安装包, 可以运行系统自带的安装程序setup.exe,按照安装提示依次操作。 • 有的是数个ISO文件包(光盘映像文件),可以安装虚拟光驱后安装
1.3 MATLAB集成环境 • 1.3.1 启动与退出MATLAB集成环境1.MATLAB系统的启动与一般的Windows程序一样,启动MATLAB系统有3种常见方法:(1)使用Windows“开始”菜单。(2)运行MATLAB系统启动程序matlab.exe。(3) 利用快捷方式。
当MATLAB安装完毕并首次启动时,展现在屏幕上的界面为MATLAB的默认界面,如下图所示。当MATLAB安装完毕并首次启动时,展现在屏幕上的界面为MATLAB的默认界面,如下图所示。
2.MATLAB系统的退出 要退出MATLAB系统,也有3种常见方法:(1) 在MATLAB主窗口File菜单中选择Exit MATLAB命令。(2) 在MATLAB命令窗口输入Exit或Quit命令。(3) 单击MATLAB主窗口的“关闭”按钮。
MATLAB 7用户界面概述 MATLAB 7的用户界面主要包括以下三 个方面的内容: • MATLAB 7的主菜单 • MATLAB 7的工具栏 • MATLAB 7的窗口
1. MATLAB 7的主菜单 • MATLAB 7的主菜单包括File、Edit、Debug、Desktop、Window和Help菜单。 • 可以执行的操作有New、Open、Undo、Redo、Cut、copy和Step等。
2. MATLAB 7的工具栏 • MATLAB 7的工具栏包括新建文件、打开文件、剪切、复制和粘贴等常用图标 • 同时,MATLAB 7的工具栏适时显示MATLAB 7的当前路径,用户还可以通过工具栏来改变当前路径
3. MATLAB 7的窗口 • 打开MATLAB 7,默认打开的窗口包括: (1)命令窗口(Command Window); (2)命令历史窗口(Command History);(3)工作间管理窗口(Workspace); (4)当前路径窗口(Current Directory) • 此外,还有编译窗口、图形窗口和帮助窗口等其他种类的窗口 。
(1). 命令窗口 在默认设置下,命令 窗口自动显示MATLAB 界面中,如果用户只 想调出命令窗口,也 可以选择Desktop | Desktop Layout | Command Window Only命令。MATLAB 用户界面的右侧窗口 就为命令窗口。
(2). 命令历史窗口 • 命令历史窗口显示 用户在命令窗口中所 输入的每条命令的历 史记录,并标明使用 时间,这样可以方便 用户的查询。 • 如果用户想再次执 行某条已经执行过的 命令,只需在命令历 史窗口中双击该命。
(3). 工作间管理窗口 • 工作间管理窗口就是用来显示当前计算机内存中MATLAB变量的名称、数学结构、该变量的字节数及其类型。 • 在默认设置下,工作间管理窗口自动显示于MATLAB界面中。
(4). 当前路径窗口 • 在默认设置下,当 前路径窗口自动显示 于MATLAB界面中,用 户也可以选择Desktop| Current Directory命令调出 或隐藏该命令窗口。 • 当前路径窗口显示 着当前用户工作所在 的路径
MATLAB 7的路径搜索 • (1)MATLAB 7的当前目录 • 在命令窗口中输入cd命令,并按Enter键确认,即显示有当前MATLAB 7工作所在目录。 • >> cd • C:\MATLAB71\work • >>
MATLAB 7的路径搜索 • (2)MATLAB 7的路径搜索 • 选择MATLAB的主 窗口中File | Set Path命令 ,进入 到设置路径搜索的 对话框 ,用户可 以设置新的路径
安装matlab7.0后介绍matlab 的基本情况。
Command Window运行入门 • Command Window指令窗简介 MATLAB指令窗默认地位于MATLAB桌面的右方,假如,用户希望得到脱离操作桌面的独立指令窗,只要点击该指令窗右上角的按键,若用户希望让独立指令窗嵌放回桌面,则只要点击Command Window右上角的按钮,或选中指令窗菜单 {Desktop:Dock Command Window} 便可。
最简单的计算器使用法 • 【例1.3-1】求 的算术运算 (1)用键盘在MATLAB指令窗中输入以下内容 >> (12+2*(7-4))/3^2 (2)在上述表达式输入完成后,按 [Enter] 键,该指令被执行,并显示如下结果。 ans = 2
【例1.3-2】“续行输入”法。本例演示:或由于指令太长,或出于某种需要,输入指令行必须多行书写时,该如何处理。【例1.3-2】“续行输入”法。本例演示:或由于指令太长,或出于某种需要,输入指令行必须多行书写时,该如何处理。 S=1-1/2+1/3-1/4+ ... 1/5-1/6+1/7-1/8 S = 0.6345 〖说明〗 • MATLAB用3个或3个以上的连续黑点表示“续行”,即表示下一行是上一行的继续。 • 本例指令中包含“赋值号”,因此表达式的计算结果被赋给了变量S。 • 指令执行后,变量S被保存在 MATLAB 的工作空间(Workspace)中,以备后用。如果用户不用 clear 指令清除它,或对它重新赋值,那么该变量会一直保存在工作空间中,直到本MATLAB 指令窗被关闭为止。 • 一条指令输入结束后,必须按 [Enter] 键,那指令才被执行。 • 如果本例输入指令是“不含赋值号的表达式”,则计算结果被赋给MATLAB的一个默认变量“ans”。它是英文“answer”的缩写。
数值、变量和表达式 一 数值的记述 MATLAB的数值采用习惯的十进制表示,可以带 小数点或负号。以下记述都合法。 -99 0.001 3 9.456 1.3e-3 4.5e33 二 变量命名规则 • 变量名、函数名是对字母大小写敏感的。如变量SY和sy表示两个不同的变量。sin是MATLAB定义的正弦函数名,但SIN,Sin等都不是。 • 变量名的第一个字符必须是英文字母,最多可包含63个字符(英文、数字和下连符)。 如myvar201是合法的变量名。 • 变量名中不得包含空格、标点、运算符,但可以包含下连符。如变量名my_var_201是合法的,且读起来更方便。而my,var201由于逗号的分隔,表示的就不是一个变量名。
MATLAB默认的预定义变量 表1.3-1 MATLAB中最常用的预定义变量
运算符和表达式 表 1.3-2 MATLAB表达式的基本运算符
MATLAB书写表达式的规则 • 与“手写算式”几乎完全相同。 • 表达式由变量名、运算符和函数名组成。 • 表达式将按与常规相同的优先级自左至右执行运算。 • 优先级的规定是:指数运算级别最高,乘除运算次之,加减运算级别最低。 • 括号可以改变运算的次序。 • 书写表达式时,赋值符“=”和运算符两侧允许有空格,以增加可读性。
特点一:面向复数设计的运算 • MATLAB的所有运算都是定义在复数域上的 ,在运算时不需要把实部与虚部分开。 • 复数 直角坐标表示和极坐标表示之间转换的MATLAB指令如下。 real(z)给出复数Z的实部 。 imag(z)给出复数Z的虚部 。 abs(z)给出复数Z的模 。 angle(z)以弧度为单位给出复数Z的幅角 。
(1)采用运算符构成的直角坐标表示法和极坐标表示法(1)采用运算符构成的直角坐标表示法和极坐标表示法 z1=4+3*i z2 = 1 + 2 * i%运算符构成的直角坐标表示法 z3=2*exp(i*pi/6) %运算符构成的极坐标表示法 z=z1*z2/z3
(2)复数的实虚部、模和幅角计算 real_z=real(z) image_z=imag(z) magnitude_z=abs(z) angle_z_radian=angle(z) %弧度单位 angle_z_degree=angle(z)*180/pi %度数单位
本例演示:MATLAB的运算在复数域上进行;指令后“分号”的作用;复数加法的几何意义;展示MATLAB的可视化能力(让读者感受,但不要求理解)。本例演示:MATLAB的运算在复数域上进行;指令后“分号”的作用;复数加法的几何意义;展示MATLAB的可视化能力(让读者感受,但不要求理解)。 z1=4+3*i; z2=1+2*i; %在一个物理行中,允许输入多条指令。 %但各指令间要用“分号”或“逗号”分开。 %指令后采用“分号”,使运算结果不显示。 z12=z1+z2 %以下用于绘图 clf,hold on %clf清空图形窗。逗号用来分隔两个指令。 plot([0,z1,z12],'-b','LineWidth',3) plot([0,z12],'-r','LineWidth',3) plot([z1,z12],'ob','MarkerSize',8)
思考: (1)直接计算时,得到处于第一象限的方根。 a=-8; r_a=a^(1/3)%求3次根 r_a = 1.0000 + 1.7321i (2)全部方根计算如下 % 先构造一个多项式p=[1,0,0,-a]; %p是多项式的系数向量 %指令末尾的“英文状态分号”使该指令运行后,不显示结果。 R=roots(p) %求多项式的根 R = -2.0000 1.0000 + 1.7321i 1.0000 - 1.7321i
(3)图形表示 • MR=abs(R(1)); %计算复根的模 • t=0:pi/20:2*pi; • x=MR*cos(t); • y=MR*sin(t); • plot(x,y,'b:'),grid on • %画一个半径为R的圆 • %注意“英文状态逗号”在不同位置的作用 • hold on • plot(R(2),'.','MarkerSize',30,'Color','r') %画第一象限的方根 • plot(R([1,3]),'o','MarkerSize',15,'Color','b') • %画另两个方根 • axis([-3,3,-3,3]),axis square • %保证屏幕显示呈真圆 • hold off
结论: 1.对复数进行方根运算时,MATLAB只给出处于“第一象限”的那个根。 2.展现MATLAB的图形表现力
特点二 :面向数组设计的运算 • Matlab中,所有数据以数组形式存储,标量数据也看作1×1的数组(Array)。 Matlab有两种基本运算:一种是数组运算;另一种是矩阵运算。
(1)在键盘上输入下列内容 AR= [1,3;2,4] (2)按 [Enter] 键,指令被执行。 (3)在指令执行后,MATLAB指令窗中将显示以下结果: (2)分行输入 结果:?
〖说明〗 • 1、在MATLAB中,不必事先对数组维数及大小做任何说明,内存将自动配置。 • 2、二维数组输入的三大要素:数组标识符“[ ]”;元素分隔符空格或逗号“,”;数组行间分隔符分号“;”或“回车键”。所有标点符号都是“英文状态的符号”。 • 3、MATLAB对字母大小写是敏感的。 • 4、在全部键入一个指令行内容后,必须按下 [Enter] 键,该指令才会被执行。
(3)求复数数组中各元素的模和幅角——循环法(笨拙!)(3)求复数数组中各元素的模和幅角——循环法(笨拙!) for m=1:2 for n=1:2 Am1(m,n)=abs(A(m,n)); Aa1(m,n)=angle(A(m,n))*180/pi; %以度为单位计算幅角 end end Am1,Aa1 (1)创建复数数组 AR=[1,3;2,4]; AI=[5,7;6,8]; A=AR-AI*i (2)求复数数组的实部和虚部 A_real=real(A) A_image=imag(A)
(4)求复数数组中各元素的模和幅角——直接法(4)求复数数组中各元素的模和幅角——直接法 m2=abs(A) a2=angle(A)*180/pi 〖说明〗 记住:对于MATLAB来说,应该尽量摒弃“循环”处理,而采用“向量化”处理方式。
t=0:pi/50:4*pi; %定义自变量t的取值数组 y=exp(-t/3).*sin(3*t); %计算与自变量相应的y数组。注意:乘法符前面的小黑点。 plot(t,y,'-r','LineWidth',2) axis([0,4*pi,-1,1]) xlabel('t'),ylabel('y')