matlab在高等数学中的应用_第1页
matlab在高等数学中的应用_第2页
matlab在高等数学中的应用_第3页
matlab在高等数学中的应用_第4页
matlab在高等数学中的应用_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、系统进行建模、仿真和分析的软件包;用结构图编程,而不用程序编程;只需拖几个方块、连几条线,即可实现编程功能。5. 丰富的MatLab工具箱MatLab主工具箱;符号数学工具箱;SIMULINK仿真工具箱;控制系统工具箱;信号处理工具箱;图象处理工具箱;通讯工具箱;系统辨识工具箱;神经元网络工具箱;金融工具箱。6. MatLab的兼容功能可与C语言、FORTRAN语言跨平台兼容;用函数CMEX、FMEX实现。7. MatLab的容错功能非法操作时,给出提示,并不影响其操作。例如 在命令窗口输入1/0,执行结果显示如下,提示被0除,结果为无穷大。Warning: Divide by zeroans

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

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

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

7、行运行方式通过直接在命令窗口中输入命令行来实现计算或作图功能。但这种方式在处理复杂的问题和大量数据时相当困难。(2)M文件运行方式是在一个以m为扩展名的M文件中输入一系列数据和命令,然后让MatLab执行这些命令。MatLab的M文件有两种类型:脚本M文件和函数M文件。脚本文件就是命令的简单叠加,没有输入和输出参数,运行产生的所有变量是全局变量。函数M文件有输入和输出参数,可以弥补MatLab的内部函数有限的不足,自定义新的函数,所有变量除特殊声明外,都是局部变量。1.2.4 MatLab的数(1) MatLab操作的数的范围为复数,表示为a+bi或a+bj例1 求的值。输入sqrt(-1)执

8、行结果:ans =0 + 1.0000i例2 设复数,计算。输入指令:z1= 3+4i,z2=1+2*i,z3=2*exp(i*pi/6),z=z1*z2/z3执行结果: z1 = 3.0000 + 4.0000i z2 = 1.0000 + 2.0000iz3 = 1.7321 + 1.0000iz = 0.3349 + 5.5801i 例3 复数矩阵的生成。输入指令:A=1,3;2,4-5,8;6,9*iB=1+5i,2+6i;3+8*i,4+9*i 执行结果:A = 1.0000 - 5.0000i 3.0000 - 8.0000i 2.0000 - 6.0000i 4.0000 - 9

9、.0000iB = 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 8.0000i 4.0000 + 9.0000i例4 求上例复数矩阵A的实部、虚部、模和相角。输入指令:A_real=real(A)A_imag=imag(AC)A_magnitude=abs(A)A_phase=angle(A)*180/pi%以度为单位计算相角 执行结果:A_real = 1 3 2 4A_imag = -5 -8 -6 -9AC_magnitude = 5.0990 8.5440 6.3246 9.8489A_phase = -78.6901 -69.4440 -71

10、.5651 -66.0375例5 用MatLab计算能得到2吗?输入指令:a=-8;r=a(1/3) 执行结果如下,输出的是其中的一个根:r =1.0000 + 1.7321i (2) 数据显示格式 format默认值short format short保证小数点后有四位有效数字format short e用5位科学计数法表示format short g 用15位科学计数法表示format long 用15位数字表示format long e 用15位科学计数法表示format rat 用近似的有理数表示 format loose 输入命令和回显之间加空行format compact输入命令和

11、回显之间不加空行 (3) 数据计算精度控制:digits(n) 限制在可控精度运算中取n位有效数字进行计算.1.2.5 MatLab的变量(1)变量的命名规则变量名是以字母开头,可以包含字母,数字或下划线的不超过31个字符的字符串,区分大小写,如myfile和Myfile是两个不同的变量。(2)特殊变量(不能重新赋值)ans 对于未赋值的运算结果,自动赋给ans变量eps 机器零阈值inf或Inf 表示正无穷大,定义为1/0i,j 虚数单位NaN 非数,它产生于0× ¥,0/0,¥/¥ 等运算nargin 函数输入变量数目nargout 函数输出变量数目

12、pi 圆周率prealmin 最小可用正实数realmax 最大可用正实数(3)变量的查询函数who与whos作用都是列出在MatLab工作空间中已经驻留的变量名清单,不同的是whos在给出驻留变量的同时,还给出它们的维数及性质。如在命令窗口输入who后,显示Your variables are:A B 在命令窗口输入whos后,显示 Name Size Bytes Class A 2x2 230 cell array B 1x1 264 struct array(4)变量的删除在命令窗中运用clear指令可以删除内存中指定的变量,格式:clear 变量名,若不写变量名,缺省变量全部被删除。(

13、5)变量的的保存与获取把MatLab工作空间中一些有用的数据长久保存下来的方法是生成mat数据文件。mat文件是标准的二进制文件,还可以以ASCII码形式保存。用命令save保存变量,用load恢复已保存的变量。具体格式:save 将工作空间中所有的变量存到MatLab.mat文件中。save data 将工作空间中所有的变量存到data.mat文件中。save data a b将工作空间中a和b变量存到data.mat文件中。可用load指令调用已生成的mat文件。load 将MatLab.mat文件中的变量恢复到工作空间中。load data 将data.mat文件中的变量恢复到工作空间中

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

15、输入法规则: j 矩阵元素必须用 括住; k 矩阵元素必须用逗号或空格分隔; l 在 内矩阵的行与行之间必须用分号或回车分隔;矩阵元素可以是任何实数或复数,MatLab表达式,复数可用特殊函数i,j 输入。 例7 生成一个实数矩阵和复数矩阵 输入指令:a=1, 2 ,3;4 ,5 ,6,x=2, pi/2;sqrt(3) ,3+5i 执行结果:a = 1 2 3 4 5 6x = 2.0000 1.5708 1.7321 3.0000 + 5.0000i方法2 用MatLab函数创建矩阵空阵 MatLab允许输入空阵,当一项操作无结果时,返回空阵。zeros(n,m) 生成n行m列的零矩阵。

16、ones(n,m) 生成n行m列的全1矩阵。 eye(n,m) 生成n行m列对角线元素全为1其它元素为0的矩阵。 rand(n,m) 生成(0,1)均匀分布的n行m列的随机矩阵。randn(n,m) 生成正态分布的n行m列的随机矩阵 magic(n) n阶幻方矩阵。n=1,3,4,5.pascal(n) n阶杨辉三角形矩阵 diag(v,k) 生成和提取对角阵。diag(v) 当v为矩阵时,提取矩阵的对角元生成一个向量;当v为向量时,用向量的元素单位矩阵eye(n)为对角元生成同维数的对角矩阵。 triu(v,k) 生成和提取上三角阵。 tril(v,k) 生成和提取下三角阵。repmat(a

17、,m,n) 生成m×n分块矩阵,每块元素为a矩阵。方法3在M-文件中用MatLab语句创建一个矩阵。如 创建和保存矩阵 AM的 MyMatrix.m 文件。AM=101,102,103,104,105,106,107,108,109;. 201,202,203,204,205,206,207,208,209;. 301,302,303,304,305,306,307,308,309;方法4从一个外部数据文件中装载并创建一个矩阵。把下面的数据保存在一个文本文件a.txt 中1 2 3 2 3 4在命令窗口中输入load a.txt,则在内存中生成2×3矩阵变量a。(2)向量的

18、生成方法j同矩阵的生成;k冒号:运算j:k 生成向量j,j+1,j+2,kj:i:k生成向量j,j+i,j+2i,k-rem(k-j),i),如a1:2:6 生成a1 3 5 llinspace(a,b,n)从a到b的n个线性等分数组logspace(a,b,n) 从a到b的n个对数等分数组(3) 矩阵的标识j元素标识方式:A(i,j),i,j分别代表行数和列数k向量标识方式:A(vr,vc)vr,vc是含矩阵行号和列号的单调向量,如A(1,1,3)表示A(1,1),A(1,3)l0-1向量标识方式:A(vr,vc), A(vr,:)A(:,vc), vr,vc是由0,1组成的长度为矩阵行维和

19、列维的逻辑向量,1表示取,0表示不取。islogical(a)测试矩阵a是否维逻辑变量,若不是可以转换用a&1或A(v),v是按一维存储的下标向量。如A(2,:)表示矩阵A的第2行元素,A(:,3)表示矩阵A的第3列元素m矩阵表示方式:A(B), B与A同维逻辑矩阵,如果B非0,取当前位置元素,否则不取。(4) 矩阵的修改j矩阵的裁剪.从一个矩阵中提出若干行(列)构成新的矩阵成为裁剪。冒号运算符“:”是重要的裁剪工具。设a为4阶方阵, a(2,:) 提出第二行的元素,构成行向量。 a(:,4) 提出第四列的元素,构成列向量。 a(1:3,:) 提出第1到3行,构成3行4列矩阵。 a(:

20、,1:3) 提出第1到3列,构成4行3列矩阵。 a(1:2:4,:) 提出第1行,第3行,构成2行4列矩阵。 a(:,1:3:4) 提出第1列,第4列,构成4行2列矩阵。几个矩阵接在一起称为矩阵的拼接,左右拼接时行数要相同,用逗号隔开,上下拼接时列数要相同,用分号隔开。例8 a=1 2 3;2 3 4a = 1 2 3 2 3 4a a;a aans = 1 2 3 1 2 3 2 3 4 2 3 4 1 2 3 1 2 3 2 3 4 2 3 4l 指令修改,可以用A(*,*)= * 来修改。 例9 把矩阵a的第3行第3列元素修改位为0输入指令: a=1 2 0;3 0 5;7 8 9,a(

21、3,3)=0执行结果:a =1 2 0 3 0 5 7 8 9a =1 2 0 3 0 5 7 8 0m矩阵的扩充。方法1用小矩阵生成大矩阵。例10 A=ones(2,4);B=zeros(1,2);C=2,3;D=A;B,CD = 1 1 1 1 1 1 1 1 0 0 2 3方法2对超出矩阵维数的元素直接赋值,其余元素补0。例11把矩阵a由2行3列扩充成3行4列,且第3行第4列元素为1,其余为0,输入指令:a=1,2,3;4,5,6;a(3,4)=1执行结果:a = 1 2 3 0 4 5 6 0 0 0 0 1n矩阵的部分删除。按行或列赋空值即可,但删除行或列的部分元素则会出错。例12

22、a(2,:)= 删除a的第2行。o矩阵结构的改变a(:)表示把矩阵a排成1列(按列的次序),a(:)在赋值左边,a的维数不变,会把右边数据重组,要求右边数据个数与左边数据个数相等。函数reshape(a,m,n) 在总元素数不变的前提下,将矩阵a改变成m行n列的矩阵。例13 把a矩阵元素排成1排,输入指令:a=1,2,3;2,3,4;b=a(:)执行结果:b = 1 2 2 3 3 4把自然数作为元素,按列顺序修改矩阵a,矩阵a的型不变,输入指令:a(:)=1:6执行结果:a = 1 3 5 2 4 6 (5)矩阵的运算(a) 矩阵加、减(,)运算规则:相加、减的两矩阵必须有相同的行数和列数,

23、两矩阵对应元素相加减。允许参与运算的两矩阵之一是标量,标量与矩阵的所有元素分别进行加减操作。(b) 矩阵乘(*)运算A*B规则:A与B相乘,A矩阵的列数必须等于B矩阵的行数,标量可与任何矩阵相乘。例14 a=1 2 3;4 5 6;7 8 0;b=1;2;3;c=a*bc =14 32 23 d=-1;0;2;f=pi*df = -3.1416 0 6.2832(c)矩阵数组乘法(.*)X. *Y,规则:X,Y必须有相同的维数,除非其中一个为1×1矩阵。运算结果为两个矩阵的相应元素相乘,得到的结果与X,Y同维。例15 a=1 2;4 5 ;b=2,1;2,3;c=a.*bc =2 2

24、 8 15(d) 矩阵除的运算(/,)在线性代数中没有矩阵除的运算,有矩阵逆运算,在MatLab中有两种矩阵除运算a/b,aba/b相当于,ab相当于(e) 矩阵数组除的运算(./,.)a. /b, a. b a./b=b.a,a.b=b./aa./b=b.a 都是a的元素被b的对应元素除a.b=b./a 都是b的元素被a的对应元素除规则:a,b必须有相同的维数,除非其中一个为1×1矩阵。运算结果为两个矩阵的相应元素相除,得到的结果与a,b同维。例16 a=1 2;4 5 ;b=2,1;2,3;c=a./bc = 0.5000 2.0000 2.0000 1.6667(f) 矩阵转置

25、Am×n运算结果为n×m矩阵,对应元素由矩阵A行列互换得到。例17 a=1 2 4;8 3 5 ;c=ac=1 8 2 34 5 (g) 矩阵乘方 例18 a=1,2,3;4,5,6;7,8,9;a2 ans =30 36 42 66 81 96 102 126 150(h) 矩阵关系运算符及关系函数 A小于B: A<B, lt(A,B) A小于或等于B: A<=B, le(A,B) A大于B: A>B, gt(A,B) A大于或等于B: A>=B, ge(A,B) A等于B: A=B, equ(A,B) A不等于B: A=B, ne(A,B) 结果

26、是01矩阵,1表示真,0表示假。 例19 :A=1:9,B=10-A,r0=(A<4),r1=(A=B) A = 1 2 3 4 5 6 7 8 9B = 9 8 7 6 5 4 3 2 1r0 = 1 1 1 0 0 0 0 0 0r1 = 0 0 0 0 1 0 0 0 0 (i) 矩阵的逻辑运算符及逻辑函数在判别一个量是否为真时,以0代表假,以任意非零值代表真。逻辑运算符:“&”,and(A,B); 代表逻辑运算中的与“|”,or(A,B); 代表逻辑运算中的或“”,not(A); 代表逻辑运算中的非 “xor” 代表逻辑运算中的异或注意 逻辑运算和关系运算之间的优先级次序

27、,其中逻辑与和或有相同的优先级,非的优先级最高。规则:要求运算两矩阵维数相同,标量和矩阵运算等于标量和矩阵的每一个元素都进行运算。例20 A=-3:3,L1=(A>0),L2=A>0,L3=A,L4=A>-2&A<1 a = -3 -2 -1 0 1 2 3L1 = 1 1 1 1 0 0 0L2 = 0 0 0 1 0 0 0L3 = 0 0 0 1 0 0 0L4 = 0 0 1 1 0 0 0 逻辑函数:y=all(x) 判断是否所有元素为非零数,若x为向量,当所有元素非零时y=1,否则y=0;若x为矩阵,all作用于列元素,y为行向量。y=any(x)

28、判断是否有一个向量元素为非零,若x为向量,当有一元素非零时y=1,否则y=0;若x为矩阵,all作用于列元素,y为行向量。exist(x) 查看变量或函数是否存在。find(a) 找出a矩阵或向量中非零元素的位置标识。按维数的先后把多维位置排成一维。如a=1 2 ;0 3,a(find(a)=5;把a阵中非0元素变成5。格式:k=find(a),i,j=find(a),i,j,v=find(a)finite(a) 确认矩阵a元素是否为有限数isempty(a) 确认矩阵a是否为空矩阵isequal(A,B,C,) 判断几个对象是否相等isnumeric(a) 判断对象a是否为数据isspars

29、e(a) 判断矩阵a是否为稀疏矩阵isstr(a) 判断矩阵a是否为字符串islogical(a) 判断矩阵a是否为逻辑矩阵例21 找出数组中所有绝对值大于3的元素。方法1:A=zeros(2,5);A(:)=-4:5L=abs(A)>3islogical(L)X=A(L) A = -4 -2 0 2 4 -3 -1 1 3 5L = 1 0 0 0 1 0 0 0 0 1ans = 1X = -4 4 5 方法2:A(find(abs(A)>3)ans = -4 4 51.2.7 MatLab的内部函数函 数名 称函 数名 称Sin(x)正弦函数max(x)最大值Cos(x)余弦

30、函数min(x)最小值Tan(x) 正切函数sqrt(x)开平方cot(x) 余切函数exp(x)以e为底的指数sec(x)正割函数log(x)以e为底的对数csc(x) 余割函数log10(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)双曲余弦函数sign(x)符号函数real(x)取实部rats(x)有理逼近imag(x)取虚部rem(a,b),mo

31、d(a,b)a除以b取余angle(x)取幅角sum(x)元素的总和length(x)向量的长度mean(x)向量的平均值sqrt(x)向量从小到大排序size(x)矩阵x的大小det(x)方阵x的行列式inv(x)方阵x的逆矩阵注 用help、lookfor 两个帮助指令可以查询MatLab的函数和指令详细信息.1.2.8 MatLab的符号(1) MatLab的字符型变量MatLab软件用单引号来定义字符串,例22 在命令窗口输入ss=hello则执行后显示ss=hello %表示定义了长度为5的字符型变量(2) MatLab的符号变量的定义符号变量在参与运算时,可在没有提前赋值的情况下合

32、法地出现在表达式中,而数值变量在参与运算时,必须提前赋值.方法1 sym(变量名) 单个符号变量定义例23 A=sym(2*x+y) % 定义了符号变量A方法2 syms var1 var2 定义多个符号变量,不同的变量名之间用空格隔开例24 syms a b c x % 定义了4个符号变量(3) MatLab符号表达式的定义在具体创建一个符号表达式之前,就将这个表达式所包含的全部符号变量创建完毕.在创建表达式时,只需按给其赋值时的格式输入即可.例25 syms a b c xf=a*x2+b*x+cf-a运行结果为f = a*x2+b*x+cans = a*x2+b*x+c-a(4) Mat

33、Lab符号方程的创建equ=sym(EQUATION)例26 e1=sym(a*x2+b*x+c=0) %定义了2个符号变量,代表2个方程e2=sym(x*y+e=0)(5) 利用元素的通式生成符号矩阵例27 创建下面矩阵A = sin(1+x) sin(2+x) sin(3+x) sin(4+x) sin(5+x) sin(6+x)sin(7+x) sin(8+x) sin(9+x)创建矩阵 A的 MyMatrix.m 文件:syms x c ra=sin(c+(r-1)*3+x);for i=1:3 for j=1:3 c=sym(i); r=sym(j); A(i,j)=subs(a);

34、endend(6) 字符表达式和符号表达式转换为数值表达式命令numeric(S) 将变量S转换为数值量x,不管S是字符变量还是符号变量.例28 format longs1=sym(3/23);x1=numeric(s1)s2=3.14225;x2=numeric(s2)运行结果为:x1 = 0.13043478260870x2 = 3.14225000000000(7)计算符号表达式的值 eval()例29 a=sym(2*x+y); x=2;y=3;zhi=eval(a)显示结果为 zhi=7 %说明当x=2,y=3时2*x+y等于71.3 上机实验内容1. 分别使用WINDOWS中的计算

35、器和MatLab的命令方式计算表达式的值.2. 使用funtool函数计算器完成正弦函数,其导函数和原函数的图形显示.3. 生成矩阵A,通过修改矩阵A的第1行第3列元素为2,把矩阵扩充为4行5列,其中第4行第3列元素为7,其余列为0,删除第2列元素的操作生成矩阵B, 按行的逆顺序取A的1,2,4,5列,且第四行为自然数1到4,生成新的矩阵C;计算B*C,B.* C, B+C,2*B, B和C的行列式,BC, B/C,并找出A中大于3的元素,且将其替换为1。 A= 0 1 0 2 1 3 4 6 8 4 9 7 3 2 2 4. 观察幻方矩阵和杨辉三角形矩阵各元素的规律。5. 创建符号矩阵A,计

36、算x=1.1,y=2.3时对应的矩阵B,并计算矩阵A,B的行列式.A= x+y 2*x+5*y 3*x+9*y 4*x+13*y 4*x+2*y 5*x+6*y 6*x+10*y 7*x+14*y 7*x+3*y 8*x+7*y 9*x+11*y 10*x+15*y 10*x+4*y 11*x+8*y 12*x+12*y 13*x+16*y 1.4 上机实验步骤1. (1) 在windows窗口,点击开始>附件>计算器,打开计算器,(2) 按如下顺序点击各键:(注:下面说明中各键之间用,隔开)选中十进制,弧度,C , 3, ln, *, (, 2, xy, 8, ), =, MS,

37、 C, 3, /, 4, *, pi, =, sin, *, (, 3, ., 5, 9, xy, 0, ., 5 , ), /, 4, ., 2, =, M+ , MR 记录结果 。(3) 在桌面单击MatLab图标,打开MATLAB软件,(4) 在命令窗口输入>> log(3)*28+sin(3/4*pi)*sqrt(3.59)/4.2显示结果为: 2. (1) 在桌面单击MatLab图标,打开MatLab软件,(2) 在命令窗口输入>> funtool则打开函数计算器的三个图形窗口;(3) 在第3个图形窗口中,在f后面的文本框内输入sin(x)回车,则在第1个图形

38、窗口显示正弦函数的图形;(4) 在第3个图形窗口中,点击df/dx键,则在第1个图形窗口显示正弦函数的导数余弦函数的图形;(5) 在第3个图形窗口中,在f后面的文本框内输入sin(x)回车,再点击int键,则在第1个图形窗口显示正弦函数的一个原函数负余弦函数的图形;3. 在MatLab命令窗口中输入:>>A=0,1,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*

39、C运行结果: >>B.*C运行结果: >>B+C运行结果: >>2*B运行结果: >>det(B)运行结果: 根据矩阵B的行列式,可判别矩阵B 可逆矩阵。>>BC运行结果: >>det(C)运行结果: 根据矩阵C的行列式,可判别矩阵C 可逆矩阵。>>B/C运行结果: >>A(find(A>3)=1运行结果: 4. (1) 在桌面单击MatLab图标,打开MatLab软件,(2) 在命令窗口输入:>>magic(1) 生成1阶幻方矩阵运行结果: >>magic(3)运行结

40、果: 3阶幻方矩阵元素的特点是: >>magic(4)运行结果: 4阶幻方矩阵元素的特点是: 由此可推知,n阶幻方矩阵的特点是: 。(3) 在命令窗口输入:>>pascal(1) 生成1阶杨辉三角矩阵运行结果: >>pascal(2)运行结果: >>pascal(3)运行结果: >>pascal(6)运行结果: 由此可推知,n阶杨辉三角矩阵各元素的特点是: 。5. (1)在桌面单击MatLab图标,打开MatLab软件,在MatLab命令窗口中,点击菜单File>New->M-file,打开M文件编辑窗口,输入创建矩阵 A

41、的 MyMatrix.m 文件:syms x y c ra=(r+(c-1)*3)*x+(c+(r-1)*4)*y;for i=1:4 for j=1:4 c=sym(i); r=sym(j); A(i,j)=subs(a);endendA(2)在M文件编辑窗口中,点击File>Save,在默认路径下存盘,文件名为MyMatrix.m(3) 在MatLab命令窗口输入>>MyMatrix >>x=1.1;y=2.3;B=eval(A)运行结果: >>det(A)运行结果: >> det(B)运行结果: 第2章 MatLab作图本章学习的主要

42、目的:1熟练掌握二维、三维图形的绘制;2掌握简单动画的制作;3了解分形几何学,绘制Koch雪花曲线和Minkowski“香肠”曲线。2.1 图形输出窗口的创建与控制figure 创建一个名为Figure N0.n1的新空白图形窗口figure(n) 创建一个名为Figure N0.n的新空白图形窗口,不管前面的窗口Figure N0.n-1是否存在。但如窗口Figure N0.n已经存在,则将此窗口设置为当前窗口。clf 清除当前窗口的图形get (n) 返回图形窗口Figure N0.n的所有图像参数的名称和当前值set(n) 返回关于图形窗口Figure N0.n的所有图像参数的名称和其可

43、能取的值subplot(m,n,i) 将当前窗口分割成m×n个子图,并将第i个子图作为当前视图,返回值为当前视图的句柄值。其中每个子图都完全等同于一个完整的图形窗口,可在其中完成所有图形操作命令。hold on 可以在当前窗口继续画图,而不覆盖窗口中已存在的图形hold off 释放当前窗口,在当前窗口继续画图将覆盖原来的图形zoom on 为当前图形打开缩放模式,单击鼠标左键,则在当前图形窗口中,以鼠标点中的点为中心的图形放大2倍;单击鼠标右键,则缩小2倍。zoom off 关闭缩放模式grid on 在当前图上加格栅 grid off 在当前图上删除格栅xlabel(string

44、) 在当前图形的x轴上加图例stringylabel(string) 在当前图形的y轴上加图例stringzlabel(string) 在当前图形的z轴上加图例stringtitle(string) 在当前图形的顶端上加图例stringgtext(string) 在当前图形上出现一个交叉的十字,该十字随鼠标的移动而移动,当按下鼠标左键时,该标注string放在当前十字交叉处axis(xmin xmax ymin ymax zmin zmax) 定制图形坐标,xmin xmax ymin ymax zmin zmax分别为x、y、z的最小、最大值。axis auto 将坐标轴返回到自动缺省值。a

45、xis square 图框成方形axis off 清除坐标刻度例1 将图形窗口分为两个子图,在第一个子图中,在区间0,2*pi上画sin(x),cos(x)的图形,加格栅,并加注图例“自变量x”“函数y”、“示意图”,”sin(x)”,图1图2”cos(x)”,在第二个子图中,显示sin(x)在区间pi/2,pi的部分图形。输入命令:(见图1,图2)subplot(1,2,1)x=linspace(0,2*pi,30);y=sin(x);plot(x,y, 'k')grid ontitle('示意图');ylabel('函数y');title(&

46、#39;示意图');hold onplot(x,cos(x), 'k')axis(0 2*pi -1.2 1.2)gtext('sin(x)')gtext('cos(x)')subplot(1,2,2)fplot('sin(x) ',0,2*pi, 'k')axis(pi/2 pi 0 1.2)2.2 二维曲线作图Matlab作图是通过描点、连线来实现的。故在画一个曲线图形之前,必须先取得该图形上的一系列的点的横坐标和纵坐标,然后将该点集的坐标传给函数作图。作二维和三维图形是同样的道理。调用格式:plot(

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

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

温馨提示

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

评论

0/150

提交评论