2022年MATLAB使用教程 .pdf
I 目录第 1 章 MATLAB 概述 . 1 1.1 熟悉 MATLAB 开发环境 . 1 1.2 使用 Notebook . 2 1.3 使用 MATLAB 的帮助 . 3 1.4 自我练习 . 3 第 2 章 MATLAB 基本运算 . 4 2.1 向量的运算 . 4 2.2 矩阵和数组的运算 . 4 2.3 字符串和日期型数 组的操作 . 5 2.4 多项式的运算 . 6 2.5 元胞数 组和结构体 . 6 2.6 自我练习 . 7 第 3 章 数据的可 视化. 8 3.1 绘制二维曲线并标注文字 . 8 3.2 在同一窗口中 绘制多条曲 线. 8 3.3 绘制特殊 图形. 9 3.4 绘制三维图形. 10 3.5 自我练习 . 11 第 4 章 符号运算 . 12 4.1 符号表达式的 创建和算 术运算 . 12 4.2 符号表达式的运算 . 12 4.3 符号表达式的微 积分和积分变换 . 13 4.4 符号方程的求解 . 14 4.5自我练习 . 14第 5 章 程序设计和 M 文件 . 15 5.1 使用函数 调用并调试程序 . 15 5.2 使用 M 脚本和 M 函数文件 . 15 5.3 使用函数句柄和匿名函数进行数值分析 . 17 5.4 自我练习 . 17 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 1 第 1 章 MATLAB概述1.1 熟悉 MATLAB 开发环 境1.MATLAB 的启动单击 Windows 的开始菜单,选择“程序”“MATLAB ”“ R2006b”“ MATLAB R2006b”单击桌面上的MATLAB快捷方式图标2.MATLAB 的窗口布局使命令窗口独立:选择菜单“ Desktop”“ Undock Command Window”单击“ Command Window ”右上角的展开按钮单击还原按钮可使命令窗口恢复到原位置创建不同的新文件3.使用命令窗口a=1 2;3 4,b=1/3,c=a*b,d=hello,e=d+1 a = 1 2 3 4 b = 0.3333 c = 0.3333 0.6667 1.0000 1.3333 d = hello e = 105 102 109 109 112 (1)使用标点符号来修改命令行添加注释c=a+b %c 为矩阵 a+b 的和c = 1.3333 2.3333 3.3333 4.3333;不显示计算结果a=1 2;3 4; 续行d=hell. o ? Error: A MATLAB string constant is not terminated properly.,用作数组元素的分隔a=1 2;3 4 a = 1 2 3 4(2)使用操作键:向前调回已输入过的命令;:向后调回已输入过的命令;Esc:清除当前行的全部内容。(3)使用 format 设置数值的显示格式format long :显示 15 位长格式format long;c c = 0.333333333333333 0.666666666666667 1.000000000000000 1.333333333333333 format rat :显示近似有理式格式format rat;c c = 1/3 2/3 1 4/3 (4)设置命令窗口的外观名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 2 选择“ File”“ Preference”选择对话框左栏的“Fonts”,将字体设置为宋体单击对话框左栏的“Command Window ”,设置“ Numeric Format ”栏为“ format short ”和“Numeric display ”为“ compact”(5)使用控制命令clc 清空命令窗口的显示内容beep % 发出 beep的声音4.历史命令窗口创建 M 文件:在历史命令窗口中选择前5 行命令,单击鼠标右键出现快捷菜单“Create M-File”,则出现M 文件编辑 /调试器窗口,窗口中已有所选择的命令行,在文件中添加前两行注释:sy1_1 %基本操作保存该文件名为“sy1_1.m”创建快捷方式:选择两行命令format long;c 单击鼠标右键出现快捷菜单选择“Create Shortcut”,则会出现“Shortcut Editor ”对话框。在“Label”框中输入快捷方式的名称,单击Save 按钮。5.工作空 间窗口创建新变量:单击工作空间窗口工具栏的新建变量按钮,或选择菜单“File”“ New”“Variable ”保存变量:在工作空间中选择需要保存的变量名,然后单击保存按钮,出现“Save to MAT-File”对话框,保存为MAT 文件“ sy1_1.mat”使用“ who”和“ whos”命令查看各变量使用“ clear”命令删除变量b 使用菜单“ View ”“ Choose columns”“ Mean”查看 a各列的平均值6.M 文件编辑/调试器窗口创建空白M 文件:单击新建图标或选择菜单“File”“ New”“ M-file ”创建单元:选择菜单“Cell”“ Enabled Cell Mode ”,出现单元工具栏,使用“”创建单元。单击Ctrl+Enter 可以运行光标所在单元。7.当前目 录浏览 器窗口打开文件:在当前目录浏览器窗口右击文件“sy1_1.m ”,选择“ Open”运行 M 文件:用鼠标右击“sy1_1.m”文件,在快捷菜单中选择“Run”查找文件:单击查找按钮,出现查找文件对话框将文件夹以图示显示使用 what,dir, which 命令查看当前目录信息使用 type 命令查看“ sy1_1.m”文件的内容8.修改搜索路径单击菜单“ File ”“ Set Path”,打开设置路径对话框9.数组编辑 器窗口编辑变量:双击打开变量a,在图中添加第一行第三列为6,则第二行第三列自动添0 数据绘图:方法一:使用菜单,在工作空间浏览器窗口和数组编辑器窗口中都可以选择“Graphics”菜单,在下拉菜单中选择“Plot all Columns ”。方法二:使用工具栏,选择工具栏中的绘图按钮,在选项中选择要绘制的曲线类型。1.2 使用 Notebook 1.安装 Notebook notebook setup 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - 3 2.在 Word 中显示 MATLAB 命令定义输入单元:选择1、2 行命令,然后选择菜单“Notebook ”“ Define Input Cell ”定义输入单元;选择后3 行命令,选择菜单“Notebook ”“ Evaluate Cell ”,直接定义输入单元并运行显示输出单元。a=1 2;3 4,b=1/3,c=a*b,d=hello,e=d+1 a = 1 2 3 4 b = 1/3 c = 1/3 2/3 1 4/3 d = hello e = 105 102 109 109 112 定义输入单元组:选择两个输入单元后,选择菜单“Notebook ”“ Group Cells ”,就将两个输入单元组成单元组。1.3 使用 MATLAB的帮助1.使用帮助命令help help sin lookfor sin 2.使用帮助 导航/浏览器窗口通过“ Contents 选项”通过“ Index”面板查找通过“ Search”面板查找3.使用 Demos demo matlab graphics 1.4 自我练习1)在命令窗口中输入以下命令并使用who 和 whos 命令查看变量信息,在数组编辑器窗口中查看变量内容,并用format 将 x 和 y 显示为指数形式。x=0:2:10,y=sqrt(x) x = 0 2 4 6 8 10 y = 0 1393/985 2 2158/881 3363/1189 721/228 2)在命令窗口中输入以下命令,将两个变量保存到exe1.mat 文件中,并将两行命令保存为exe1.m 文件,使用which 命令查看文件信息,将exe1.m 文件设置到搜索路径后,在命令窗口中运行 exe1 文件。a=1 2;3 4,b=1 1;2 2 a = 1 2 3 4 b = 1 1 2 2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 4 第 2 章 MATLAB基本运算2.1 向量的运算1.行向量的 创建t1=0:10;t2=linspace(0,20,21); 2.行向量的 计算format short;ft1=20*exp(-0.5*t1).*sin(2*t1) ft1 = 0 11.0303 -5.5682 -1.2469 2.6779 -0.8931 -0.5343 0.5983 -0.1055 -0.1669 0.1230 3.关系运算ff=ft10,ft=ft1.*ff ff = 0 1 0 0 1 0 0 1 0 0 1 ft = 0 11.0303 0 0 2.6779 0 0 0.5983 0 0 0.1230 4.逻辑运算tt=(t1=2*pi)&(t1 sym.double at 25 DOUBLE cannot convert the input expression into a double array. If the input expression contains a symbolic variable, use the VPA function instead. 4.创建符号矩 阵d=a a1;b b1,dt=triu(d),dc=cos(d) d = 1.5555555555555*2(-2), 1/3 thera, thera dt = 1.5555555555555*2(-2), 1/3 0, thera dc = cos(6004799503160661/18014398509481984), cos(1/3) cos(thera), cos(thera) 4.2 符号表达式的运算1.创建符号表达式syms x u v;f=x3+5*x2+7*x+3;g=2*u/(u+v); 2.化简符号表达式fh=horner(f),ff=factor(f),fs=simple(f) fh =3+(7+(5+x)*x)*x ff =(x+3)*(x+1)2 fs =(x+3)*(x+1)2 3.确定符号自由 变量var=findsym(g,2),v1=var(1) var =v,u v1 =v 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 19 页 - - - - - - - - - 13 4.复合函数fg=compose(f,g),gf=compose(g,f),gf1=compose(g,f,var(3),x),gf2=compose(g,f,t) fg =8*u3/(u+v)3+20*u2/(u+v)2+14*u/(u+v)+3 gf =2*u/(u+x3+5*x2+7*x+3) gf1 =2*(x3+5*x2+7*x+3)/(x3+5*x2+7*x+3+v) gf2 =2*u/(u+t3+5*t2+7*t+3)5.使用符号函数 计算器funtool 4.3 符号表达式的微 积分和积分变换1.创建符号表达式syms x y t a;f=(x2+y2)(x*y);g=sin(1/x); 2.计算极限fxy=limit(limit(f,y,1),x,1),fxy0=limit(f) fxy =2 fxy0 =1 3.计算微积分gdf1=diff(g),gdf2=diff(g,x,2),gint=int(g),gint1=int(g,1,pi) gdf1 =-cos(1/x)/x2 gdf2 =-sin(1/x)/x4+2*cos(1/x)/x3 gint =sin(1/x)*x-cosint(1/x) gint1 =-sin(1)+cosint(1)+sin(1/pi)*pi-cosint(1/pi) 4.计算级数求和gsum=symsum(g,1,10) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 19 页 - - - - - - - - - 14 gsum =sin(1)+sin(1/2)+sin(1/3)+sin(1/4)+sin(1/5)+sin(1/6) +sin(1/7)+sin(1/8)+sin(1/9)+sin(1/10) 5.计算积分变换p=exp(-x2);q=sin(a*t);g=sin(1/x); pf=fourier(f),ql=laplace(g),gf=fourier(f),gl=laplace(g) pf =fourier(x2+y2)(x*y),x,w) ql =laplace(sin(1/x),x,s) gf =fourier(x2+y2)(x*y),x,w) gl =laplace(sin(1/x),x,s)4.4 符号方程的求解1.解符号方程syms x y z;eqn1=sin(1/x)=1;eqn21=x+y+z=10;eqn22=x-2*y+z;eqn23=2*x-y=-4;x1=solve(eqn1),x2,y2,z2=solve(eqn21,eqn22,eqn23) x1 =2/pi x2 =-1/3 y2 =10/3 z2 =7 2.解微分方程y1=dsolve(Dy=5),y21=dsolve(D2y-Dy=1),y22=dsolve(D2y-Dy=1,y(0)=1,y(1)=1) y1 =5*t+C1 y21 =exp(t)*C1-t+C2 y22 =exp(t)/(exp(1)-1)-t+(exp(1)-2)/(exp(1)-1) 4.5 自我练习1)创建符号表达式2221Gss,使用排版形式显示,并进行部分分式展开。2)使用 taolor 级数计算器窗口对实验3 中的1singx进行级数逼近。3)解微分方程221.41dydyydxdx,010yy。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 19 页 - - - - - - - - - 15 第 5 章 程序 设计 和 M 文件5.1 使用函数 调用并调试程序1.打开 M 文件编辑 /调试器窗口方法:单击MATLAB桌面上的新建图标,或者单击菜单“File”“ New”“ M-File ”M 文件编辑 /调试器窗口边框的作用:左边框是行号,如果程序出错可根据出错提示中的行号查找出错语句;左边框的“-”处可以设置断点,单击“-”出现红色的圆点就是断点;右边框是程序的提示,将鼠标放置其上可以看到相应的提示和警告信息。2.编写 M 函数文件编写程序判断输入参数是否为“水仙花数”。“水仙花数”是一个三位数,各位数的立方和等于该数本身。如果是“水仙花数”则函数输出1,否则输出0。function y=sy511(x) % sy511 判断是否水仙花数%y 判断 结果,是 则 y=1 ,否 则 y=0 a=fix(x/100); b=fix(rem(x,100)/10); c=rem(x,10); if x=(a3+b3+c3) y=1; else y=0; end 将函数文件保存为“sy511.m ”,在命令行中调用该函数:y=sy511(455) 3.添加主函数function sy51(x) %SY51 判断水仙花数if x100&x=999 y=sy511(x) else return end if y=1 disp(YES) else disp(NO) end 4.调试程序(1)单步运行(2)单步运行进函数(3)设置断点(4)单元调试5.2 使用 M 脚本和 M 函数文件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 19 页 - - - - - - - - - 16 1.创建 M 脚本文件clear; n=6; y=zeros(n); for m=1:n-1 for mn=(m+1):n y(m,mn)=mn-1; end end y y = 0 1 2 3 4 5 0 0 2 3 4 5 0 0 0 3 4 5 0 0 0 0 4 5 0 0 0 0 0 5 0 0 0 0 0 0 2.使用 while 循环结构n=6; y=zeros(n); m=1; while mn mn=m+1; while mnn y(m,mn)=mn-1; mn=mn+1; end m=m+1; end y y = 0 1 2 3 4 0 0 0 2 3 4 0 0 0 0 3 4 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 3.使用 M 函数文件function y=sy522(n) y=zeros(n); for m=1:n-1 for mn=(m+1):n y(m,mn)=mn-1; end end 4.剖析文件5.生成 P码文件pcode sy521 pcode sy522 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 19 页 - - - - - - - - - 17 6.输入输出参数个数5.3 使用函数句柄和匿名函数进行数值分析1.创建匿名函数f1=(t)(sin(t)2*exp(0.1*t)-0.5*abs(t), functions(f1),fplot(f1,0,20) f1 = (t)(sin(t)2*exp(0.1*t)-0.5*abs(t) ans = function: (t)(sin(t)2*exp(0.1*t)-0.5*abs(t) type: anonymous file: workspace: 1x1 struct 02468101214161820-10-8-6-4-2022.创建函数句柄function y=sy53(t) %SY53 y=sin(t).2*exp(0.1*t)-0.5*abs(t) y=sin(t).2*exp(0.1*t)-0.5*abs(t); f2=sy53;t=0:10;y=f2(t) 3.求函数的 过零点x0=fzero(f1,0,5),x1=fzero(f1,1,5) x0 = 0 x1 = 2.0074 4.求数值积分q=quad(f1,0,10) 5.4 自我练习1)将实验 1 中输入参数x 设置为全局变量,使用主函数调用判断水仙花数。2)在实验 2 中使用 varargout 函数编程实现当输出参数大于1 时,立即结束程序。3)在实验 3 中使用 quad 函数对 f1 计算数值积分结果怎样,应如何修改?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 19 页 - - - - - - - - - 18 第 6 章 MATLAB高级图 形设计6.1 创建多控件的用 户界面1.打开 GUI 界面2.创建界面(1)放置控件(2)设置控件属性(3)对象浏览器窗口(4)布局控件(5)设置 Tab 顺序编辑器3.编写程序4.创建菜单6.2 创建多媒体用 户界面1.使用对象句柄创建界面2.显示图像和播放声音3.创建动画4.创建对话框6.3 自我练习1)创建实验1 的界面,使用一组单选按钮来选择曲线类型。2)使用创建句柄对象的方法创建实验1 的界面。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 19 页 - - - - - - - - -