




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第二章第二章 MATLAB简介简介一、一、MatlabMatlab使用入门使用入门二、数值计算二、数值计算三、符号运算三、符号运算四、图形处理四、图形处理五、程序设计五、程序设计六、在计算方法中的应用六、在计算方法中的应用2内容讲解安排内容讲解安排目的意义目的意义:掌握:掌握Matlab的基本用法的基本用法2.2.重重 点点:数值计算、符号运算、图形制作:数值计算、符号运算、图形制作 及程序设计及程序设计3.3.难难 点:点:程序设计程序设计4.4.内容分配:内容分配: 第第 2 2 次:次:1 1 Matlab简介简介 2 2 Matlab的数值计算功能的数值计算功能 3 3 Matlab
2、的符号运算功能的符号运算功能 4 4 Matlab的图形制作功能的图形制作功能 5 5 Matlab的的M文件及程序设计文件及程序设计3一、一、Matlab简介简介1 1、Matlab的特点的特点例例1.1 Lagrange插值:插值:Lagrange.m , Lag.m MATLAB源于源于Matrix Laboratory一词,原意为一词,原意为矩阵实验室。一开始它是一种专门用于矩阵数值计算矩阵实验室。一开始它是一种专门用于矩阵数值计算的软件。随着的软件。随着MATLAB逐渐市场化,逐渐市场化,MATLAB不仅不仅具有了数值计算功能,而且具有了数据可视化功能。具有了数值计算功能,而且具有了
3、数据可视化功能。 由于由于MATLAB的开放性、易学易用性等特点,的开放性、易学易用性等特点,MATLAB已成为高校学生、老师、科研人员和工程计已成为高校学生、老师、科研人员和工程计算人员的最好选择。算人员的最好选择。MATLAB是真正面向是真正面向21世纪的科世纪的科学计算语言。学计算语言。 4MATLAB语言主要有以下其它语言不可比拟的特点语言主要有以下其它语言不可比拟的特点: : ( (1).).功能强大功能强大 MATLAB4.0以上(不包括以上(不包括4.0)的各版本,不仅在)的各版本,不仅在数值计算上保持着相对其它同类软件的绝对优势,而数值计算上保持着相对其它同类软件的绝对优势,而
4、且还开发了自己的且还开发了自己的符号运算功能符号运算功能。特别是。特别是 MATLAB6.0版本在符号运算功能上丝毫不逊于其它各类软件,如版本在符号运算功能上丝毫不逊于其它各类软件,如MathCAD、 Mathematica 等。等。 只要学会了只要学会了MATLAB,就可以方便地处理诸如矩,就可以方便地处理诸如矩阵变换及运算、多项式运算、微积分运算、线性与非阵变换及运算、多项式运算、微积分运算、线性与非线性方程求解、常微分方程求解、偏微分方程求解、线性方程求解、常微分方程求解、偏微分方程求解、插值与拟合、统计及优化等问题。插值与拟合、统计及优化等问题。 5 做过数学计算的人都知道,在计算中最
5、难处理的做过数学计算的人都知道,在计算中最难处理的就是算法的选择,但就是算法的选择,但MATLAB 中许多功能函数都带中许多功能函数都带有算法的自适应能力,且算法先进,大大解决了用户有算法的自适应能力,且算法先进,大大解决了用户的后顾之忧的后顾之忧。 另外,提供了一套完善的图形可视化功能,为用另外,提供了一套完善的图形可视化功能,为用户向别人展示自己的计算结果提供了广阔的空间。户向别人展示自己的计算结果提供了广阔的空间。 MATLAB允许用户以数学形式的语言编写程序,允许用户以数学形式的语言编写程序, 比比BASIC语言、语言、FORTRAN语言和语言和C语言等更接近于书语言等更接近于书写公式
6、的思维方式。写公式的思维方式。(2)语言简单)语言简单6 它的操作和功能函数指令就是以平时计算机和数它的操作和功能函数指令就是以平时计算机和数学书上的一些简单的英文单词表达的。由于它是用学书上的一些简单的英文单词表达的。由于它是用C语言开发的,它的不多的几个程序流控制语句同语言开发的,它的不多的几个程序流控制语句同C语语言差别甚微,初学者很容易掌握。言差别甚微,初学者很容易掌握。 MATLAB语言的帮助系统的功能也相当强大,语言的帮助系统的功能也相当强大,用户可以方便地查学到想要的各种信息。用户可以方便地查学到想要的各种信息。另外,另外,MATLAB还专门为初学者(包括其中某一个工具还专门为初
7、学者(包括其中某一个工具箱的初学者)提供了箱的初学者)提供了intro及及demo等演示命令,用等演示命令,用户可以从中得到兴趣的例子及演示。户可以从中得到兴趣的例子及演示。 7(3)扩充能力强、可开发性强)扩充能力强、可开发性强 MATLAB可扩充性和可开发性起着不可估量的可扩充性和可开发性起着不可估量的作用。作用。MATLABMATLAB本身就像一个解释系统,对其中的函本身就像一个解释系统,对其中的函数程序的执行以一种解释执行的方式进行,这样最数程序的执行以一种解释执行的方式进行,这样最大的好处是大的好处是MATLABMATLAB完成了一个开放的系统,用户可完成了一个开放的系统,用户可以方
8、便地看到函数的源程序,也可以方便地开发自以方便地看到函数的源程序,也可以方便地开发自己的程序,甚至创建自己的己的程序,甚至创建自己的“库库”。 另外,另外,MATLAB并不并不“排他排他”,MATLAB可以方可以方便地与便地与FORTRAN、C语言进行连接,以充分利用各语言进行连接,以充分利用各种资源。用户只需将已有的种资源。用户只需将已有的EXE文件转换成文件转换成MEX文件,文件,就可以方便地调用有关程序和子程序。就可以方便地调用有关程序和子程序。 8(4)编程易、效率高)编程易、效率高 从形式上看,从形式上看,MATLAB程序文件是一个纯文本程序文件是一个纯文本文件,扩展名为文件,扩展名
9、为M。用任何字处理软件都可以对它。用任何字处理软件都可以对它进行编写和修改,因此程序易调试,人机交换型强。进行编写和修改,因此程序易调试,人机交换型强。 另外,另外,MATLAB6.5也具有比较健全的调试系统,也具有比较健全的调试系统,调试方便、简单。调试方便、简单。 92、 MATLAB的发展历史的发展历史 在在20世纪世纪70年代年代,Cleve Moler和其同事在美国国和其同事在美国国家科学基金的资助下研究开发了家科学基金的资助下研究开发了LINPACK和和EISPACK的的Fortran子程序库,这两个程序库代表着当时矩阵计子程序库,这两个程序库代表着当时矩阵计算的最高水平。算的最高
10、水平。 到到20世纪世纪70年代后期年代后期,身为墨西哥大学计算机科,身为墨西哥大学计算机科学系系主任的学系系主任的Cleve Moler,在给学生开线性代数课程时,在给学生开线性代数课程时,他开始用业余时间为学生编写使用方便的他开始用业余时间为学生编写使用方便的LINPACK和和EISPACK的接口程序。的接口程序。Cleve Moler给这个接口程序取给这个接口程序取名为名为MATLAB,意思是,意思是“矩阵实验室矩阵实验室”。10 不久以后,不久以后,MATLAB受到了学生的普遍欢迎,并受到了学生的普遍欢迎,并且,且,MATLAB也成了应用数学界的一个术语。也成了应用数学界的一个术语。
11、1983年年早春,早春,Cleve Moler到斯坦福大学访问,到斯坦福大学访问,身为工程师的身为工程师的John Little意识到意识到MATLAB潜在的广潜在的广阔应用领域应在工程计算方面,于是在同年,他与阔应用领域应在工程计算方面,于是在同年,他与Moler、Steve Bangert一起合作开发了第二代专业版一起合作开发了第二代专业版MATLAB。从这一代开始,。从这一代开始,MATLAB的核心就采用的核心就采用C语言编写。也是从这一代开始,语言编写。也是从这一代开始,MATLAB不仅具不仅具有数值计算功能,而且具有了数据可视化功能。有数值计算功能,而且具有了数据可视化功能。 11
12、1984年年,Mathworks公司成立,把公司成立,把Matlab推向了推向了市场,并继续市场,并继续Matlab的研制和开发。的研制和开发。Matlab在市场在市场上的出现,为各国科学家开发本学科相关软件提供上的出现,为各国科学家开发本学科相关软件提供了基础。了基础。 1993年年,Matlab的第一个的第一个Windows版本版本Matlab3.5k问世,同年,支持问世,同年,支持Windows3.x的的Matlab4.0版本推出,版本推出,同以前的版本比起来同以前的版本比起来4.0版本作了很大的改进,如增加版本作了很大的改进,如增加了了Simulink( (动态仿真动态仿真)/)/Co
13、ntrol/Network/Optimization/ Signal Processing/Spline/Identification/Robust Control/ Mu-analysis and synthesis(Mu分析与合成)等工具箱。分析与合成)等工具箱。 12 1993年年11月月,Matnworks公司又推出了公司又推出了Matlab4.1版本,首次开发了版本,首次开发了Symbolic Math符号运算工具箱。符号运算工具箱。其升级版本其升级版本Matlab4.2在用户中有着广泛的应用。在用户中有着广泛的应用。 1997年年,Matlab5.0版本问世了相对于版本问世了相对于
14、Matlab4.x版本来说,版本来说,它可以说是一个飞跃;真正的它可以说是一个飞跃;真正的32位运算,功能强大,数值计算位运算,功能强大,数值计算加快,图形表现有效,变成简洁直观,用户界面十分友好。加快,图形表现有效,变成简洁直观,用户界面十分友好。 2000年下半年年下半年,Mathworks公司推出了他们的最公司推出了他们的最新产品新产品Matlab6.0( (R12)的试用版的试用版, ,并于并于2001年初推出年初推出了正式版了正式版, ,同前面的版本对比起来同前面的版本对比起来, ,Matlab6.0在在Matlab5.x 的基础上这种在计算速度上作了比较大的的基础上这种在计算速度上
15、作了比较大的改善,计算速度有了明显的提高。改善,计算速度有了明显的提高。133、MATLAB6.x的新特点的新特点 与与MATLAB5.x版本相比较,版本相比较,MATLAB6.x 版本在版本在各个方面都进行了较大的改进和增补,增加了许多新各个方面都进行了较大的改进和增补,增加了许多新功能和更为有效的处理方法,甚至在整个系统的结构功能和更为有效的处理方法,甚至在整个系统的结构上也作了很大的改进。上也作了很大的改进。 (1). .开发环境扩展开发环境扩展 (2). 数值处理功能增强数值处理功能增强 (3). .程序及数据结构程序及数据结构 优化优化(4)图形处理)图形处理 (5)用户图形界面)用
16、户图形界面 (6)应用程序接口)应用程序接口 144 4、MATLAB6.x的桌面平台的桌面平台(1). Matlab的主窗口的主窗口 (2). 命令窗口命令窗口(3). 历史窗口历史窗口 (4). 当前目录窗口当前目录窗口 (5). 发行说明窗口发行说明窗口 (6). 工作间管理窗口工作间管理窗口 154 4、MATLAB6.5的帮助系统的帮助系统1联机帮助系统:按下主窗口的?及联机帮助系统:按下主窗口的?及Help下拉菜下拉菜 单的前四项。单的前四项。2命令窗口查询系统:命令窗口查询系统: help,help+函数名,函数名,lookfor函数。函数。3联机演示系统联机演示系统 基本介绍窗
17、口:基本介绍窗口:intro; 演示界面:演示界面:demo. 165 5、常用的命令与技巧、常用的命令与技巧dir: 显示目录下文件显示目录下文件type: 显示文件内容显示文件内容clear: 清理内存变量清理内存变量pack: 收集内存碎片,扩大内存空间收集内存碎片,扩大内存空间clc: 清除工作窗口清除工作窗口 例例1.21.2南半球气旋流的曲面图:南半球气旋流的曲面图:photo1.m,photo2.m。 17二、二、MATLABMATLAB的数值计算功能的数值计算功能1、Matlab的数据类型的数据类型(1). 变量变量(2). 常量常量pi=3.1415926, i, j= ,
18、eps=10-52 , inf: 无穷大。无穷大。1 变量名以字母开头,长度不超过变量名以字母开头,长度不超过31位,区分大小写。位,区分大小写。(3)数字变量数字变量 258*123; x=258*123. 注意:加分号不显示结果,不加分号显示结果。注意:加分号不显示结果,不加分号显示结果。 (4). 字符串字符串 s=matrix laboratory size(s) s(4)(5)向量与矩阵向量与矩阵 18演示演示1:jisuan01.m 例例2.1 要求计算水在要求计算水在0 00 0C C、20200 0C C、40400 0C C、60600 0C C、80800 0C C的的粘度
19、,已知水的粘度随温度的变化公式为粘度,已知水的粘度随温度的变化公式为 ,其中其中0 0为水在为水在0 00 0C C的粘度的粘度, ,在在0 00 0C C值为值为.785.7851010-3-3 。 201btat 192、向量及其运算、向量及其运算(1)向量的生成向量的生成 (i). 直接输入向量:直接输入向量: a=1 2 3 4 b=2,1,4,5 c=1;2;3;4 (ii). 利用冒号表达式生成向量利用冒号表达式生成向量 a=1:2:12,b=1:6,c=12:-2:1 (iii). 线性等分向量的生成线性等分向量的生成 y=linspace(x1,x2) 生成生成100维的行向量
20、维的行向量 y=linspace(x1,x2,n) 生成生成n维的行向量维的行向量 20(2)向量的加、减、数乘、点乘、叉乘等运算向量的加、减、数乘、点乘、叉乘等运算已知向量已知向量a=a1, a2, a3、b=b1, b2, b3,则有,则有数量加法:数量加法:a+2=a1+2, a2+2, a3+2;数量减法:数量减法:a-2=a1-2, a2-2, a3-2;数乘向量:数乘向量:a*2=a1*2, a2*2, a3*2;向量加法:向量加法:a+b=a1+b1, a2+b2, a3+b3;向量减法:向量减法:a-b=a1-b1, a2-b2, a3-b3;向量相乘:向量相乘:a.*b=a1
21、*b1, a2*b2, a3*b3;向量右除:向量右除:a./b=a1/b1, a2/b2, a3/b3; 向量左除向量左除: a.b=b1/a1, b2/a2, b3/a3;21点乘运算:点乘运算:dot(a,b)=a1*b1+a2*b2+a3*b3, sum(a.*b)= a1*b1+a2*b2+a3*b3;向量混合积:向量混合积: dot(a,cross(b,c) 演示演示0:在命令窗口演示向量的各种运算。:在命令窗口演示向量的各种运算。 向量乘幂:向量乘幂:a.2=a12, a22, a33; 2.a=2a1, 2a2, 2a3 a.b=a1b1, a2b2, a3b3 223矩阵的运
22、算矩阵的运算(1). 矩阵的生成矩阵的生成 在命令窗口直接键入:在命令窗口直接键入:A=1 2 3;4 5 6;7 8 9; 用用M文件输入大型矩阵文件输入大型矩阵A=10 12 32 41 52 63;21 23 45 67 78 43;21 34 90 89 67 54 演示演示1:juzhen01.m,注意矩阵的输入法,及行数、注意矩阵的输入法,及行数、列数的确定函数列数的确定函数size(A), size(A,1)行数行数, ,size(A,2)列数。列数。 A=10 12 32 41 52 63 21 23 45 67 78 43 21 34 90 89 67 54 或者或者 23(
23、2). 矩阵的基本运算矩阵的基本运算矩阵加法矩阵加法: A+B、 A+a; 矩阵减法矩阵减法: A-B 、A-a; 数乘矩阵:数乘矩阵:A*2; 矩阵相乘:矩阵相乘:A*B,注意匹配:注意匹配:A的列数等于的列数等于B的行数的行数; 矩阵左除矩阵左除: AB, 注意匹配:注意匹配:A的行数等于的行数等于B的行的行数,用于解线性方程组(恰定、超定、欠定方程数,用于解线性方程组(恰定、超定、欠定方程组)、矩阵方程组组)、矩阵方程组; 矩阵右除:矩阵右除:A/B,注意匹配:注意匹配:A的列数等于的列数等于B的列的列数(用法同上)数(用法同上); 矩阵乘幂:矩阵乘幂:A2,注意匹配:注意匹配:A必须为
24、方阵必须为方阵; 24(3). 矩阵的其它运算矩阵的其它运算 zeros(m,n): m行行n列的零矩阵列的零矩阵 ones(m,n): m行行n列的全矩阵列的全矩阵 eye(n): n阶单位矩阵阶单位矩阵 rand(m,n): m行行n列的均匀分布的随机数矩阵列的均匀分布的随机数矩阵 randn(m,n ):m行行n列的均匀分布的随机数矩阵列的均匀分布的随机数矩阵 det(A): 矩阵的行列式矩阵的行列式 inv(A): 矩阵求逆矩阵求逆 rank(A): 矩阵求秩矩阵求秩 trace(A): 矩阵的迹矩阵的迹 25 d=eig(A): 矩阵的特征值矩阵的特征值 v,d=eig(A): 矩阵
25、的特征值及特征向量矩阵的特征值及特征向量 poly(A):矩阵的特征多项式:矩阵的特征多项式 cond(A): 矩阵的条件数矩阵的条件数 cond(X,p): 向量或矩阵的范数,向量或矩阵的范数,p=1,2,inf; 演示:演示:juzhen02.m,各种运算。各种运算。26(4). 矩阵的分解与变换矩阵的分解与变换 L,U=lu(A): LU三角分解,用于非奇异的一般矩阵,三角分解,用于非奇异的一般矩阵,L为为 下三角阵,下三角阵,U为上三角阵,为上三角阵,A=LU。 U=chol(A): 实对乘矩阵的平方根分解,实对乘矩阵的平方根分解,U为上三角阵。为上三角阵。 Q,R=qr(A):是对称
26、矩阵的是对称矩阵的qr分解,分解,Q为正交阵,为正交阵,R为上为上 三角阵,三角阵,A=QR。 U,S,V=svd(A):更一般矩阵的奇异值分解,更一般矩阵的奇异值分解,A为为m*n矩阵,矩阵, A=USV。 tril(A): 提取矩阵主下三角部分提取矩阵主下三角部分 tril(A,k): 提取矩阵的第提取矩阵的第k条对角线(包括第条对角线(包括第k条对角线)条对角线)下面的部分,下面的部分,k为正值为上方对角线,为正值为上方对角线,k为负值为下方对为负值为下方对角线。角线。 27 triu(A): 提取矩阵主上三角部分提取矩阵主上三角部分 triu(A,k): 提取矩阵的第提取矩阵的第k条对
27、角线(包括第条对角线(包括第k条对角线)上面的部分,条对角线)上面的部分,k为正值为下方对角线,为正值为下方对角线,k为负值为上方对角线。为负值为上方对角线。 演示演示3:juzhen03.m,练习以上各种运算。练习以上各种运算。 (1). 求方阵的行列式、逆矩阵、广义逆求方阵的行列式、逆矩阵、广义逆 (2). 求方阵的特征值、特征向量、特征多项式求方阵的特征值、特征向量、特征多项式 (3). 矩阵的各种分解矩阵的各种分解: :上三角、下三角、平方根、正上三角、下三角、平方根、正交分解交分解 28例例2.2 用矩阵除法求解超定方程用矩阵除法求解超定方程 ybax )1(2x=19 25 31
28、38 44, y=19 32.3 49 73.3 97.8,求出求出a,b. 解:这是一个超定方程组:解:这是一个超定方程组:Ax=y ,A=(x2,1) , , 。建立。建立m文件实现计算。文件实现计算。 bax演示演示4:juzhen04.m294、多项式及其运算、多项式及其运算(1). 多项式的表示法多项式的表示法 对于多项式对于多项式 pn(x)=a0 xn+a1xn-1+.+an-1x+an ,用以下用以下的行向量表示:的行向量表示:p=a0,a1,an-1,an.(i). 系数多项式的直接输入法系数多项式的直接输入法 例如:例如:p3(x)=x3-5x2+6x-33,输入:,输入:
29、 p=1 5 6 33 ; p3=poly2sym(p): 给出多项式的具体形式。给出多项式的具体形式。 (ii). 特征多项式输入法特征多项式输入法 例如:例如:a=1 2 3;2 3 4;3 4 5 p=poly(a) p3=poly2sym(p)30(iii). 由根创建多项式由根创建多项式 例如:例如:p=1 11 55 125 x=-2 y=polyval(p,x)(2). 多项式运算多项式运算 (i). 求多项式的值:求多项式的值: y=polyval(p,x) 例如:例如:root=-5,-3+4i,-3-4i p=poly(root) p3=poly2sym(p)31(ii).
30、 求多项式的根:求多项式的根: root(p) 例如:例如:p=2 5 6 1 9 roots(p) 例如:例如: p1=1 5 6 1 9; poly2sym(p1) p2=3 90 -18; poly2sym(p2) p12=conv(p1,p2) poly2sym(p12) p3=deconv(p12,p2) (iii). 求多项式的乘除法运算求多项式的乘除法运算:conv(p1,p2), deconv(p1,p2)32(iV). 多项式微分:多项式微分: polyder(p) polyfit(x,y,n) 其中其中x、y为拟合数据,为拟合数据,n为拟和多项式的阶数。为拟和多项式的阶数。
31、 例如:例如: p=1 5 6 1 9; p4=poly2sym(p) Dp=polyder(p) P3=poly2sym(Dp)(V). 多项式拟合多项式拟合33 例例2.3:2.3:用用5阶多项式对阶多项式对 上的正弦函数进行最上的正弦函数进行最小二乘拟合小二乘拟合2,0 x=0:pi/20:pi/2; y=sin(x); p=polyfit(x,y,5) x1=0:pi/30:2*pi; y1=sin(x1); y2=polyval(p,x1) plot(x1,y1,-b,x1,y2,*r) legend(原曲线原曲线,拟合曲线拟合曲线) axis(-0.2,6.5,-1.2,1.2)演
32、示演示5: poly01.m34(5) (5) 其它算例其它算例 执行字符串执行字符串用用 eval 函数生成四阶的函数生成四阶的Hilbert函数函数n=4;t=1/(i+j-1);a=zeros(n);for i=1:n for j=1:n a(i,j)=eval(t); endend35(6). 上机练习题上机练习题 1. 对于给定数据对于给定数据x=0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,计算计算如下函数值如下函数值 。2ln1xxxy 2. 给定矩阵给定矩阵 2010411063143211111A(1).计算矩阵行列式的值计算矩阵行列式的值(2).计算矩阵的逆计
33、算矩阵的逆(3).计算矩阵的秩、特方程计算矩阵的秩、特方程(4).计算矩阵的特征值、特征向量计算矩阵的特征值、特征向量(5).计算矩阵的条件数计算矩阵的条件数(6).对矩阵进行对矩阵进行LU分解分解363. 对于对于 2010411063143211111A 0101b解方程组解方程组Ax=b。 4. 对于离散数据对于离散数据 P=1 2 3 2 4 1 2,试拟合三次多试拟合三次多项式项式, (1).求出该多项式的具体表达形式。求出该多项式的具体表达形式。 (2).求出该多项式的根。求出该多项式的根。 (3). 求出该多项式在求出该多项式在x=2.5处的值。处的值。 (4). 求出该多项式的
34、微分。求出该多项式的微分。 5. 对于向量对于向量 a=1 2 3 , b=2 4 1,c=2,1,3,试求试求 (1). a与与b的向量积。的向量积。 (2). a、b、c的混合积。的混合积。 37三、三、MATLAB的符号运算功能的符号运算功能1. 符号表达式的生成符号表达式的生成(1). 创建符号函数创建符号函数 f=log(x)(2). 创建符号方程创建符号方程 equation=a*x2+b*x+c=0(3). 创建符号微分方程创建符号微分方程 diffeq=Dy-y=x(4). 用用sym命令来创建命令来创建 f=sym(sin(x) f=sym(a*x2+b*x+c=0)(5).
35、 用用sym命令创建的另一种方式命令创建的另一种方式 syms x f=sin(x)+cos(x) 382. 符号与数值之间的转换符号与数值之间的转换 符号运算得到的是精确解符号运算得到的是精确解,有时候要对得到的解析解有时候要对得到的解析解进行数值转换。主要有三个函数进行数值转换。主要有三个函数: digits, vpa, Subs: 变量替换函数变量替换函数.Digits(D): 函数设置有效数字个数为函数设置有效数字个数为D的近似解精度的近似解精度. Vpa(s) : 符号表达式符号表达式s在在digits函数设置下的精度的函数设置下的精度的 近似解近似解.Vpa(s,D) : 符号表达
36、式符号表达式s在在digits(D)精度下的精度下的 近似解近似解.Subs(s,old,new): 将符号表达式中将符号表达式中 old 的换成的换成new变量变量.Numeric(s): 将不含自由变量的符号表达式转换成数将不含自由变量的符号表达式转换成数 值形式值形式.39例例3. 1 符号运算符号运算1. 解方程解方程: 3*x-1=0 s=solve(3*x-1=0) :解析解解析解 digits(10) :设置设置10位有效数字位有效数字 x=vpa(s) :10位有效数字解析解位有效数字解析解 or x=vpa(s,20) :20位有效数字解析解位有效数字解析解 numeric(
37、s) :将解析解转换成数值解将解析解转换成数值解 2. 变量替换变量替换 x=sym(x) f=x-cos(x) f1=subs(f, x, pi) t=sym(t) f1=subs(f,x,t) 3. 解方程解方程 x2-ex = 0 s=solve(x2-exp(x)=0) x=vpa(s) 403. 符号函数的运算符号函数的运算(1). 复合函数的运算复合函数的运算: compose compose(f,g) %以以g的自变量为自变量的自变量为自变量 compose(f,g,z) %以以z为自变量为自变量 compose(f,g,x,z) % x为为f的自变量的自变量,g替换替换x,并将
38、并将 g的自变量换为的自变量换为z compose(f,g,t,z) % t为为f的自变量的自变量,g替换替换t,并将并将 g的自变量换为的自变量换为z compose(f,g,x,y,z) % x为为f的自变量的自变量,y为为g的自的自 变量变量, g替换替换x, z替换替换y41例例3.2 f=1/(1+x2) g=sin(y) h=xt p=exp(-y/u)命令命令: syms x y t u z; compose(f,g) compose(f,g,t) compose(h,g,x,z) compose(h,g,t,z) compose(h,p,x,y,z) compose(h,p,t
39、,u,z) 演示演示1: fuhao01.m 42反函数的运算反函数的运算: inverse g=finverse(f) g=finverse(f,z) 例例3.3: syms x,y; f=x3+1 y=finverse(f)例例3.4: f=x2+y g=finverse(f,y)434. 符号矩阵的创立符号矩阵的创立 (1). 用用sym函数直接创建符号矩阵函数直接创建符号矩阵 a=sym(1/(s+x),sin(x) ,cos(x)2/(b+x); 9, exp(x2+y2), log(tanh(y) (2).将数值矩阵转化为符号矩阵将数值矩阵转化为符号矩阵(在在Matlab中中,数值
40、矩数值矩阵不能直接参与符号运算,必须先转化为符号矩阵。阵不能直接参与符号运算,必须先转化为符号矩阵。不论数值矩阵的元素是用分数还是用浮点数表示,转不论数值矩阵的元素是用分数还是用浮点数表示,转化后的符号矩阵都将以最接近的精确有利形式给出。化后的符号矩阵都将以最接近的精确有利形式给出。) b=2/3,sqrt(2),0.222;1.4,1/0.23,log(3) c=syms(b)演示演示2: fuhao02.m445.符号矩阵的计算符号矩阵的计算(1). 符号矩阵的四则运算符号矩阵的四则运算 a=sym(1/x,1/(x+1);1/(x+2),1/(x+3) b=sym(x,1;x+2,0)
41、c=a+b d=ab e=det(a) f=inv(b) g=rank(a) h=exp(b) 演示演示: fuhao022.m45(2).矩阵分解矩阵分解 特征值分解函数特征值分解函数 b=sym(x,1;x+2,0) x,y=eig(b)三角抽取函数三角抽取函数 a=sym(1/x,1/(x+1);1/(x+2),1/(x+3) D=diag(a) U=triu(a) L=tril(a,-1)符号表达式的符号表达式的“秦秦 九韶型九韶型”重写重写 p=sym(x3-6*x2+11*x-6) p3=horner(p)466. 符号微积分符号微积分(1). 符号极限符号极限 limit(f,x
42、,a) % f 在在 xa 时的极限时的极限 limit(f) % f 在在 x0 时的极限时的极限 limit(f,x,a,right) % 右极限右极限 limit(f,x,a,left) % 左极限左极限例例6.1: syms x t ; %必须首先输入必须首先输入 limit(sin(x)/x) limit(1+2*t/x)(3*x),x,inf) limit(1+2*t/x)(3*x),x,inf) limit(1/x,x,0,right) limit(sqrt(x),x,0,left) 47(2). 符号积分符号积分不定积分不定积分 f1=int(cos(x) %关于关于x积分积分
43、 f2=int(cos(x*t),t) %关于关于t积分积分定积分定积分 x=int(x2,0,1)符号合计函数符号合计函数 symsum syms k n; x= symsum(k2,0,10) % 求表达式从求表达式从0到到10的和的和 f=simple(symsum(k2,0,n) %和的最简形式和的最简形式48(3). 符号微分符号微分(i). 微分函数微分函数 diff syms x y; diff(sin(x2) %求函数的一阶导数求函数的一阶导数 diff(sin(x*y),x) diff(x4,3) diff(sin(x*y),x,2) %关于关于x求二阶导数求二阶导数(ii)
44、. 梯度函数梯度函数 gradient 演示演示3: fuhao03.m497. 符号代数方程求解符号代数方程求解(1). 线性方程组的符号解法线性方程组的符号解法 linsolve a=sym(10 1 0;-1 10 2;0 2 10); b=sym(9;7;6); x=linsolve(a,b) %求得解析解求得解析解 x1=vpa(x) %转化为数值解转化为数值解演示演示4: fuhao04.m or a=10 1 0;-1 10 2;0 2 10; b=9;7;6; x=sym(a)sym(b) %求得解析解求得解析解 x1=vpa(x) %转化为数值解转化为数值解演示演示5: fu
45、hao05.m50(2). 非线性方程组的符号解法非线性方程组的符号解法 (i). 非线性方程求解非线性方程求解: solve(fun),求得解析解求得解析解 x=solve(x2+3*x+4=0) %得解析解得解析解 x1=vpa(x,6) %化为数值解化为数值解 (ii). 非线性方程组求解非线性方程组求解 fsolve(fun,x0) fun由由M文件给出函数文件给出函数, x0为初值为初值,是一种迭代解法是一种迭代解法. 例例7.1 解非线性方程组解非线性方程组 先编写先编写M文件文件fc.m, 再用再用fsolve调用调用fc. 演示演示6: fc.m and fuhao06.m 0
46、sin2 . 07 . 00cos2 . 0sin7 . 0112211xconxxxxx518. 符号常微分方程求解符号常微分方程求解 求解常微分方程的解析解求解常微分方程的解析解,用函数用函数 dsolve(equation) 例例8.1 : dsolve(Dx=-a*x) %Dx=dx/dt desolve(D2x=-a*x) 例例8.2 : 解常微分方程组解常微分方程组演示演示7: fuhao07.m 0)0(,0)0(,0)0(,wudtdwvwdtdvuvdtdu529. 符号函数的二维图符号函数的二维图(1). 符号函数的简易绘图函数符号函数的简易绘图函数 ezplot ezpl
47、ot(f) %绘制绘制f(x)的函数图的函数图, x的范围的范围-2pi, 2pi ezplot(f, xmin,xmax) % x的范围为的范围为xmin,xmax例如例如: ezplot(sin(x) or ezplot sin(x) ezplot(sin(x),0,2*pi)(2). 绘制函数图函数绘制函数图函数 fplot fplot(fun,lims) %fun为为M文件的函数名或是对文件的函数名或是对 变量变量x的可执行字符串的可执行字符串. fplot(fun,lims,n) %n-线条的宽度线条的宽度 fplot(fun,lims,LinSpec) %LinSpec线条的类型线
48、条的类型演示演示8: fuhao08.m53四、四、 MATLAB的图形处理功能的图形处理功能1. 二维图形二维图形(1).基本绘图命令基本绘图命令(i).当当plot函数仅有一个输入变量时函数仅有一个输入变量时y=132422.51;plot(y)%以以y的索引坐标为横坐标画图的索引坐标为横坐标画图y=rand(100,1);%100*1维的随机数维的随机数plot(y)%绘制随机数的图形绘制随机数的图形x=rand(100,1);y=rand(100,1);z=x+y.*i;plot(z)%以实部为横坐标以实部为横坐标,虚部为纵坐标绘图虚部为纵坐标绘图54(ii).当当plot函数有两个输
49、入变量时函数有两个输入变量时 x=0:0.01*pi:pi; y=sin(x).*cos(x); plot(x,y)(iii).当当plot函数有三个输入变量时函数有三个输入变量时 plot(x,y,s) % s为图形显示属性选项为图形显示属性选项 例如例如: x=1:0.1*pi:2*pi; y=sin(x); z=cos(x); plot(x,y,-b) plot(x,z,-.rd) 演示演示1: photo01.m55 选选 项项 说说 明明 选选 项项 说说 明明- 实实 线线。 点点: 点点 线线o 园园-. 点划线点划线x x-符号符号- 虚虚 线线+ +号号 y 黄黄 色色* 星
50、号星号m 紫红色紫红色s 方形方形c 蓝黄色蓝黄色d 菱形菱形r 红红 色色v 下三角下三角g 绿绿 色色 上三角上三角b 蓝蓝 色色 右三角右三角k 黑黑 色色p 正五边形正五边形 56(2). 特殊的二维图形函数特殊的二维图形函数 (i). 特殊坐标系的二维图形函数特殊坐标系的二维图形函数 (a). 对数坐标下的图形对数坐标下的图形 semilogx(x,y,s) %以以x为对数坐标为对数坐标 semilogy(x,y,s) %以以y为对数坐标为对数坐标 loglog(x,y) %以以x,y为对数坐标为对数坐标 例如例如:x=1:0.1*pi:2*pi; y=sin(x); semilog
51、x(x,y,*b)演示演示2: photo02.m57 (b). 极坐标系下的图形绘制极坐标系下的图形绘制 函数函数:polar(theta,rho,s)exp:x=0:0.01*pi:4*pi;y=sin(x/2)+x;polar(x,y,-b)58(ii). 二维特殊函数图(下表为二维特殊图形函数)二维特殊函数图(下表为二维特殊图形函数)函数名函数名说说 明明函数名函数名说说 明明area填充绘图填充绘图fplot函数图绘制函数图绘制bar条形图条形图hist直方图直方图barth水平条形图水平条形图pareto图图comet彗星图彗星图pie柄状图柄状图errorbar误差带图误差带图p
52、lotmatrix分散矩阵绘制分散矩阵绘制ezplot简单绘制函数图简单绘制函数图stairs阶梯图阶梯图ezpolar简单绘制极坐标图简单绘制极坐标图scatter散射图散射图feather矢量图矢量图stem离散序列柄状图离散序列柄状图fill多边形填充多边形填充ribbon三维图的二维条三维图的二维条状显示状显示59 例例4.1 绘制条形图、矢量图、函数曲线图、柄状图、绘制条形图、矢量图、函数曲线图、柄状图、等高线图、填充等高线图等高线图、填充等高线图 bar(x,y) feather(x,y) fplot(fun,lim) pie(x, note) contour(z,n) %z为数值
53、矩阵,为数值矩阵,n为等高线条数为等高线条数 contourf(z,n) %填充等高线函数填充等高线函数 演示演示3:photo03.m (注意注意 pause后的山形图原图后的山形图原图)601. 基本绘图命令基本绘图命令 (1). plot3函数函数 格式格式:plot3(x,y) %X是向量或矩阵是向量或矩阵 plot3(x,y,s) plot3(x1,y1,s1,x2,y2,s2,x3,y3,s3) %组合绘图组合绘图 例例2.1:绘制三维螺旋线(向量为参数)绘制三维螺旋线(向量为参数) 三维图形(矩阵为参数)三维图形(矩阵为参数) 演示演示4:photo04.m2. 三维图形三维图形
54、61(2). 网图函数网图函数 (3). 着色函数着色函数 surf(x,y,z,c)例例2.2: mesh 绘制三维面图绘制三维面图 meshc 带等高线的面图、带等高线的面图、 meshz 带屏蔽的面图带屏蔽的面图.演示演示5: photo05.m 函函 数数 名名 说说 明明 mesh 三维网格图三维网格图 meshc 将网格与等高线结合将网格与等高线结合 meshz 屏蔽的网格图屏蔽的网格图 meshgrid 生成网格点生成网格点62特殊的图形函数特殊的图形函数函数名函数名说说 明明函数名函数名说说 明明bar3三维条形图三维条形图surfc着色图等高线结合着色图等高线结合comet3
55、三维彗星轨迹图三维彗星轨迹图trisurf三角形表面图三角形表面图ezgraph3控制绘制三维图控制绘制三维图trimesh三角形网格图三角形网格图pie3三维柄状图三维柄状图waterfall瀑布图瀑布图scatter3三维散射图三维散射图cylinder柱面图柱面图stem3三维离散数据图三维离散数据图sphere球面图球面图例例2.2: 绘制三维饼状图绘制三维饼状图/着色等高线图着色等高线图/三维等高线图三维等高线图/柱面图柱面图/球面图球面图演示演示6: photo06.m631. 图形控制图形控制 坐标轴的控制函数坐标轴的控制函数 axis(xmin,xmax,ymin,ymax)
56、平面的坐标网图函数平面的坐标网图函数 grid on/grid off 2. 图形的标注图形的标注 坐标轴标注坐标轴标注 xlabel(标注标注,属性属性) /ylabel /zlabel 文本标注文本标注 text(x,y, 标注文本及控制字符串标注文本及控制字符串) 交互式文本标注交互式文本标注 gtext 图例标注图例标注 legend(标注标注1,标注标注2)3. 图形的保持与子图图形的保持与子图 hold onhold offsubplot(m,n,p) 演示演示7: photo07.m, photo08.m四四. 图形处理的基本技术图形处理的基本技术64五五. . 图形处理的高级技
57、术图形处理的高级技术1.颜色映像颜色映像图形的一个重要因素就是图形的颜色,对于数值图形的一个重要因素就是图形的颜色,对于数值计算,颜色在图形显示中所起的作用不仅仅是美观,计算,颜色在图形显示中所起的作用不仅仅是美观,主要是它能够提供给用户另外一附加维数主要是它能够提供给用户另外一附加维数第四维。第四维。Matlab采用颜色映像来处理图形颜色,也即采用颜色映像来处理图形颜色,也即RGB色系。该方法在色系。该方法在Matlab语言内的实现是借助于矩阵来语言内的实现是借助于矩阵来完成的,该矩阵为三列矩阵,每一列代表完成的,该矩阵为三列矩阵,每一列代表R(红色红色)、G(绿色绿色)和和B(蓝色蓝色)中的一个颜色,三者综合构成对应中的一个颜色,三者综合构成对应的颜色。下表示一些常用的颜色映像元素。的颜色。下表示一些常用的颜色映
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业决策中情感智能的决策支持作用
- 教育技术驱动的混合式学习模式创新实践
- 重庆水利电力职业技术学院《微生物生理学》2023-2024学年第二学期期末试卷
- 郑州财税金融职业学院《局部解剖学A》2023-2024学年第二学期期末试卷
- 纳米载药技术及其应用讲课件
- 教育技术在提升企业培训效率中的价值
- 湖南第一师范学院《制药设备和制药车间工艺设计》2023-2024学年第二学期期末试卷
- 构建高效未来教室教育技术的探索与实践
- 湖北经济学院《广告创意与设计》2023-2024学年第二学期期末试卷
- 眉山药科职业学院《医学微生物学及检验技术》2023-2024学年第二学期期末试卷
- 衢州2025年浙江衢州市柯城区属事业单位招聘30人笔试历年参考题库附带答案详解
- 2024-2025学年沪教版(五四学制)(2024)初中英语六年级下册(全册)知识点归纳
- DB32T 5082-2025建筑工程消防施工质量验收标准
- 2024年浙江省血液中心招聘工作人员考试真题
- 2017年辽宁省鞍山市中考化学试卷(解析)
- 山东省青岛市莱西市2025年三年级数学第二学期期末复习检测试题含解析
- 电气工程及其自动化毕业设计 基于PLC的机械手控制系统设计
- 江苏省苏州市2025年中考历史考前押题卷(含答案)
- 宜兴市入湖河道综合整治工程报告书
- 学校“1530”安全教育记录表(2024年秋季全学期)
- 管道清淤工程施工方案范本
评论
0/150
提交评论