matlab在高数中的应用

上传人:无*** 文档编号:206728196 上传时间:2023-05-04 格式:PDF 页数:121 大小:14.39MB
收藏 版权申诉 举报 下载
matlab在高数中的应用_第1页
第1页 / 共121页
matlab在高数中的应用_第2页
第2页 / 共121页
matlab在高数中的应用_第3页
第3页 / 共121页
资源描述:

《matlab在高数中的应用》由会员分享,可在线阅读,更多相关《matlab在高数中的应用(121页珍藏版)》请在装配图网上搜索。

1、2012/1/1 目录第 1 章 MATLAB入门.41.1 MATLAB语言概述.41.2 MATLAB 的使用.51.3 上机实验内容.181.4 上机实验步骤.18第 2 章 MATLAB作图.212.1 图形输出窗口的创建与控制.212.2 二维曲线作图.232.3 二维符号函数作图.242.4 二维极坐标图.262.5 三维曲线图.272.6 空间曲面图.282.7 三维图的简捷绘制.302.8 动画制作.302.9 分形几何学.322.10 上机实验内容.362.11 上机实验步骤.36第 3 章 MATLAB程序设计.413.1 M 文件的使用.413.2 上机实验内容.453.

2、3 上机实验步骤.45第 4 章微积分的基本运算.484.1 极 限.484.2 导数及其应用.574.3 方程的数值求解方法.624.4 不定积分.654.5 定积分.674.6 二重积分.744.7 无穷级数.754.8 常微分方程的求解.844.9 上机实验内容.884.10 上机操作步骤.90第 5 章线性代数的基本运算.995.1 行列式.995.2 矩阵及其运算.1055.3 矩阵的初等变换.1075.4 向量组的线性相关性.1145.5 相似矩阵及二次型.1155.6 上机实验内容及步骤.119第1章MatLab入门本章学习的主要目的:1.了 解MatLab软件的功能,熟 悉Ma

3、tLab软件的各菜单、工具栏及常用命令的使用。2.掌 握MatLab有关矩阵的创建方法、矩阵的基本运算符、矩阵的计算函数。3.掌 握MatLab的符号运算。1.1 MatLab语言概述1.1.1 MatLab语言的发展MatLab语言是由美国的Clever Moler博 士 于1980年开发的。设计者的初衷是为解决“线性代数 课程的矩阵运算问题取名MatLab即Matrix Laboratory矩阵实验室的意思。它将一个优秀软件的易用性与可靠性、通 用 性 与 专 业 性、一般目的的应用与高深的科学技术应用有机的相结合。1.1.2 MatLab 的功能1.矩阵运算功能MalLab提供了丰富的矩

4、阵运算处理功能,是基于矩阵运算的处理工具。例 如C=A+B,A,B,C都是矩阵,是矩阵的加运算,即使一个常数,Y=5,MatLab也看做是一个1x1的矩阵。2.符号运算功能符号运算即用字符串进行数学分析,允许变量不赋值而参与运算,用于解代数方程、微积分、复合导数、积分、二重积分、有理函数、微分方程、泰勒级数展开、寻优等等,可求得解析符号解。3.丰富的绘图功能与计算结果的可视化具有高层绘图功能一一两维、三维绘图;具有底层绘图功能一一句柄绘图;使用plot函数可随时将计算结果可视化。4.图形化程序编制功能动态系统进行建模、仿真和分析的软件包;用结构图编程,而不用程序编程;只需拖几个方块、连几条线,

5、即可实现编程功能。5.丰 富 的MatLab工具箱MatLab主工具箱;符号数学工具箱;SIMULINK仿真工具箱;控制系统工具箱;信号处理工具箱;图象处理工具箱;通讯工具箱;系统辨识工具箱;神经元网络工具箱;金融工具箱。6.MatLab的兼容功能可 与C语言、FORTRAN语言跨平台兼容;用 函 数CMEX、FMEX实现。7.MatLab的容错功能非法操作时,给出提示,并不影响其操作。例 如 在 命 令 窗 口 输 入1/0,执行结果显示如下,提 示 被。除,结果为无穷大。Warning:Divide by zeroans=Inf8.MatLab的开放式可扩充结构MatLab所有函数都是开放

6、的;用户可按自己意愿随意更改;正因为此功能,使得MatLab的应用越来越广泛。9.强大的联机检索帮助系统可随时检索MatLab函数;可随时查询MatLab函数的使用方法。1.1.3 MatLab 的应用.1.工业研究与开发。2.数学教学,特别是线性代数。3.数值分析和科学计算方面的教学与研究。4.电子学、控制理论和物理学等工程和科学学科方面的教学与研究。5.经济学、化学和生物学等计算问题的所有其他领域中的教学与研究。1.2 MatLab的使用1.2.1 MatLab 的启动(1)进 入M atLab工作环境:方 法1开机执行程序MatLab安装目录MatLab.exe方 法2用鼠标双击MatL

7、ab图标方 法3点 击windows窗口的开始 程序MatLab(2)退 出MatLab工作环境:方 法1点 击file菜单下的exit MatLab方 法2点 击MatLab窗口的关闭按钮.1.2.2 MatLab 的界面MatLab的界面上有五个窗口,它们是:(1)命令窗口在命令窗口中可以直接输入命令行,以实现计算或绘图功能,用clc命令清除命令窗口的内容,命 令pause暂停操作,直至按任意键继续。(2)起始面板该窗口中显示MatLab总包和已安装的工具箱的帮助、演示、GUI工具和产品主页方面的内容。(3)工作空间该窗口中显示当前MatLab的内存中使用的变量的信息,包括变量名、变量数组

8、大小、变量字节大小和变量类型。在该窗口选定某个变量后,双击变量名,将打开数组编辑器窗口,可以显示和修改该变量的具体内容,该显示主要用于数值型变量。(4)命令历史该窗口显示所有执行过的命令。利用该窗口,一方面可以查看曾经执行过的命令;另一方面可以重复利用原来输入的命令行,这只需在命令历史窗口中直接双击某个命令即可。(5)当前目录该窗口显示当前工作目录下所有文件的文件名、文件类型和最后修改时间。可以在该窗口上方的小窗口中修改工作目录。1.2.3 MatLab的运行方式MatLab提供了两种运行方式:命令行方式和M文件方式.(1)命令行运行方式通过直接在命令窗口中输入命令行来实现计算或作图功能。但这

9、种方式在处理复杂的问题和大量数据时相当困难。(2)M文件运行方式是在一个以m为扩展名的M文件中输入一系列数据和命令,然后 让MatLab执行这些命令。MatLab的M文件有两种类型:脚 本M文件和函数M文件。脚本文件就是命令的简单叠加,没有输入和输出参数,运行产生的所有变量是全局变量。函 数M文件有输入和输出参数,可 以 弥 补MatLab的内部函数有限的不足,自定义新的函数,所有变量除特殊声明外,都是局部变量。1.2.4 MatLab 的数(1)MatLab操作的数的范围为复数,表示为a+bi或a+bj例I求C T的值。输入 sqrt(-l)执行结果:ans=0+l.OOOOi例2设复数曷=

10、3+4,,2=l+2i,0=2e6,计 算 =幺 红。小输入指令:z 1=3+4i,z2=l+2*iz z3=2*exp(i*p i/6)r z=zl*z2/z3执行结果:zl=3.0000+4.OOOOiz2=1.0000+2.0000iz3=1.7321+l.OOOOiz=0.3349+5.580H例3复数矩阵的生成。输入指令:A=l,3;2,4 5,8;6,9*iB=l+5i,2+6i;3+8*i,4+9*i执行结果:A=1.0000-5.0000i 3.0000-8.0000i2.0000-6.0000i 4.0000-9.0000iB=1.0000+5.0000i3.0000+8.0

11、000i2.0000+6.0000i4.0000+9.0000i例4求上例复数矩阵A的实部、虚部、模和相角。输入指 令:A_real=real(A)A_imag=imag(AC)A_mag nitude=abs(A)A_phase=ang le(A)*180/pi执行结果:A_real=1 32 4A_imag=-5-86 93以度为单位计算相角AC_magnitude5.09908.54406.32469.8489A_phase-78.6901-69.4440-71.5651-66.0375例5 用MatLab计 算 达 后 能得到-2吗?输入指令:a=-8;r=aA(l/3)执行结果如下,

12、输出的是其中的一个根:r=1.0000+1.7321i(2)数据显示格式format默 认 值shortformat short保证小数点后有四位有效数字format short e用5位科学计数法表示format short g用1 5位科学计数法表示format long用1 5位数字表示format long e用1 5位科学计数法表示format rat用近似的有理数表示format loose输入命令和回显之间加空行format compact输入命令和回显之间不加空行(3)数据计算精度控制:d ig its (n)限制在可控精度运算中取n位有效数字进行计算.1.2.5 MatLab

13、 的变量(1)变量的命名规则变量名是以字母开头,可以包含字母,数字或下划线的不超过3 1个字符的字符串,区分大小写,如myfile和Myfile是两个不同的变量。(2)特殊变量(不能重新赋值)ans 对于未赋值的运算结果,自动赋给ans变量eps 机器零阈值inf或Inf 表示正无穷大,定 义 为1/0i,j 虚数单位NaN 非数,它 产 生 于OX oo,0/0,oo/oo等运算narg in 函数输入变量数目narg out 函数输出变量数目pi 圆 周 率nrealmin 最小可用正实数realmax 最大可用正实数(3)变量的查询函 数who与whos作用都是列出在MatLab工作空间

14、中已经驻留的变量名清单,不同的是whos在给出驻留变量的同时,还给出它们的维数及性质。如在命令窗口输入who后,显示Your variables are:A B在命令窗口输入whos后,Name Size显示Bytes ClassA 2x2230 cell arrayB 1x1264 struct array(4)变量的删除在命令窗中运用clear指令可以删除内存中指定的变量,格式:c l e a r变量名,若不写变量名,缺省变量全部被删除。(5)变量的的保存与获取把MatLab工作空间中一些有用的数据长久保存下来的方法是生成mat数据文件。mat文件是标准的二进制文件,还 可 以 以ASCH

15、码形式保存。用 命 令save保存变量,用load恢复已保存的变量。具体格式:save 将工作空间中所有的变量存到MatLab.mat文件中。save data 将工作空间中所有的变量存到data.mat文件中。s a v e d a t a a b将工作空间中a和b变量存到d a t a.m a t文件中。可 用l o a d指令调用已生成的m a t文件。l o a d 将M a t L a b.m a t文件中的变量恢复到工作空间中。l o a d d a t a 将d a t a.m a t文件中的变量恢复到工作空间中。l o a d d a t a a b将d a t a.m a t

16、文件中的变量a,b恢复到工作空间中。例6假定内存中已经存在变量X,Y,Z(a)保 存 变 量X,Y,X变量在文件s a f.m a t中。save saf X Y Z%保 存 变 量X,Y,X变量在文件s a f.m a t中dir%显示当前目录下的文件.saf.mat(b)从 文 件s a f中恢复变量Zclear%删除内存中所有变量load saf Z%恢 复 变 量Zwho%查看变量Your variables are:Z1.2.6 MatLab的矩阵和向量M atL ab是一种直译式的高级语言,建立在向量、数组和矩阵的基础上,矩阵是M atL ab的核心。(1)创建矩阵方 法1直接输入

17、法规则:矩阵元素必须用 括住;矩阵元素必须用逗号或空格分隔;在 内矩阵的行与行之间必须用分号或回车分隔;矩阵元素可以是任何实数或复数,M atL ab表达式,复数可用特殊函数i,j输入。例7 生成一个实数矩阵和复数矩阵输入指令:a=l,2 ,3;4,5 ,6 ,x=2,pi/2;s q r t(3),3+5 i执行结果:a=1 2 34x=2.0 0 0 01.7 3 2 15 61.5 7 0 83.0 0 0 0 +5.0 0 0 0 i方 法2用M a t L a b函数创建矩阵空 阵 口zer os(n,m)ones(n,m)eye(n,m)r and(n,m)r andn(n,m)M

18、 atL ab允许输入空阵,当一项操作无结果时,返回空阵。生 成n行m列的零矩阵。生 成n行m列 的 全1矩阵。生 成n行m列对角线元素全为1其它元素为。的矩阵。生 成(0,1)均匀分布的n行m列的随机矩阵。生成正态分布的n行m列的随机矩阵magic(n)n 阶幻方矩阵。n=l,3,4,5.pas cal(n)n阶杨辉三角形矩阵diag(v,k)生成和提取对角阵。diag(v)当v为矩阵时,提取矩阵的对角元生成一个向量;当v为向量时,用向量的元素单位矩阵eye(n)为对角元生成同维数的对角矩阵。tr iu(v,k)生成和提取上三角阵。tr il(v.k)生成和提取下三角阵。r epmat(a,

19、m,n)生 成m X n分块矩阵,每块元素为a矩阵。方 法 3 在 M-文 件 中 用 M a t L a b 语句创建一个矩阵。如 创 建 和 保 存 矩 阵A M的M yM atr ix.m文件。A M=1 0 1,1 0 2,1 0 3,1 0 4,1 0 5,1 0 6,1 0 7,1 0 8,1 0 9;.2 0 1,2 0 2,2 0 3,2 0 4,2 0 5,2 0 6,2 0 7,2 0 8,2 0 9;.3 0 1,3 0 2,3 0 3,3 0 4,3 0 5,3 0 6,3 0 7,3 0 8,3 0 9 ;方 法 4 从一个外部数据文件中装载并创建一个矩阵。把下面的数

20、据保存在一个文本文件a.t x t中1 2 32 3 4在命令窗口中输入load a.txt,则在内存中生成2 X 3矩 阵 变 量a。(2)向量的生成方法同矩阵的生成:冒号:运算j:k 生成向量 j,j+l,j+2,kj:i:k 生成向量 j,j+i,j+2 i,k-r em(k-j),i),如 a=l:2:6 生成 a=l 3 5 lins pace(a,b,n)从a到b的n个线性等分数组logs pace(a,b,n)从a到b的n个对数等分数组(3)矩阵的标识元素标识方式:A(i,j),i,j分别代表行数和列数向量标识方式:A (vr,vc)vr,vc是含矩阵行号和列号的单调向量,如 A

21、 (1,1,3 J)表示 A(l,l),A(l,3)0-1向量标识方式:A (vr,vc),A (vr,:)A (:,vc),vr,vc是 山0,1组成的长度为矩阵行维和列维的逻辑向量,1表示取,0表示不取。is logical(a)测 试 矩 阵a是否维逻辑变量,若不是可以转换用a&l或A (v),v是按一维存储的下标向量。如A (2,:)表示矩阵A的 第2行元素,A (:,3)表 示 矩 阵A的 第3列元素矩阵表示方式:A(B),B与A同维逻辑矩阵,如 果B非0,取当前位置元素,否则不取。(4)矩阵的修改矩阵的裁剪.从一个矩阵中提出若干行(歹Q构成新的矩阵成为裁剪。冒号运算符“:”是重要的

22、裁剪工具。设a为4阶方阵,a(2,:)提出第二行的元素,构成行向量。a(:,4)提出第四列的元素,构成列向量。a(l:3,:)提 出 第1到3行,构 成3行4列矩阵。a(:,l:3)提 出 第1到3列,构 成4行3列矩阵。a(l:2:4,:)提 出 第1行,第3行,构 成2行4列矩阵。a(:,1:3:4)提 出 第1歹U,第4列,构 成4行2列矩阵。几个矩阵接在一起称为矩阵的拼 接,左右拼接时行数要相同,用逗号隔开,上下拼接时列数要相同,用分号隔开。例8a=l 2 3;2 3 4 a=123234 a a;a aans =123123234234123123234234指令修改,可以用A(*,

23、*)=*来修改。例9把 矩 阵a的 第3行 第3列元素修改位为0输入指令:a=l 2 0;3 0 5;7 8 9,a(3,3)=0执行结果:a=l 2 03 0 57 8 9a=l 2 03 0 57 8 0矩阵的扩充。方 法1用小矩阵生成大矩阵。例 10 A=o ne s(2,4);B=z e r o s(l,2);C=2,3 J;D=A;B,C JD =111111110 0 2 3方 法2对超出矩阵维数的元素直接赋值,其余元素补0。例U把 矩 阵a由2行3列扩充成3行4列,且 第3行 第4列 元 素 为1,其 余 为0,输入指令:a=l,2,3;4,5,6 ;a(3,4)=l执行结果:a

24、=1 2 3 04 5 6 00 0 0 1矩阵的部分删除。按行或列赋空值即可,但删除行或列的部分元素则会出错。例 12 a(2,:)=口 删 除a的 第2行。矩阵结构的改变a(:)表示把矩阵a排 成1列(按 列 的 次 序),a(:)在赋值左边,a的维数不变,会把右边数据重组,要求右边数据个数与左边数据个数相等。函 数r e s h ap e d,m,n)在总元素数不变的前提下,将 矩 阵a改 变 成m行n列的矩阵。例 1 3 把a矩 阵 元 素 排 成1排,输入指令:a=l,2,3;2,3,4 ;b=a(:)执行结果:b =122334把自然数作为元素,按列顺序修改矩阵a,矩 阵a的型不变

25、,输入指令:a(:)=l :6执行结果:a=1 3 52 4 6(5)矩阵的运算(a)矩阵加、减(+,一)运算规则:相加、减的两矩阵必须有相同的行数和列数,两矩阵对应元素相加减。允许参与运算的两矩阵之一是标量,标量与矩阵的所有元素分别进行加减操作。(b)矩 阵 乘(*)运 算 A*B规则:A与B相乘,A矩阵的列数必须等于B矩阵的行数,标量可与任何矩阵相乘。例 14 a=l 2 3;4 5 6;7 8 0;b=l;2;3 ;c=a*bc =143 223d=-l;0;2;f=pi*df=-3.141606.2832(c)矩 阵 数 组 乘 法(.*)X.*Y,规则:X,Y必须有相同的维数,除 非

26、 其 中 一 个 为1X 1矩阵。运算结果为两个矩阵的相应元素相乘,得到的结果与X,Y同维。例 15 a=l 2;4 5;b=2,l;2,3;c=a.*bc=2 28 15(d)矩阵除的运算(/,)在线性代数中没有矩阵除的运算,有矩阵逆运算,在MatLab中有两种矩阵除运算a/b,aba/b相当于a*。.,ab相当于a *方(e)矩阵数组除的运算(./,.)a./b,a.ba./b=b.a,a.b=b./aa./b=b.a都 是a的元素被b的对应元素除a.b=b./a 一 都 是b的元素被a的对应元素除规则:a,b必须有相同的维数,除非其中一个为1X 1矩阵。运算结果为两个矩阵的相应元素相除,

27、得到的结果与a,b同维。例 16 a=l 2;4 5;b=2,l;2,3;c=a./bc=0.5000 2.00002.0000 1.6667(f)矩阵转置一AmxJ运算结果为nXm矩阵,对应元素由矩阵A行列互换得到。例 17 a=l 2 4;8 3 5;c=ac=l 82 34 5(g)矩阵乘方A例 18 a=l,2,3;4,5,6;7,8,9;aA2ans=30 36 4266 81 96102 126 150(h)矩阵关系运算符及关系函数A 小于 B:AB,lt(A,B)A小于或等于B:AB,gt(A,B)A大于或等于B:A=B,ge(A,B)A 等于 B:A=B,equ(A,B)A 不

28、等于 B:A=B,ne(A,B)结 果 是01矩阵,1表示真,0表示假。例 19:A=1:9,B=10-A,r0=(A 0),L2=-A0,L3=A,L4=A-2&A3islogical(L)X=A(L)A=-4-3234501-2-1oo1o0o0011ans145方 法2:A(find(abs(A)3)ans=-4451.2.7 MatLab的 内 部 函 数函 数名 称函 数名 称Sin(x)正弦函数max(x)最大值Cos(x)余弦函数min(x)最小值Tan(x)正切函数sqrt(x)开平方cot(x)余切函数exp(x)以e为底的指数sec(x)正割函数log(x)以e为底的对数c

29、sc(x)余割函数log lO(x)以10为底的对数asin(x)反正弦函数abs(x)绝对值,复数取模acos(x)反余弦函数round(x)四舍五入取整atan(x)反正切函数floor(x)向负无穷取整acot(x)反余切函数ceil(x)向正无穷取整sinh(x)双曲正弦函数fix(x)向0方向取整cosh(x)双曲余弦函数sig n(x)符号函数real(x)取实部rats(x)有理逼近imag(x)取虚部rem(a,b),mod(a,b)a除 以b取余ang le(x)取幅角sum(x)元素的总和leng th(x)向量的长度mean(x)向量的平均值sqrt(x)向量从小到大排序

30、size(x)矩 阵X的大小det(x)方 阵X的行列式inv(x)方 阵X的逆矩阵注 用help、lookfor两个帮助指令可以查询MatLab的函数和指令详细信息.1.2.8 MatLab 的 符 号(1)MatLab的字符型变量MatLab软件用单引号来定义字符串,例2 2在命令窗口输入ss二hello则执行后显示ss=hello%表示定义了长度为5的字符型变量(2)MatLab的符号变量的定义符号变量在参与运算时,可在没有提前赋值的情况下合法地出现在表达式中,而数值变量在参与运算时,必须提前赋值.方 法1 s y m(、变量名,)单 个 符 号 变 量 定 义例2 3 A二s y m(

31、,2*x+y,)%定义了符号变量A方 法2 s y m s v a r l v a r 2 .定义多个符号变量,不同的变量名之间用空格隔开例24 syms a b c x%定义了 4个符号变量(3)M a t L a b 符号表达式的定义在具体创建一个符号表达式之前,就将这个表达式所包含的全部符号变量创建完毕.在创建表达式时,只需按给其赋值时的格式输入即司;例 2 5 s y m s a b c xf=a*x八2+b*x+cf-a运行结果为f =a*x-2+b*x+ca n s =a*x-2+b*x+c-a(4)M a t L a b 符号方程的创建e q u=s y m(E Q U A T

32、I ON,)例2 6 e l=s y m(、a*x-2+b*x+c=0,)%定义了 2个符号变量,代 表2个方程e 2=s y m(x*y+e=Of)(5)利用元素的通式生成符号矩阵例27创建下面矩阵A =s in (1+x)s in (2+x)s in (3+x)s in (4+x)s in (5+x)s in (6+x)s in (7+x)s in (8+x)s in (9+x)创 建 矩 阵A的My Ma t r ix.m文件:s y m s x c ra=s in(c+(r-l)*3+x);f o r i=l:3f o r j=l:3c=s y m(i);r=s y m(j);A(i,

33、j)=s u b s (a);e n de n d(6)字符表达式和符号表达式转换为数值表达式命 令n u m e r ic(S)将 变 量S转换为数值量x,不 管S是字符变量还是符号变量.例 2 8 f o r m a t l o n gsl=sym(3/2 3,);xl=numeric(si)s2=,3.14225,;x2=numeric(s2)运行结果为:xl=0.13043478260870 x2=3.14225000000000(7)计 算 符 号 表 达 式 的 值evalO例 29 a=sym(2*x+yz);x=2;y=3;zhi=eval(a)显示结果为zhi=7%说明当 x

34、=2,y=3 时 2*x+y 等于 71.3 上机实验内容1.分别使用WINDOWS中的计算器和MatLab的命令方式计算表达式ln(3)*28+sin(-兀)*6为 +4.2 的值.42.使 用funtool函数计算器完成正弦函数,其导函数和原函数的图形显示.3.生成矩阵A,通过修改矩阵A的 第1行 第3列元素为2,把矩阵扩充为4行5歹!),其 中 第4行 第3列元素为7,其余列为0,删 除 第2列元素的操作生成矩阵B.按行的逆 顺 序 取A的1,2,4,5歹U,且第四行为自然数1到4,生成新的矩阵C;计 算B*C,B.*C,B+C,2*B,B和C的行列式,BC,B/C,并 找 出A中 大

35、于3的元素,且将其替换为loA=010213 4 6 8 49 7 3 2 24.观察幻方矩阵和杨辉三角形矩阵各元素的规律。5.创建符号矩阵A,计 算x=l.l,y=2.3时对应的矩阵B,并计算矩阵A.B的行列式.A=x+y2*x+5*y3*x+9*y4*x+13*y4*x+2*y5*x+6*y6*x+10*y7*x+14*y7*x+3*y8*x+7*y9*x+ll*y10*x+15*y10*x+4*yIl*x+8*y12*x+12*y13*x+16*y1.4 上机实验步骤1.(1)在wi nd ows窗口,点击开始一 附件一 计算器,打开计算器,(2)按如下顺序点击各键:(注:下面说明中各键

36、之间用,隔开)选中十进制,弧度,C,3,In,*,(,2,xAy,8,),=,M S,C,3,/,4,*,pi,=,si n,*,(,3,5,9,xAy,0,5 ,4,2,=,M+,M R记录结果 l n(3)*28+si n(-万)*0为-4.2=_ _ _ _ _ _ _ _ _ _ _ _ 4(3)在桌面单击M a tLa b图标,打 开M A T L A B软件,(4)在命令窗口输入 l og(3)*2A8+si n(3/4*pi)*sqrt(3.5 9)/4.2显示结果为:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

37、_ _ _ _ _ _ _2.(1)在桌面单击M a tLa b图标,打 开M a tLa b软件,(2)在命令窗口输入 f untool则打开函数计算器的三个图形窗口;(3)在 第3个图形窗口中,在f=后面的文本框内输入si n(x)回车,则 在 第1个图形窗口显示正弦函数的图形;(4)在 第3个图形窗口中,点 击d f/d x键,则 在 第1个图形窗口显示正弦函数的导数余弦函数的图形;(5)在 第3个图形窗口中,在f=后面的文本框内输入si n(x)回车,再 点 击i nt键,则 在 第1个图形窗口显示正弦函数的一个原函数负余弦函数的图形;3.在M a tLa b命令窗口中输入:A=0,1

38、,0,2,1;3,4,6,8,4;9,7,3,2,2 ;B=A;B(1,3)=2;B(4,3)=7;B(:,2)=运行结果:B=_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ C=A(3:-1:1,1,2,4,5 );C(4,:)=1:4运行结果:C=_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B*C运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B.*C运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ B+C运行结果:_ _ _ _ _

39、 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2*B运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ d e t(B)运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _根据矩阵B的行列式,可判别矩阵B 可逆矩阵。B C运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _det(C)运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _根据矩阵C的行列式,可判别矩阵C 可逆矩阵。B/C运行结果:

40、_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _A(find(A3)=l运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _4.(1)在桌面单击MatLab图标,打 开MatLab软件,(2)在命令窗口输入:mag ic(1)%生 成1阶幻方矩阵运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _mag ic(3)运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _3阶幻方矩阵元素的特点是:_

41、_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _mag ic(4)运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _4阶幻方矩阵元素的特点是:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _由此可推知,n阶幻方矩阵的特点是:(3)在命令窗口输入:pascal(l)%生 成1阶杨辉三角矩阵运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

42、_ _ _ _ _ _ _ _pascal(2)运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _pascal(3)运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _pascal(6)运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _由此可推知,n阶杨辉三角矩阵各元素的特点是:。5.(I)在桌面单击MatLab图标,打 开MatLab软件,在MatLab命令窗口中,点击菜单F ile N ew-M-file,打 开M文件编辑窗口,输

43、入 创 建 矩 阵A的MyMatrix.m文件:syms x y c ra=(r+(c-l)*3)*x+(c+(r-l)*4)*y;for i=l:4for j=l:4c=sym(i);r=sym(j);A(i,j)=subs(a);endendA(2)在M文件编辑窗口中,点击在默认路径下存盘,文件名为MyMatrix.m(3)在MatLab命令窗口输入MyMatrixx=1.1;y=2.3;B=eval(A)运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _det(A)运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _

44、_ _ _ _ _ _ _ _ _ det(B)运行结果:_ _ _ _ _ _ _ _ _ _ _ _ _第2章MatLab作图本章学习的主要目的:1.熟练掌握二维、三维图形的绘制;2.掌握简单动画的制作;3.了解分形几何学,绘 制Koch雪花曲线和Minkowski“香肠”曲线。2.1图形输出窗口的创建与控制figure 创建一个名为Fig ure NO.n+1的新空白图形窗口figure(n)创建一个名为Fig ure NO.n的新空白图形窗口,不管前面的窗口Fig ure NO.n-1是否存在。但如窗口 Fig ure NO.n已经存在,则将此窗口设置为当前窗口。elf 清除当前窗口的

45、图形get(n)返回图形窗口 Fig ure NO.n的所有图像参数的名称和当前值set(n)返回关于图形窗U Fig ure NO.n的所有图像参数的名称和其可能取的值subplot(m,n,i)将当前窗口分割成m X n个子图,并 将 第i个子图作为当前视图,返回值为当前视图的句柄值。其中每个子图都完全等同于一个完整的图形窗口,可在其中完成所有图形操作命令。hold on 可以在当前窗口继续画图,而不覆盖窗口中已存在的图形hold off 释放当前窗口,在当前窗口继续画图将覆盖原来的图形zoom on 为当前图形打开缩放模式,单击鼠标左键,则在当前图形窗口中,以鼠标点中的点为中心的图形放大

46、2倍;单击鼠标右键,则 缩 小2倍。zoom off 关闭缩放模式grid on 在当前图上加格栅grid off 在当前图上删除格栅xlabel(tstring,)在当前图形的x轴上加图例stringylabel(string,)在当前图形的y轴上力口图例stringzlabel(string)在当前图形的z轴上加图例stringtitle(tstring,)在当前图形的顶端上加图例stringgtextCstring,)在当前图形上出现一个交叉的十字,该十字随鼠标的移动而移动,当按下鼠标左键时,该 标 注string放在当前十字交叉处axis(xmin xmax ymin ymax zmi

47、n zmax)定制图形坐标,xmin xmax ymin ymax zminaxis autoaxis squareaxis offzmax分 别 为 x、y z 的最小、最大值。将坐标轴返回到自动缺省值。图框成方形清除坐标刻度例 1将图形窗口分为两个子图,在第一个子图中,在区间 0,2*pi 上 画 sin(x),cos(x)的 图 形,加 格 栅,并 加 注 图 例“自变量x”“函 数 y”、“示意图”Jsin(x)”,“cos(x)”,在 第 二 个 子 图 中,显 示 sin(x)在区间 pi/2,pi 的部分图形。图1图2输入命令:(见图1,图2)subplot(1,2,1)x=li

48、nspace(0,2*pi,30);y=sin(x);plot(x,y,K)grid ontitle。示意图,);ylabelC函数 y);title。示意图;hold onplot(x,cos(x),k)axis(0 2*pi-1.2 1.2)gtext(*sin(x)gtext(*cos(x),)subplot(l,2,2)fplot(sin(x),0,2*pi,T)axis(pi/2 pi 0 1.2)2.2 二维曲线作图Matlab作图是通过描点、连线来实现的。故在画个曲线图形之前,必须先取得该图形上的一系列的点的横坐标和纵坐标,然后将该点集的坐标传给函数作图。作二维和三维图形是同样的

49、道理。调用格式:plot(X,Y,S)plot(X,Y)plot(Xl,Yl,SI,.,Xn,Yn,Sn)其 中X,Y是向量,分别表示点集的横坐标和纵坐标,S表示线型,规定如下:线 型 线 方 式-实 线:点 线 虚 点 线;-波折线线型 点方式:.圆点+加 号*星 号x x形。小圆颜色:y黄r红 g绿b蓝w白k黑 m紫c青命 令plot(X,Y)画实线;命 令plot(Xl,Yl,S1,.Xn,Yn,Sn)将多条线画在一起。例2在区间 0,2*pi用蓝点线画正弦函数sin(x)的图形,用+描 点,用绿虚点线画余弦函 数cos(x)的图形,用*描点。(见 图3)命令序列:x=0:pi/15:2

50、*pi;y l=sin(x);y2=cos(x);plot(x,yl,b,x,y2,g,x,yl,+,x,y2,*)2.3二维符号函数作图可 以 通 过“ezplot”或“fplot”函数作显函数,隐函数和参数方程确定的函数的图形。fplot(funjims)表示绘制字符串fu n指定的函数在lims=xmin,xmax的图形,fu n必须是M文件的函数名或独立变量为x的字符串,此字符串被送入函数eval。不能画参数方程和隐函数的图形,但在一个图上可以画多个图形。函数fun(x)必须对向量中的每一个元素x返回一行向量。ezplot(f)表示在区间-2*p ivxv2*p i绘 制f=f(x)的

51、函数图ezplot(f,a,b)表示在axb绘制显函数f=f(x)的函数图ezplot(f,xmin,xmax,ymin,ymax)表示在区间 xminxxmax,yminvyvymax,绘缶ij隐函数f(x,y)=0的函数图ezplot(x,y,tmin,tmax)表示在区间 tmint,ezmesh,string)提供绘制三维曲面图的简捷方法.2 7例 1 3 画出曲面z=xe*+)的图形。(见 图14)ezsurf(x*exp(-x 八 2-y 八 2)-0.53图1 42.8 动画制作1 动画的制作在moviein,g etframe命令下,可以完成动态数据到动态画面的制作。其使用格式

52、和制作步骤为:M=moviein(n)创建一个矩阵M,共 有n列,每一列将存储一帧画面.M(:,i)=g etframe将当前图形窗口中的画面作为第i帧以列的形式存入矩阵M.Movie(M,k)将按列的顺序放映矩阵M中存储的画面,并 重 复k次。()一一、例 1 4 函数z=sin(xy)e 5的动圆表达x=-3:0.1:3;X,Y=meshg rid(x);z=sin(X.*Y).*exp(X.*Y/5);mesh(z);M=moviein(30);axis manualfor j=l:30mesh(cos(4*pi*j/30)*z,z)M(:,j)=g etframe;end图15movi

53、e(M,25)2彗星轨线一动态图形的展现利用彗星轨线命令可以非常容易地绘出质点的运动轨迹,其使用格式为:comet(y)comet(x,y)comet(x,y,p)comet3(z)comet3(x,y,z)comet3(x,y,z,p)comet命令适用于二维平面,comet3命令适用于三维平面。式 中 对x,y的要求与在plot,plot3中的要求相同。参 数P设定绘得的彗星轨线的彗长为pXleng th(z)例1 5动态螺旋线图(见 图16)z=0:0.1:100;x=sin(z);y=cos(z).*10;comet3(x,y,z)100图2.9分形几何学在我们生活着的大千世界里,除了

54、有像房屋建筑、公路桥梁、汽车、飞机、轮船以及各种劳动生活工具等这些人造的形态规则的几何形体外,更广泛地充满了诸如花草树木、山川河流、烟雾云彩等形态极不规则的几何形体。大自然在向人们展示其美丽多变态的同时、也提出了难以回答的询问:如何描述复杂的自然表象?如何分析其内在的机理?科学家与艺术家一直在苦苦追寻着这些问题的答案,并力图从传统的欧几里得几何体系终解放出来。最近几十年,一些科学家开始朦胧地“感觉”了另一个世界的存在,这个几何世界的描述对象是自然界的几何形态。七十年代,美国科学家B.Mandelbrot用Fractal这个词来定义这门新的几何学科 分形几何学。分形几何学把自然形态看作是有无限嵌

55、套层次的精细结构,并且在不同尺度下保持某种相似的属性,于是在简单的迭代过程中就可以得到描述复杂自然形态的有效方法。尽管分形的提出只有二十多年的时间,但它已经在自然科学的诸多领域如数学、物理、化学、材料科学、生命科学、地质、天文、计算机乃至经济、社会、艺术等及其广泛的领域有着重大的应用。可以毫不夸张地说“分形是大自然的几何学”,“分形处处可见”。本节的目的是以迭代的观点介绍分形的基本特性以及生成分形的基本方法,使读者在欣赏美丽的分形图案的同时对分形几何这门学科有个直观的了解,并从哲理的高度理解这门学科诞生的必然,激发读者探寻科学真理的兴趣。这 类 图 形 的 构 造 方 式 都 有 个共同的特点

56、,即最终的图形F是按照一定的 规 则R通 过 对 初 始 图 形F 0不 断 修改得到的。其 中 最 具 有 代 表 性 的 图 形 是K och曲线和Minkowski“香肠”曲线。图18 Minkowski“香肠”曲线1 Koch曲线分形原理Koch曲线的构造方式是:给 定 一 条 直 线 段 F 0,将该直线段三等分,并将中间的一段用以该线段为边的等边三角形的另外两条边替代,得 到 图 形 F 1,如上图所示。然后,再 对 图 形 F 1 中的每一小段都按上述方式修改,以至无穷,则最后得到的极限曲线就是所谓的K och曲线。Koch曲线的修改规则R是将一条直线段F0用一条折线F1替代,们

57、称F1为形的生成元。分形的基特性完全有生成元决定。因此给一个该分生成元,我们就可以生各种各样的分形图形。使用画线函数l i n e(x,y),可 根 据 各 点 坐 标(x,y)连成折线。图19根据图19所示,由i点和i +1点的坐标,可得K o c h曲线生成元各点的坐标如下:x=xi=%2 12 1X2 =彳玉+;+l乃=彳 y +;y+i3 33 31-x1 z、3=-(%,.+x;+l)-%了3=-21(/X +X+i、)+o 5U,+1-)、1 21 2%=3X,+3X,+I%=玉+i%=X+i生成生成元各点坐标的程序如下:function x,y=pd(a,b)ii=length(

58、a);x=a(1);y=b(1);for i=l:ii-1aal=a(i);aa2=a(i+1);bbl=b(i);bb2=b(i+1);x=x aa2/3+2*aal/3(aal+aa2)/2-(bb2-bbl)*sqrt(3)/6 aal/3+2*aa2/3aa2;y=y bb2/3+2*bbl/3(bbl+bb2)/2+(aa2-aal)*sqrt(3)/6 bbl/3+2*bb2/3bb2;end多次分形程序f x l.m:function fxl(n)%输入参数n代表分形次数a=0 6;b=0 0;for i=l:3x y=pd(a,b);a=x;b=y;endline(x,y)2

59、M i n k o w s k i “香肠”分形原理根 据 图 2 0 所示,由 i点 和 i +1 点的坐标,元各点的坐标如下:可 得 Minkowski 香肠曲线生成%=xi=“N3 1=4,+4”,+1y 23 1=X ”十 五 乂+】Z3A 3=4=1,汽+、7+l),3=五1(/乂 +,,+l、)+7“51,、,+7 +1)+,3=1/、7-Cy/+M+i)X 7 +J=y-r-X-71 3-X -H -A7-.4-4-+i1 3=五 乂+4 乂+1其 中/2=(F,与2一 )4 3 4生成生成元各点坐标的程序如下:function xz y=pdl(a,b)ii=length(a)

60、;x=a(1);y=b(1);for i=l:ii-1aal=a(i);aa2=a(i+1);bbl=b(i);bb2=b(i+1);12=(aa2-aal)/4;13=(bb2-bbl)/4;x2=aa2/4+3*aal/4;y2=bb2/4+3*bbl/4;x7=3*aa2/4+l*aal/4;y7=bbl/4+3*bb2/4;x=x x2 x2-13(aal+aa2)/2-13(aal+aa2)/2+13 x7+l3 x7 aa2;y=y y2 y2+12(bbl+bb2)/2+12(bbl+bb2)/2-12 y7-12 y7 bb2;end多次分形程序fx2.m:function f

61、x2(n)输入参数n代表分形次数a=0 8;b=0 0;for i=l:nx y=pdl(a,b);a=x;b=y;endline(x,y)在命令窗口输入:fxl(6)fx2(6)可得到6次分形的Koch曲线和Minkowski“香肠”曲线。2.10上机实验内容1在同一画面绘制0Kx42*pi范围内的sin(2x)、sinx2 siY x的图形。2在同平面中的两个窗口分别用polar绘制心形线p -3(1-cos。)和马鞍面z=x*x-y*y的图形,并以不同的角度观察马鞍面。3在区域-3vx3,-3yFig ure Toolbar,选择视角工具,以不同的角度观察马鞍面。图 22图 233 在

62、MatLab命令窗口输入elfx=-3:0.1:3;y=x;X,Y=meshg rid(x,y);Z=0.1*sin(X.A2+Y.A2);surf(X,Y,Z)shading flat%见图 244在Ma t L a b命令窗口输入e z p l o t(e x p(x*y)-s i n(x*y),-3,3,-12,12)%见图 25图255在Ma t L a b命令窗口输入e z p l o t(2*(t-s i n(t);2*(l-c o s(t),0,6*p i )%见图 26图 266完成函数z u x y ln x的动画表达。(1)在MatLab命令窗口中,点击菜单Fi1e New

63、-M-fi:L e,打开M文件编辑窗口输入程序如下:x=-3:0.1:3;X,Y=meshg rid(x);z=X.A2+Y.A2.*sin(X);mesh(z);M=moviein(30);axis manualfor j=1:30mesh(cos(4*pi*j/30)*z,z)M(:,j)=g etframe;endmovie(M,25)(2)在M文件编辑窗口中,点击F ile S a v e,在默认路径下存盘,文件名为dh.m(3)在MatLab命令窗口中,输入 d h%可 在图形窗口观察动画,见图27图 277(1)在MatLab命令窗口中,输入 z=0:0.1:100;x=sin(z

64、);y=z.*2+exp(z);(2)在MatLab命令窗口中,输入 comet3(x,y,z)%可在图形窗口观察动画。见图28第3章MatLab程序设计本章学习的主要目的:3.熟炼掌握MatLab程序设计的顺序、分支和循环结构;4.熟炼掌握脚本M文件和自定义函数的设计和使用;3.1 M文件的使用3.1.1 M文件的运行操作步骤1 启动 MatLab2点击菜单File-New-M-file,进入文件编辑窗口3在文件编辑窗口输入M文件内容4以m为扩展名存盘,注意函数文件的文件名一定和函数名一样。5在命令窗口中输入脚本文件名,即 可 运 行 脚 本M文件,函数文件的使用和内部函数的使用方法一样。3

65、.1.2 变量变量名是以字母开头,由字母、数字和下划线组成,最 多31个字符,区分大小写字母。注:变量不需要任何类型的说明语句,当输入一个新的变量名时,MatLab会自动建立变量并为其分配内存空间。MatLab有几个特殊的量:p i圆 周 率:eps最小浮点数;Inf正无穷大,特 指1/0;NaN不定值,特 指0/0;i,j虚数单位。注 为了防止除以0的运算,可如下处理:如 x=(-3:3)/3;x=x+(x=0)*eps;sin(x)./x3.1.3 语句形式一般赋值语句形式:变量=表达式若变量和“=,省略,则 名 为a n s的变量自动建立;若输入一个语句并以回车结束,则在工作区中显示计算

66、的结果;若语句以“;”结束,则只计算,不显示计算的结果。若表达式太长,可以用续行号将其延续到下一行。行中可以写几个语句,它们之间用逗号或分号分开。语句注释符为。3.1.4 控制循环语句1.f o r循环变量=初值:步长:终值循环体语句组end例1 计 算1到1 0的和脚本文件e x amp l e l.ms=0;f o rs=s+i;e n d;s在命令窗口输入e x amp l e l,运行结果:S=552.while(条件式)循环体语句组end例 2 F ib o n ac c i 数组的元素满足 F ib o n ac c i 规则:aM=ak+ak+,(左=1,2,);且%=%=晨 求出该数组中第一个 大 于1 0 0 0 0的元素。脚 本 文 件e x amp l e 2.ma(l)=l ;a(2)=l ;i=2;w h il e a(i)=10000a(i),break;end;endj在命令窗口输入example3,运行结果:ans=10946i=212 switch-case 结构sw itch 表达式case 表 达 式 1语 句 块 1case 表 达 式 2语 句

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!