收藏 分享(赏)

第8章数学软件应用.doc

上传人:jmydc 文档编号:5228237 上传时间:2019-02-13 格式:DOC 页数:30 大小:1.58MB
下载 相关 举报
第8章数学软件应用.doc_第1页
第1页 / 共30页
第8章数学软件应用.doc_第2页
第2页 / 共30页
第8章数学软件应用.doc_第3页
第3页 / 共30页
第8章数学软件应用.doc_第4页
第4页 / 共30页
第8章数学软件应用.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、高等数学(少学时)第 8 章数学软件 MATLAB 应用 18.1 基础知识8.1.1 MATLAB 的安装与启动(Windows 操作平台)1安装(1)为电脑接电源,按主机开关,按显示器开关,启动Windows;(2)将 MATLAB 源光盘插入光驱;(3)在光盘的根目录下找到 MATLAB 的安装文件 Setup.exe;(4)双击该安装文件后,按提示逐步安装 MATLAB安装完成后,在程序栏里便有了 MATLAB 选项,桌面上出现MATLAB 的快捷方式(一个 MATLAB 图标) 2启动按上述(1)步打开电脑后,左双击桌面上的 MATLAB 图标或点程序里的 MATLAB 选项,即可启

2、动 MATLAB 系统8.1.2 MATLAB7.0 的主菜单MATLAB7.0 用户界面的主菜单主要有文件( File) 、编辑(Edit) 、调试(Debug) 、桌面设计(Desktop) 、窗口(Window) 、帮助(Help)等8.1.3 MATLAB7.0 的工具栏8.1.4 MATLAB7.0 的窗口启动 MATLAB7.0 以后,就显示 MATLAB7.0 的用户界面,界面有 4 个主要窗口:命令窗口(Command Window) 、当前路径(Current Directory)窗口、工作间管理(Workspace) 窗口、历史命令(Command History)窗口.与

3、以前的 MATLAB 版本不同的地方在于,MATLAB7.0 除了有传统的主工具栏之外,还新增了快捷工具栏(Shortcut Toolbar) 1命令窗口(Command Window)启动 MATLAB7.0 后,其右半边是 Command Windows窗口,这就是命令窗口(右侧蓝色方框内) ,是 MATLAB 的主窗口 . 命令窗口的空白区域即命令编辑区,用来输入和显示计算结果可键入各种 MATLAB 命令,进入各种操作输入表达式后按回车键Enter(以后简记为 ) ,就能给出计算结果如果你的命令有错误,该窗 口将用红字显示出错信息. 如果你在每行命令后面打上分号 “;”,则不能显示计算

4、结果,所以需要显示结果的计算命令后面不要打分号2工作间管理(Workspace)窗口在默认设置下,工作间管理窗口自动显示于 MATLAB 界面中(左上方的蓝色方框内) ,它是 MATLAB 的重要组成部分,例如表达式 产生了一个名为 的变量,而且这个变量 被赋予 100x10xx的值,这个值就被存储在计算机的内存中工作间管理窗口就是用来显示当前计算机内存中 MATLAB 变量的名称、数学结构、该变量的字节数及其类型,在MATLAB 中不同的变量类型对应不同的变量名图标注意:在 MATLAB 命令窗口中运行的所有命令都共享一个相同的工作高等数学(少学时)第 8 章数学软件 MATLAB 应用 2

5、间,所以它们共享所有的变量,初学者应当重视3当前路径(Current Directory)窗口在默认设置下,工作间管理窗口自动显示于 MATLAB 界面中(左上方的蓝色方框内) ,它当前路径窗口显示着当前用户工作所在是路径4历史命令(Command History)窗口在默认设置下,工作间管理窗口自动显示于 MATLAB 界面中(左下方的蓝色方框内) ,它显示用户在命令窗口中所输入的每条命令的历史记录,并标明使用时间,这样可以方便用户的查询.如果用户想在次执行某条已经执行过的命令,只需在历史命令窗口中双击该命令;如果用户需要从历史命令窗口中删除一条或多条命令,只需选中这些命令,并单击左键,在弹

6、出的快捷菜单中选择 Delete Selection 命令即可8.1.5 MATLAB 的程序编辑器MATLAB 提供了一个内置的具有编辑和调试功能的程序编辑器. 点击 MATLAB 用户界面第二行左边第一个按钮,或者依次点击“File”、 “New”、 “M-file”命令,即可显示 Untitled 窗口,意味着你已获得程序编辑器,程序编辑器上面第一行是菜单栏,第二行是工具栏,编辑和调试程序非常方便如果程序命令比较多,在命令窗口上修改非常麻烦,此时可在程序编辑器上编辑该程序,并点击工具栏的第三个按钮,就会弹出 Work 目录框,在 Work 目录框下面的文件名(N)框内键入你给程序取的文件

7、名(字母开头,最后带“.m”) ,并点击“保存”,重新返回程序编辑器,依次点击菜单的“Debag”、 “Run”按钮,就可以运行你的程序,完成你所要求的运算经过这次保存后,以后每次单击工具栏的第二个按钮,就会显示 Work 目录,在文件名(N)框内键入你的文件名,并单击 “打开”,就会在程序编辑器显示你的程序,可以进行修改或运算计算结果或出错信息显示在MATLAB 命令窗口,绘图结果显示在图形窗口8.1.6 MATLAB 基本命令与基本函数1基本的系统命令MATLAB 的基本系统命令不多,常用的命令功能如表所示命令 功能exit/quit 退出MATLABcd 改变当前目录pwd 显示当前目录

8、path 显示并设置当前路径what/dir/ls 列出当前目录中文件清单type/dbtype 显示文件内容load 在文件中装载工作区save 将工作区保存到文件中diary 文本记录命令! 后面跟操作系统命令高等数学(少学时)第 8 章数学软件 MATLAB 应用 32工作区和变量的基本命令MATLAB 工作区和变量的基本命令及功能见表 8-4 所示表 8-4 工作区和变量命令命令或符号 功能或意义clear 清除所有变量并恢复除eps外的所有预定义变量who 显示当前内存变量列表,只显示内存变量名whos 显示当前内存变量详细信息,包括变量名、大小、所占用二进制位数size/lengt

9、h 显示矩阵或向量的大小命令pack 重构工作区命令format 输出格式命令casesen 切换字母大小写命令which+ 查询给定函数的路径exist(变量名/函数名)查询变量或函数3MATLAB 工作区的键盘操作指令及功能MATLAB 工作区的键盘操作指令及功能见表 8-5 所示:表 8-5 在 MATLAB 工作区用键盘操作的功能键盘操作 功能 Ctrl+p 重调前一行 (用于调出前面的命令进行修改,重新计算) Ctrl+n 重调下一行 Ctrl+b 向前移一个字符 Ctrl+f 向后移一个字符Ctrl+ Ctrl+r 右移一个字Ctrl+ Ctrl+l 左移一个字Home Ctrl+

10、a 移动到行首End Ctrl+e 移动到行尾Esc Ctrl+u 清除一行Del Ctrl+d 删除光标处字符Backspace Ctrl+h 删除光标前的一个字符Ctrl+k 删除到行尾4MATLAB 常用数学函数MATLAB 的数学函数很多,可以说涵盖了几乎所有的数学领域下表列出的仅是最简单最常用的(见表 8-6) 高等数学(少学时)第 8 章数学软件 MATLAB 应用 48-6 MATLAB 常用数学函数函数 数学含义 函数 数学含义abs(x)求 的绝对x值,若 是复数,即求的模csc(x) 求 的余割函数, 为弧xx度sign(x) 求 的符号xasin(x) 求 的反正弦函数,

11、即arcsinxsqrt(x)求 的平方根,即 acos(x)求 的反余弦函数,即oexp(x)求 的指数x函数,即 xeatan(x) 求 的反正切函数,即xarctnlog(x)求 的自然对数,即lnxacot(x) 求 的反余切函数,即 otxlog10(x)求 的常用对数,即lgasec(x) 求 的反正割函数,即secarlog2(x)求 的以 2x为底的对数,即 2loacsc(x) 求 的反余割函数,即xcsrsin(x)求 的正弦x函数, 为弧度Round(x) 求最接近 的整数xcos(x)求 的余弦函数, 为x弧度rem(x,y) 求整除 的余数/ytan(x)求 的正切函

12、数, 为弧度real(z) 求复数 的实部zcot(x)求 的余切x函数, 为弧度Imag(z) 求复数 的虚部zsec(x)求 的正割函数, 为x弧度conj(z) 求 的共轭,即求 z小结:基础知识本节上机实验,主要了解MATLAB 的安装与启动,熟悉MATLAB 的各个活动窗口,掌握 MATLAB 的常用命令和基本函数高等数学(少学时)第 8 章数学软件 MATLAB 应用 58.2 矩阵、数组及程序设计8.2.1 矩阵的输入与运算1矩阵的直接输入MATLAB中不用描述矩阵的类型和维数,它们由输入的格式和内容决定.小矩阵可以用排列各个元的方法输入,同一行元用逗号或空格分开,不同行的元用分

13、号或回车分开如,在MATLAB 工作窗口输入:A=1,2,3; 4,5,6或A=1 2 3; 4 5 6或A=1 2 34 5 6都输入了一个23 矩阵A,屏幕上显示输出变量为A=1 2 34 5 6矩阵中的元可以用它的行、列数表示,例如,在MATLAB工作窗口输入程序:a=A(2,1)% MATLAB区分大小写字母,a和A是不同的变量 .运行后输出结果如下:a=4或者不指定输出变量,MATLAB 将回应ans (answer 的缩写) ,如在MATLAB工作窗口输入:A(2,1)运行后输出结果如下:ans=4A输入后一直保存在工作空间中,可随时调用,除非被清除或替代MATLAB可以直接修改矩

14、阵的元素,如在MATLAB工作窗口输入:A(2,1)=7,A(3,4)=1运行后输出结果如下:A=1 2 37 5 6A=1 2 3 07 5 6 00 0 0 1高等数学(少学时)第 8 章数学软件 MATLAB 应用 6原来的A没有3行4列,MATLAB 自动增加行列数,对未输入的元赋值0.2函数生成的矩阵MATLAB 提供了一些函数来构造特殊矩阵,如,在 MATLAB 工作窗口输入:w=zeros(2,3)%23零矩阵.运行后输出结果如下:w=0 0 00 0 0在MATLAB工作窗口输入:u=ones(3)%33全1矩阵,方阵只需输入行数,这几个矩阵均如此.运行后输出结果如下:u=1

15、1 11 1 11 1 1在MATLAB工作窗口输入:v=eye(3,4) %34对角线为1的矩阵.运行后输出结果如下:v=1 0 0 00 1 0 00 0 1 03矩阵的裁剪与拼接从一个矩阵中取出若干行(列)构成新矩阵称为裁剪,MATLAB中“:”是非常重要的裁剪工具,如在MATLAB工作窗口输入:A(3, :)%A 的第3 行.运行后输出结果如下:ans=0 0 0 1在MATLAB工作窗口输入:A( : ,2)%A的第2 列.运行后输出结果如下:ans=250在MATLAB工作窗口输入:B=A(1 :2,:) %A的第1,2行.运行后输出结果如下:B=1 2 3 07 5 6 0高等数

16、学(少学时)第 8 章数学软件 MATLAB 应用 7在MATLAB工作窗口输入:C=B( :,2:4)%B的第2 4列.运行后输出结果如下:C=2 3 05 6 0在MATLAB工作窗口输入:D=A(2 :3,2 :2:4)%A的第2,3行,第2,4列.运行后输出结果如下:D=5 00 1请特别注意“:”的用法,想在MATLAB 工作窗口输入程序:A(1:2:3,4 :-1:2)应该有什么结果在MATLAB 工作窗口输入:D( : ,1)=%删除D的第1列,为空集符号运行后输出结果如下:D=3 26 5将几个矩阵接在一起称为拼接,左右拼接时行数要相同,上下拼接时列数要相同,如在MATLAB工

17、作窗口输入:E=D,zeros(2,1)运行后输出结果如下:E=0 3 2 00 6 5 0在MATLAB工作窗口输入:F=A(1:2,: );eye(1,4)运行后输出结果如下:F=1 2 3 07 5 6 01 1 1 1在MATLAB工作窗口输入:G=C,ones(2);9,F(1,:)运行后输出结果如下:G=2 3 0 1 05 6 0 0 19 1 2 3 04矩阵的运算MATLAB中提供了下列矩阵运算符:高等数学(少学时)第 8 章数学软件 MATLAB 应用 8+ 加法;- 减法; 转置; * 乘法; 乘幂; 左除;/ 右除.它们要符合矩阵运算的规律,如果矩阵的行列数不符合运算符

18、的要求,将产生错误信息.这里只将左除和右除的用法叙述如下:设A是可逆矩阵,AX =B的解是A左除B,即X =AB(当B为列向量时,得到方程组的解) ;XA= B的解是A 右除B,即X=B/A.还应注意标量与矩阵进行上述运算的含义,请看在MATLAB工作窗口输入程序:E+3运行后输出结果如下:ans=3 6 5 33 9 8 38.2.2 数组及其运算1数组的输入除了像1 n矩阵(行向量)一样地输入外,数组常采用“:”和函数linspace两种输入方式,它们的用法可以从下面的例子知道在MATLAB工作窗口输入:a=1:5%从1到5公差为1的等差数组运行后输出结果如下:a=1 2 3 4 5在MA

19、TLAB工作窗口输入:b=1:2:7%从1到7 公差为2 的等差数组运行后输出结果如下:b=1 3 5 7如果输入b=1:2:8,得到同样结果在MATLAB工作窗口输入:c=6:-3:-6% 从6到-6公差为-3的等差数组运行后输出结果如下:c=6 3 0 3 -6在MATLAB工作窗口输入:b=0: 2:8,ones(1,3)%等差数组和行向量拼接.高等数学(少学时)第 8 章数学软件 MATLAB 应用 9运行后输出结果如下:b=0 2 4 6 8 1 1 1在MATLAB工作窗口输入:linspace(0,1,9)%从0到 1共9个数值的等差数组.运行后输出结果如下:ans=0 0.12

20、50 0.2500 0.3750 0.5000 0.6250 0.7500 0.87500 1.00002数组的运算数组除了作为1n矩阵(行向量)遵循矩阵运算规则外,MATLAB还为数组提供了一些特殊的运算:.* 乘法;. 乘幂;. 左除;./ 右除.通过下面的例子说明这些运算.在MATLAB工作窗口输入:a=1 2 3 4 5,b=1 3 5 7 9,c=a.*b运行后输出结果如下:a=1 2 3 4 5b=1 3 5 7 9c=1 6 15 28 45在MATLAB工作窗口输入:d=a.2,e=b.a运行后输出结果如下:d=1 4 9 16 25e=1 9 125 2401 59049在M

21、ATLAB工作窗口输入:高等数学(少学时)第 8 章数学软件 MATLAB 应用 10f=a./b,g=a.b运行后输出结果如下:f=1.0000 0.6667 0.6000 0.5714 0.5556g=1.0000 1.5000 1.6667 1.7500 1.8000可以看出,数组运算是对应元素的运算.8.2.3 语句、变量和表达式1语句形式MATLAB语句的一般形式为:变量=表达式若变量和“=”省略,则名为ans的变量自动建立.如果你输入一个语句并以回车结束,则在工作区中显示计算的结果;如果语句以分号“;”结束,MATLAB 只进行计算,不显示计算的结果如果一个表达式太长,可以用续行号

22、将其延续到下一行此外,一行中可以写几个语句,它们之间要用逗号或分号分开如,在MATLAB工作窗口输入:a=1 2 3 4 5;b=1 3 5 7 9;c=a.*b,d=a*b,e=a*b运行后输出结果如下:c=1 6 15 28 45d=95e=1 3 5 7 92 6 10 14 183 9 15 21 274 12 20 28 365 15 25 35 45 2变量MATLAB的变量由字母、数字和下划线组成,最多31个字符,区分大小写字母,第一高等数学(少学时)第 8 章数学软件 MATLAB 应用 11个字符必须是字母对于变量,MATLAB 不需要任何类型的说明或维数语句当输入一个新变量

23、名时MATLAB 自动建立变量并为其分配内存空间MATLAB有几个特殊的量:pi 圆周率;eps 最小浮点数;Inf 正无穷大,特指1/0;NaN 不定值,特指0/0;i,j虚数单位在MATLAB工作窗口输入:a=0 1 0,b=1 0 0,c=a./b运行后输出结果如下:a=0 1 0b=1 0 0Warning: Divide by zero.c=0 Inf NaN3字符串字符串是用单引号括起来的字符集合,可以像向量一样进行拼接和裁剪,如在 MATLAB 工作窗口输入程序:s1=Hello ;s2=every ;s3=body ;s=s1,s2, ,s3,ss=s(1:5)运行后输出结果如

24、下:s=Hello,every bodyss=Hello8.2.4 程序设计MATLAB提供了一个完善的程序设计语言环境,使我们能方便地编制复杂的程序,完成各种计算本节先简要介绍关系、逻辑运算和条件、循环语句等许多高级语言都具备的、编程的重要手段,再着重介绍MATLAB 所特有的M 文件1关系和逻辑运算MATLAB的关系运算符有:大于;=大于或等于;= 等于;=不等于.关系运算比较两个数值,当指出的关系成立时结果为高等数学(少学时)第 8 章数学软件 MATLAB 应用 121(表示真) ,否则为0(表示假).关系运算可以作用于两个同样大小的矩阵或数组,结果是一个0,1矩阵或数组,每个分量代表

25、相应的矩阵或数组分量的关系运算结果,例如,在MATLAB工作窗口输入程序:A=1:5,B=5:-1 :1运行后输出结果如下:A=1 2 3 4 5B=5 4 3 2 1在MATLAB工作窗口输入程序:C=A=4运行后输出结果如下:C=0 0 0 1 1在MATLAB工作窗口输入程序:D=A=B运行后输出结果如下:D=0 0 1 0 0下面举一个例子说明如何将关系运算和数值运算结合起来.在MATLAB工作窗口输入程序:x=(-3 :3)/3运行后输出结果如下:x=-1.0000 -0.6667 -0.3333 0 0.3333 0.6667 1.0000在MATLAB工作窗口输入程序:sin(x

26、)./x运行后输出结果如下:Warning: Divide by zeroans=0.8415 0.9276 0.9816 NaN 0.9816 0.9276 0.8415在计算sinx/x时给出了警告信息,是因为第4个数据sin0/0没有定义,MATLAB返回NaN. 为了避免这种情况出现可以用最小浮点数eps来代替0 ,在MATLAB工作窗口输入程序:x=(-3 :3)/3; x=x+(x=0)*eps; sin(x)./x运行后输出结果如下:ans=0.8415 0.9276 0.9816 1.0000 0.9816 高等数学(少学时)第 8 章数学软件 MATLAB 应用 130.92

27、76 0.8415MATLAB的逻辑运算符有:&与运算;| 或运算;非运算.它们满足熟知的逻辑运算规则: ab&|ab:0 0 0 0 11 0 0 1 01 1 1 1逻辑运算将任何非零元素视为1(真).逻辑运算也可以作用于矩阵或数组.在MATLAB工作窗口输入程序:a=1:9,b=9-a,c=(a4),d=(a=3)&(b end如果关系表达式的值为1,则语句1执行;否则,执行end的后续命令if语句的另外一种用法是:if elseend如果关系表达式的值为1,则语句1执行;否则(关系表达式的值为0),语句2执行,然后执行end的后续命令.当我们有多个选择时还可以用下列结构:if else

28、if elseif elseend如果关系表达式j(j=1,2, n)的值为1,则语句j执行,然后执行end的后续命令;否则,语句2执行,然后执行end的后续命令.例如,可用以下程序得到图8-6的分段函数.function y=fun(x)if xx=31;y=fun(x)运行后输出结果如下:y =1(二)for语句y O0 1 x 1 图 8-6高等数学(少学时)第 8 章数学软件 MATLAB 应用 15循环语句for的一般形式为for = :end步长为1时可以省略对于每一参数值,语句都重复执行当作多重循环时for语句可以嵌套使用,如用以下程序可以生成希尔伯特矩阵function A=f

29、(n,m)A=zeros(n,m);for i=1:nfor j=1:mA(i,j)=1/(i+j-1);endendformat rat在MATLAB工作窗口输入程序:n=4,m=5,A=f(n,m)运行后输出结果如下:A=1 1/2 1/3 1/4 1/51/2 1/3 1/4 1/5 1/61/3 1/4 1/5 1/6 1/71/4 1/5 1/6 1/7 1/8for语句的循环参数可以是任意的数组或矩阵,循环参数依次取数组元素的值,或按矩阵的列依次取值(三)while 语句for循环主要应用于已知循环次数的情况,如果不知道循环次数,可以使用while循环来完成,其表达方式为while

30、 end当关系表达式的值为1(真)时,语句被反复执行,直至关系表达式为0(假)时终止,如,在MATLAB 工作窗口输入程序:n=0; EPS=1;while (1+EPS)1EPS=EPS/2;n=n+1;endEPS=2*EPS;n,format short E,EPS运行后输出结果如下:n=53EPS=高等数学(少学时)第 8 章数学软件 MATLAB 应用 162.2204e-016这个例子给出了计算MATLAB 中特殊常量eps的过程(我们用大写EPS以便与eps相区别) EPS不断地被2除直到(1+EPS)1为假时终止这里需要注意的是,MATLAB 用16位数来表示数据,因此当 EP

31、S接近10 -16时,它会认为(1+EPS)1不成立MATLAB还提供了跳出循环的 break语句,遇到此语句立即执行此循环end的后续语句,如上面计算eps的程序可以改为:EPS=1;for n=1: 100EPS=EPS/2;if (1+EPS)case value1case value2otherwiseend小结:矩阵、数组及程序设计本节上机实验,主要掌握矩阵的输入、运算;数组的运算;理解逻辑运算规则;熟悉 if 语句、for 语句、while 语句和 switch 语句的使用高等数学(少学时)第 8 章数学软件 MATLAB 应用 178.3 初等数学运算与简单作图本节介绍 MATL

32、AB 系统进行初等数学运算,并讨论一元函数图形的画法,应当学习上机操作8.3.1 简单计算1加法:例如计算 154+67在命令窗口键入 154+67按回车键 Enter(简记 ) ,就会显示和数 221 2减法:例如计算 356-418在命令窗口键入 356-418 (得差数-62 ) 3乘法:例如计算 21487在命令窗口键入 214*87 (得乘积 18618) 4除法:例如计算 23515在命令窗口键入 235/15 (得商数 15.6667) 5乘方:例如计算 262键入 262 (得 676) 6平方根:例如求 键入 sqxt(pi) 或者 pi(1/2) (得 1.7725) 7求

33、多项式的根:MATLAB 系统中 roots 函数可以求出多项式的根【例 1】求多项式 的根42317xx解 p=1,0,3,12,-7 ;%多项式的系数数组(按降幂排列)roots(p) %计算数组 p 对应的多项式的根 可得这个多项式的 4 个根:0.7876+2.4351j ,0.7876-2.4351j,-2.0872,0.51218因式分解:因式分解时先要将变量 x 用 syms 定义为符号变量,这样字母 x 才能参加运算,再调用因式分解函数 factor【例 2】将多项 因式分解61解 syms x;s=x6+1;factor(s) (得(x2+1)*(x4-x2+1)8.3.2

34、函数作图 1二维曲线的绘制MATLAB 软件提供绘制二维曲线(平面曲线)的指令是 plot,有下面三种常用格式(1)plot(x, s)高等数学(少学时)第 8 章数学软件 MATLAB 应用 18当 x 是实数组时,以实数的先后排序为横坐标,元素值为相应的纵坐标画出一条曲线. 命令中 s 是可选参数,用来指定曲线的线型、颜色、数据点形状等,例如, s(红色) , g(绿色) , b(蓝色) ,y(黄色) , s不选则用 MATLAB 设定的默认值(2)plot(x,y, s) 当 x、y 是同维向量时,绘制以向量 x 和 y 分别为横、纵坐标的曲线命令中;s是可选参数(3)plot(X1,Y

35、1, s1,X2,Y2 , s2,)每三项为一组,绘制多条曲线,用法同前MATLAB7 系统的绘图函数和工具可将所绘制的图形在图形窗口中显示出来,该窗口与主窗口是隔离的【例 3】绘制 在0, 10上的图形tanyx解 x=linspace(0,10,100); %生成自变量数组,在0,10上等间隔含 100 个元素y=tan(x); %给出函数表达式figure(1); %选择一个绘图窗口plot(x,y) %调用绘图函数 【例 4】在同一个坐标系下画出两条曲线 和sinyx在0,2 上的图形cosyx解 x=0:2*pi/30:2*pi;y=sin(x);z=cos(x);figure(1)

36、plot(x,y,r,x,z,g)title(一条正弦曲线和一条余弦曲线) %title 给出图形标题xlabel(x 的取值范围) %横坐标数值范围ylabel(y 和 z 的值 ) %纵坐标数值范围legend(y=sin(x),z=cos(x) %自动标注图例23 维图形只对几种常用命令通过例子作简单介绍【例 5】做曲面 的图形 ,z=f(x,y)2sinxyz,7x75解 x=-7.5:0.5:7.5;y=x;X,Y=meshgrid(x,y);R=sqrt(X.2+Y.2)+eps;Z=sin(R)./R;mesh(X,Y,Z) 图 8-7图 8-8高等数学(少学时)第 8 章数学软

37、件 MATLAB 应用 19图 8-9如果将 mesh 命令改成 surf(X,Y,Z),图形效果如下8.3.3 方程求解1.先将未知量用 syms 定义为符号变量,再用函数 solve 解方程,格式如下:solve(eqnl ,eqn2, , eqnN)或 solve(eqnl ,eqn2, , eqnN, var1,var2, varN)上面 eqns 是一些具体方程的表达式, vars 是求解的独立变量【例 6】解方程 0291023xx解 syms xsolve(x3-10*x2+29*x-20=0,x) 输出 ans=1 4 5,表示三个解 x=1,x=4,x=5 【例 7】解方程组

38、 ayx20解 syms x y ax,y=solve(x2*y2=0,x-2*y=a) 输出 x=a a 0 0, y=0 0 -1/2*a -1/2*a,表示有 4 组解 , , , yxa2yx0a2对于复杂的方程,求数值解的命令为 fsolve,此时需要提供解的一个初始值. 【例 8】求方程 的数值根0cos)(sin2xex解 先作函数 的图形,找出零点的大致位yi置clear x=-1:0.01:1;y=exp(2*x).*sin(x)-cos(x);plot(x,y) (在 figure1 窗口显示图形如图 8-11,可以看到零点约在x=0.5)然后,取初始解 x=0.5,用fs

39、olve 解方程x=0.5;y=sin(x)*exp(2*x)-cos(x);x=fsolve(y,x) (答案:x=0.4128)图 8-10高等数学(少学时)第 8 章数学软件 MATLAB 应用 20图 8-11【例 9】解方程组 01321x解 在程序编辑器上键入下述 M 文件function y=myfun1(x)y(1)=3*x(1)2-x(2)2;y(2)=3*x(1)*x(2)2-x(1)2-1;将这个文件以 myfun1.m 文件名保存到 work 目录中,再在命令窗口输入如下命令:x=0.8,0.4; %提取初始解向量x=fsolve(myfun1,x) (解得 x=0.5

40、208,x=0.9020 )小结:初等数学运算与简单作图本节上机实验,主要练习初等数学的加减乘除及乘方运算,能够求多项式方程的根;能够画出简单函数的图像并且根据函数的图像进一步计算出方程的数值解高等数学(少学时)第 8 章数学软件 MATLAB 应用 218.4 一元函数的微积分计算本节讨论用 MATLAB 软件系统进行一元函数的微积分运算8.4.1 极限运算用函数 limit 直接计算函数的极限,调用格式如下:(1)limit(f,x,a) 求表达式 f 当 xa 时的极限(2)limit(f,x,a,right) 求 f 在 xa 时的右极限(3)limit(f,x,a,left) 求 f

41、 在 xa 时的左极限【例 1】求下限极限:(1) ;xsinlm0(2) ;3i2(3) xx10li解 (1)syms xlimit(sin(x)/x,x,0) (得 ans=1)(2)syms xlimit(sqrt(x2+3*x)-x,x,inf) (得 ans=3/2)(3)syms xlimit(sqrt(x)-2(-1/x),x,0,right) (得 ans=0)8.4.2 求导数求函数导数的命令是 diff,调用格式如下:(1)diff(f,x) 表示对表达式 f 求关于变量 x 的一阶导数(2)diff(f,x,n) 表示 f对 x 求 n 阶导数【例 2】求下列函数的一阶

42、导数:(1) ; (2) xyalog xynsi解(1)syms x adiff(log(x)/log(a) (得 ans=1/x/loga,即 )ln1(2)syms n xdiff(sin(x)n) (得 ans=sin(x)n*n*cos(x)/sin(x)【例 3】设,求)2cos/(sinxxy3d解 syms xy= sin(x)/(x+cos(2*x);diff(y,x,3) 高等数学(少学时)第 8 章数学软件 MATLAB 应用 22(得 ans=-cos(x)/(x+cos(2*x)+3*sin(x)/(x+cos(2*x)2*(1-2*sin(2*x)+6*cos(x)

43、/(x+cos(2*x)3*(1-2*sin(2*x)2+12*cos(x)/(x+cos(2*x)2*cos(2*x)-6*sin(x)/(x+cos(2*x)4*(1-2*sin(2*x)3-24*sin(x)/(x+cos(2*x)3*(1-2*sin(2*x)*cos(2*x)-8*sin(x)/(x+cos(2*x)2*sin(2*x))8.4.3 积分运算1求函数积分的命令是 int,格式如下:(1)int(f,x) 对 f 关于 x 求不定积分(2)int(f,x,a,b) 对 f 关于变量 x 从 a 到 b 求定积分【例 4】求不定积分 2(37)dx解 syms xint(

44、x2+3*x+7,x) (得 ans=1/3*x3+3/2*x2+7*x)【例 5】求定积分 41lndx解 syms xint(log(x)/sqrt(x),x,1,4) ( 得 ans=8*log(2)-4) 2数值积分MATLAB 系统还提供了数值积分(定积分近似计算)的命令 quad,调用格式为q=quad(f,a,b,tol)其中 f 是被积函数的 M 文件名,a,b 分别是积分下限和积分上限,tol 是指定的绝对误差限,若 tol 缺省则约定求积分的相对误差为 10-3,所得积分值是用辛普森法得到的积分近似值【例 6】求 0sin()dx解 首先在程序编辑器中编写出函数的 M 文件

45、myfun2.mfunction y=myfun2(x)y=sin(sin(x);以文件名 myfun2.m 保存在work 目录,然后在命令窗口键入Q=quad(myfun2,0,pi) (得 1.78649)也可以在命令窗口直接求数值积分,举例如下. 【例 7】求的值2301d5xx解 f=(x)1./(x.3-2.*x-5) ;Q=quad(f,0,2) (得 Q=-0.4605)这里,函数表达式前面添上符号(x) 表示该函数的 “句柄” ,函数句柄可以在变量列表中进行传递与计算【例 8】求 的1032dx值解 这里 , 应写0x31高等数学(少学时)第 8 章数学软件 MATLAB 应

46、用 23成 ,使用匿名函数计算:31)(xf=-(-x).(1/3); q=quad(f,-2,0) (得 q=-1.8899)8.4.4 求泰勒多项式求一元函数泰勒多项式的指令是 taylor,调用格式是(1)taylox(f,x,n) 求函数 f 的 n-1 阶 Maclaurin 多项式(2)taylor(f,x,n,a) 求函数 f 在 x=a 处的 n-1 阶泰勒多项式【例 9】求函数的 5 阶 Maclaurin 多项xcosin12式解 syms xf=(1+sin(x)/(x2+cos(x);taylor(f,x,6) %5 阶麦克劳林多项式应当有 6项,所以 n=6(得 1032451532xx)【例 10】求函数在 处的 7 阶泰勒xy12多项式解 syms xf=x2/(1+x);taylor(f,x,8,1) 得 765432 )1(25)1(8)1(6)(21)(16)(8431 xxxxxx8.4.5 求函数极值求一元函数极小值的指令高等数学(少学时)第 8 章数学软件 MATLAB 应用 24是 fminbnd

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 行业软件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报