收藏 分销(赏)

Matlab教案(土木工程专业)省公共课一等奖全国赛课获奖课件.pptx

上传人:w****g 文档编号:4155898 上传时间:2024-08-05 格式:PPTX 页数:71 大小:369.09KB
下载 相关 举报
Matlab教案(土木工程专业)省公共课一等奖全国赛课获奖课件.pptx_第1页
第1页 / 共71页
Matlab教案(土木工程专业)省公共课一等奖全国赛课获奖课件.pptx_第2页
第2页 / 共71页
Matlab教案(土木工程专业)省公共课一等奖全国赛课获奖课件.pptx_第3页
第3页 / 共71页
Matlab教案(土木工程专业)省公共课一等奖全国赛课获奖课件.pptx_第4页
第4页 / 共71页
Matlab教案(土木工程专业)省公共课一等奖全国赛课获奖课件.pptx_第5页
第5页 / 共71页
点击查看更多>>
资源描述

1、第二章第二章 MATLAB介绍介绍一、一、MatlabMatlab使用入门使用入门二、数值计算二、数值计算三、符号运算三、符号运算四、图形处理四、图形处理五、程序设计五、程序设计六、在计算方法中应用六、在计算方法中应用1第1页内容讲解安排内容讲解安排1.1.目标意义目标意义:掌握:掌握Matlab基本使用方法基本使用方法2.2.重重 点点:数值计算、符号运算、图形制作:数值计算、符号运算、图形制作 及程序设计及程序设计3.3.难难 点:点:程序设计程序设计4.4.内容分配:内容分配:第第 2 2 次:次:1 1 Matlab介绍介绍 2 2 Matlab数值计算功效数值计算功效 3 3 Mat

2、lab符号运算功效符号运算功效 4 4 Matlab图形制作功效图形制作功效 5 5 MatlabM文件及程序设计文件及程序设计2第2页一、一、Matlab介绍介绍1 1、Matlab特点特点例例1.1 Lagrange插值:插值:Lagrange.m,Lag.m MATLAB源于源于Matrix Laboratory一词,原意为一词,原意为矩阵试验室。一开始它是一个专门用于矩阵数值计算矩阵试验室。一开始它是一个专门用于矩阵数值计算软件。伴随软件。伴随MATLAB逐步市场化,逐步市场化,MATLAB不但含不但含有了数值计算功效,而且含有了数据可视化功效。有了数值计算功效,而且含有了数据可视化功

3、效。因为MATLAB开放性、易学易用性等特点,MATLAB已成为高校学生、老师、科研人员和工程计算人员最好选择。MATLAB是真正面向二十一世纪科学计算语言。3第3页MATLAB语言主要有以下其它语言不可比拟特点语言主要有以下其它语言不可比拟特点:(1).).功效强大功效强大 MATLAB4.0以上(不包含以上(不包含4.0)各版本,不但在数)各版本,不但在数值计算上保持着相对其它同类软件绝对优势,而且还值计算上保持着相对其它同类软件绝对优势,而且还开发了自己开发了自己符号运算功效符号运算功效。尤其是。尤其是 MATLAB6.0版本在版本在符号运算功效上丝毫不逊于其它各类软件,如符号运算功效上

4、丝毫不逊于其它各类软件,如MathCAD、Mathematica 等。等。只要学会了只要学会了MATLAB,就能够方便地处理诸如矩,就能够方便地处理诸如矩阵变换及运算、多项式运算、微积分运算、线性与非阵变换及运算、多项式运算、微积分运算、线性与非线性方程求解、常微分方程求解、偏微分方程求解、线性方程求解、常微分方程求解、偏微分方程求解、插值与拟合、统计及优化等问题。插值与拟合、统计及优化等问题。4第4页 做过数学计算人都知道,在计算中最难处理就是做过数学计算人都知道,在计算中最难处理就是算法选择,但算法选择,但MATLAB 中许多功效函数都带有算法中许多功效函数都带有算法自适应能力,且算法先进

5、,大大处理了用户后顾之忧自适应能力,且算法先进,大大处理了用户后顾之忧。另外,提供了一套完善图形可视化功效,为用户另外,提供了一套完善图形可视化功效,为用户向他人展示自己计算结果提供了辽阔空间。向他人展示自己计算结果提供了辽阔空间。MATLAB允许用户以数学形式语言编写程序,允许用户以数学形式语言编写程序,比比BASIC语言、语言、FORTRAN语言和语言和C语言等更靠近于书语言等更靠近于书写公式思维方式。写公式思维方式。(2)语言简单)语言简单5第5页 它操作和功效函数指令就是以平时计算机和数学它操作和功效函数指令就是以平时计算机和数学书上一些简单英文单词表示。因为它是用书上一些简单英文单词

6、表示。因为它是用C语言开发,语言开发,它不多几个程序流控制语句同它不多几个程序流控制语句同C语言差异甚微,初学语言差异甚微,初学者很轻易掌握。者很轻易掌握。MATLAB语言帮助系统功效也相当强大,用语言帮助系统功效也相当强大,用户能够方便地查学到想要各种信息。户能够方便地查学到想要各种信息。另外,另外,MATLAB还专门为初学者(包含其中某一个工具还专门为初学者(包含其中某一个工具箱初学者)提供了箱初学者)提供了intro及及demo等演示命令,用户等演示命令,用户能够从中得到兴趣例子及演示。能够从中得到兴趣例子及演示。6第6页(3)扩充能力强、可开发性强)扩充能力强、可开发性强 MATLAB

7、可扩充性和可开发性起着不可估量作可扩充性和可开发性起着不可估量作用。用。MATLABMATLAB本身就像一个解释系统,对其中函数程本身就像一个解释系统,对其中函数程序执行以一个解释执行方式进行,这么最大好处是序执行以一个解释执行方式进行,这么最大好处是MATLABMATLAB完成了一个开放系统,用户能够方便地看到完成了一个开放系统,用户能够方便地看到函数源程序,也能够方便地开发自己程序,甚至创函数源程序,也能够方便地开发自己程序,甚至创建自己建自己“库库”。另外,另外,MATLAB并不并不“排他排他”,MATLAB能够方能够方便地与便地与FORTRAN、C语言进行连接,以充分利用各种语言进行连

8、接,以充分利用各种资源。用户只需将已经有资源。用户只需将已经有EXE文件转换成文件转换成MEX文件,文件,就能够方便地调用相关程序和子程序。就能够方便地调用相关程序和子程序。7第7页(4)编程易、效率高)编程易、效率高 从形式上看,从形式上看,MATLAB程序文件是一个纯文本文程序文件是一个纯文本文件,扩展名为件,扩展名为M。用任何字处理软件都能够对它进行。用任何字处理软件都能够对它进行编写和修改,所以程序易调试,人机交换型强。编写和修改,所以程序易调试,人机交换型强。另外,另外,MATLAB6.5也含有比较健全调试系统,也含有比较健全调试系统,调试方便、简单。调试方便、简单。8第8页2、MA

9、TLAB发展历史发展历史 在在20世纪世纪70年代年代,Cleve Moler和其同事在美国国和其同事在美国国家科学基金资助下研究开发了家科学基金资助下研究开发了LINPACK和和EISPACKFortran子程序库,这两个程序库代表着当子程序库,这两个程序库代表着当初矩阵计算最高水平。初矩阵计算最高水平。到到20世纪世纪70年代后期年代后期,身为墨西哥大学计算机科学,身为墨西哥大学计算机科学系系主任系系主任Cleve Moler,在给学生开线性代数课程时,他在给学生开线性代数课程时,他开始用业余时间为学生编写使用方便开始用业余时间为学生编写使用方便LINPACK和和EISPACK接口程序。接

10、口程序。Cleve Moler给这个接口程序取名给这个接口程序取名为为MATLAB,意思是,意思是“矩阵试验室矩阵试验室”。9第9页 很快以后,很快以后,MATLAB受到了学生普遍欢迎,而且,受到了学生普遍欢迎,而且,MATLAB也成了应用数学界一个术语。也成了应用数学界一个术语。1983年年早春,早春,Cleve Moler到斯坦福大学访问,到斯坦福大学访问,身为工程师身为工程师John Little意识到意识到MATLAB潜在辽阔应用潜在辽阔应用领域应在工程计算方面,于是在同年,他与领域应在工程计算方面,于是在同年,他与Moler、Steve Bangert一起合作开发了第二代专业版一起合

11、作开发了第二代专业版MATLAB。从这一代开始,。从这一代开始,MATLAB关键就采取关键就采取C语言编写。也是从这一代开始,语言编写。也是从这一代开始,MATLAB不但含有不但含有数值计算功效,而且含有了数据可视化功效。数值计算功效,而且含有了数据可视化功效。10第10页 1984年年,Mathworks企业成立,把企业成立,把Matlab推向了推向了市场,并继续市场,并继续Matlab研制和开发。研制和开发。Matlab在市场上在市场上出现,为各国科学家开发本学科相关软件提供了基出现,为各国科学家开发本学科相关软件提供了基础。础。1993年年,Matlab第一个第一个Windows版本版本

12、Matlab3.5k问问世,同年,支持世,同年,支持Windows3.xMatlab4.0版本推出,同以版本推出,同以前版本比起来前版本比起来4.0版本作了很大改进,如增加了版本作了很大改进,如增加了Simulink(动态仿真动态仿真)/)/Control/Network/Optimization/Signal Processing/Spline/Identification/Robust Control/Mu-analysis and synthesis(Mu分析与合成)等工具箱。分析与合成)等工具箱。11第11页 1993年年11月月,Matnworks企业又推出了企业又推出了Matlab

13、4.1版本,首次开发了版本,首次开发了Symbolic Math符号运算工具箱。符号运算工具箱。其升级版本其升级版本Matlab4.2在用户中有着广泛应用。在用户中有着广泛应用。1997年年,Matlab5.0版本问世了相对于版本问世了相对于Matlab4.x版原来说,版原来说,它能够说是一个飞跃;真正它能够说是一个飞跃;真正32位运算,功效强大,数值计算加位运算,功效强大,数值计算加紧,图形表现有效,变成简练直观,用户界面十分友好。紧,图形表现有效,变成简练直观,用户界面十分友好。下六个月,Mathworks企业推出了他们最新产品Matlab6.0(R12)试用版,并于年初推出了正式版,同前

14、面版本对比起来,Matlab6.0在Matlab5.x 基础上这种在计算速度上作了比较大改进,计算速度有了显著提升。12第12页3、MATLAB6.x新特点新特点 与与MATLAB5.x版本相比较,版本相比较,MATLAB6.x 版本在版本在各个方面都进行了较大改进和增补,增加了许多新功各个方面都进行了较大改进和增补,增加了许多新功效和更为有效处理方法,甚至在整个系统结构上也作效和更为有效处理方法,甚至在整个系统结构上也作了很大改进。了很大改进。(1).开发环境扩展开发环境扩展(2).数值处理功效增强数值处理功效增强(3).程序及数据结构程序及数据结构 优化优化(4)图形处理)图形处理(5)用

15、户图形界面)用户图形界面(6)应用程序接口)应用程序接口 13第13页4 4、MATLAB6.x桌面平台桌面平台(1).Matlab主窗口主窗口 (2).命令窗口命令窗口(3).历史窗口历史窗口 (4).当前目录窗口当前目录窗口(5).发行说明窗口发行说明窗口 (6).工作间管理窗口工作间管理窗口 14第14页4 4、MATLAB6.5帮助系统帮助系统1联机帮助系统:按下主窗口?及联机帮助系统:按下主窗口?及Help下拉菜下拉菜 单前四项。单前四项。2命令窗口查询系统:命令窗口查询系统:help,help+函数名,函数名,lookfor函数。函数。3联机演示系统联机演示系统 基本介绍窗口:基本

16、介绍窗口:intro;演示界面:演示界面:demo.15第15页5 5、惯用命令与技巧、惯用命令与技巧dir:显示目录下文件显示目录下文件type:显示文件内容显示文件内容clear:清理内存变量清理内存变量pack:搜集内存碎片,扩大内存空间搜集内存碎片,扩大内存空间clc:去除工作窗口去除工作窗口 例例1.21.2南半球气旋流曲面图:南半球气旋流曲面图:photo1.m,photo2.m。16第16页二、二、MATLABMATLAB数值计算功效数值计算功效1、Matlab数据类型数据类型(1).变量变量(2).常量常量pi=3.1415926,i,j=,eps=10-52,inf:无穷大。

17、无穷大。变量名以字母开头,长度不超出变量名以字母开头,长度不超出31位,区分大小写。位,区分大小写。(3)数字变量数字变量 258*123;x=258*123.注意:加分号不显示结果,不加分号显示结果。注意:加分号不显示结果,不加分号显示结果。(4).字符串字符串 s=matrix laboratory size(s)s(4)(5)向量与矩阵向量与矩阵 17第17页演示演示1:jisuan01.m 例例2.1 要求计算水在要求计算水在0 00 0C C、20200 0C C、40400 0C C、60600 0C C、80800 0C C粘粘度,已知水粘度随温度改变公式为度,已知水粘度随温度改

18、变公式为 ,其中,其中0 0为水在为水在0 00 0C C粘度粘度,在在0 00 0C C值为值为.78510.78510-3-3 。18第18页2、向量及其运算、向量及其运算(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维行向量维行向量 y=linspace(x1,x2,n)生成生成n维行向量维行向量 19第19页(2)向量

19、加、减、数乘、点乘、叉乘等运算向量加、减、数乘、点乘、叉乘等运算已知向量已知向量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*b1,a2*b2,a3*b3;向量右除:向量右除:a./b=a1/b1,a2/b2,a3/b3;向量左除向量左除:a.b=b1/

20、a1,b2/a2,b3/a3;20第20页点乘运算:点乘运算: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 21第21页3矩阵运算矩阵运算(1).矩阵生成矩阵生成 在命令窗口直接键入:在命令窗口直接键入:A=1 2 3;4 5 6;7 8 9;用用M文件输入大型矩阵文件输入大型矩阵A=1

21、0 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 或者或者 22第22页(2).矩阵基本运算矩阵基本运算矩阵加法矩阵加法:A+B、A+a;矩阵减法矩阵减法:A-B、A-a;数乘矩阵:数乘矩阵:A*2;矩阵相乘:矩阵相乘:A*B,注意匹配:注意匹配:

22、A列数等于列数等于B行数行数;矩阵左除矩阵左除:AB,注意匹配:注意匹配:A行数等于行数等于B行数,行数,用于解线性方程组(恰定、超定、欠定方程组)、用于解线性方程组(恰定、超定、欠定方程组)、矩阵方程组矩阵方程组;矩阵右除:矩阵右除:A/B,注意匹配:注意匹配:A列数等于列数等于B列数(使列数(使用方法同上)用方法同上);矩阵乘幂:矩阵乘幂:A2,注意匹配:注意匹配:A必须为方阵必须为方阵;23第23页(3).矩阵其它运算矩阵其它运算 zeros(m,n):m行行n列零矩阵列零矩阵 ones(m,n):m行行n列全矩阵列全矩阵 eye(n):n阶单位矩阵阶单位矩阵 rand(m,n):m行行

23、n列均匀分布随机数矩阵列均匀分布随机数矩阵 randn(m,n):m行行n列均匀分布随机数矩阵列均匀分布随机数矩阵 det(A):矩阵行列式矩阵行列式 inv(A):矩阵求逆矩阵求逆 rank(A):矩阵求秩矩阵求秩 trace(A):矩阵迹矩阵迹 24第24页 d=eig(A):矩阵特征值矩阵特征值 v,d=eig(A):矩阵特征值及特征向量矩阵特征值及特征向量 poly(A):矩阵特征多项式:矩阵特征多项式 cond(A):矩阵条件数矩阵条件数 cond(X,p):向量或矩阵范数,向量或矩阵范数,p=1,2,inf;演示:演示:juzhen02.m,各种运算。各种运算。25第25页(4).

24、矩阵分解与变换矩阵分解与变换 L,U=lu(A):LU三角分解,用于非奇异普通矩阵,三角分解,用于非奇异普通矩阵,L为为 下三角阵,下三角阵,U为上三角阵,为上三角阵,A=LU。U=chol(A):实对乘矩阵平方根分解,实对乘矩阵平方根分解,U为上三角阵。为上三角阵。Q,R=qr(A):是对称矩阵是对称矩阵qr分解,分解,Q为正交阵,为正交阵,R为为上上 三角阵,三角阵,A=QR。U,S,V=svd(A):更普通矩阵奇异值分解,更普通矩阵奇异值分解,A为为m*n矩阵,矩阵,A=USV。tril(A):提取矩阵主下三角部分提取矩阵主下三角部分 tril(A,k):提取矩阵第提取矩阵第k条对角线(

25、包含第条对角线(包含第k条对角线)条对角线)下面部分,下面部分,k为正值为上方对角线,为正值为上方对角线,k为负值为下方对角为负值为下方对角线。线。26第26页 triu(A):提取矩阵主上三角部分提取矩阵主上三角部分 triu(A,k):提取矩阵第提取矩阵第k条对角线(包含第条对角线(包含第k条对条对角线)上面部分,角线)上面部分,k为正值为下方对角线,为正值为下方对角线,k为负值为负值为上方对角线。为上方对角线。演示演示3:juzhen03.m,练习以上各种运算。练习以上各种运算。注意掌握矩阵运算以下主要命令:注意掌握矩阵运算以下主要命令:注意掌握矩阵运算以下主要命令:注意掌握矩阵运算以下

26、主要命令:(1).求方阵行列式、逆矩阵、广义逆求方阵行列式、逆矩阵、广义逆 (2).求方阵特征值、特征向量、特征多项式求方阵特征值、特征向量、特征多项式 (3).矩阵各种分解矩阵各种分解:上三角、下三角、平方根、正交上三角、下三角、平方根、正交分解分解 27第27页例例2.2 用矩阵除法求解超定方程用矩阵除法求解超定方程 x=19 25 31 38 44,y=19 32.3 49 73.3 97.8,求出求出a,b.解:这是一个超定方程组:解:这是一个超定方程组:Ax=y ,A=(x2,1),。建立。建立m文件实现计算。文件实现计算。演示演示4:juzhen04.m28第28页4、多项式及其运

27、算、多项式及其运算(1).多项式表示法多项式表示法 对于多项式对于多项式 pn(x)=a0 xn+a1xn-1+.+an-1x+an,用以用以下行向量表示:下行向量表示:p=a0,a1,an-1,an.(i).系数多项式直接输入法系数多项式直接输入法 比如:比如:p3(x)=x3-5x2+6x-33,输入:,输入: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)29第29页(iii).由根创建多项式由根创建多项

28、式 比如:比如: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)30第30页(ii).求多项式根:求多项式根: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).求

29、多项式乘除法运算求多项式乘除法运算:conv(p1,p2),deconv(p1,p2)31第31页(iV).多项式微分:多项式微分:polyder(p)polyfit(x,y,n)其中其中x、y为拟合数据,为拟合数据,n为拟和多项式阶数。为拟和多项式阶数。比如:比如:p=1 5 6 1 9;p4=poly2sym(p)Dp=polyder(p)P3=poly2sym(Dp)(V).多项式拟合多项式拟合32第32页 例例2.3:2.3:用用5阶多项式对阶多项式对 上正弦函数进行最小二上正弦函数进行最小二乘拟合乘拟合 x=0:pi/20:pi/2;y=sin(x);p=polyfit(x,y,5)

30、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)演示演示5:poly01.m33第33页(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);endend34第34页(6).上机练习题上机练习题 1.对于给定数据对于给定数据x=0.5,1,1

31、.5,2,2.5,3,3.5,4,4.5,5,计算计算以下函数值以下函数值 。2.给定矩阵给定矩阵(1).计算矩阵行列式值计算矩阵行列式值(2).计算矩阵逆计算矩阵逆(3).计算矩阵秩、特方程计算矩阵秩、特方程(4).计算矩阵特征值、特征向量计算矩阵特征值、特征向量(5).计算矩阵条件数计算矩阵条件数(6).对矩阵进行对矩阵进行LU分解分解35第35页3.对于对于解方程组解方程组Ax=b。4.对于离散数据对于离散数据 P=1 2 3 2 4 1 2,试拟合三次多试拟合三次多项式项式,(1).求出该多项式详细表示形式。求出该多项式详细表示形式。(2).求出该多项式根。求出该多项式根。(3).求出

32、该多项式在求出该多项式在x=2.5处值。处值。(4).求出该多项式微分。求出该多项式微分。5.对于向量对于向量 a=1 2 3,b=2 4 1,c=2,1,3,试求试求 (1).a与与b向量积。向量积。(2).a、b、c混合积。混合积。36第36页三、三、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*x

33、2+b*x+c=0)(5).用用sym命令创建另一个方式命令创建另一个方式 syms x f=sin(x)+cos(x)37第37页2.符号与数值之间转换符号与数值之间转换 符号运算得到是准确解符号运算得到是准确解,有时候要对得到解析解有时候要对得到解析解进行数值转换。主要有三个函数进行数值转换。主要有三个函数:digits,vpa,Subs:变量替换函数变量替换函数.Digits(D):函数设置有效数字个数为函数设置有效数字个数为D近似解精度近似解精度.Vpa(s):符号表示式符号表示式s在在digits函数设置下精度函数设置下精度 近似解近似解.Vpa(s,D):符号表示式符号表示式s在在

34、digits(D)精度下精度下 近似解近似解.Subs(s,old,new):将符号表示式中将符号表示式中 old 换成换成new变量变量.Numeric(s):将不含自由变量符号表示式转换成数将不含自由变量符号表示式转换成数 值形式值形式.38第38页例例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(s):将解析解转换成数值解将解析解转换成

35、数值解 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)39第39页3.符号函数运算符号函数运算(1).复合函数运算复合函数运算:compose compose(f,g)%以以g自变量为自变量自变量为自变量 compose(f,g,z)%以以z为自变量为自变量 compose(f,g,x,z)%x为为f自变量自变量,g替换替换x,并将并将 g自变量换为自变量换为z compose(f,g,t,z)%t为为f自变量自变量,g

36、替换替换t,并将并将 g自变量换为自变量换为z compose(f,g,x,y,z)%x为为f自变量自变量,y为为g自自 变量变量,g替换替换x,z替换替换y40第40页例例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,u,z)演示演示1:fuhao01.m 41第41页2.反函数运算反函数运算:inverse3.g=finverse(f)4.g=

37、finverse(f,z)例例3.3:syms x,y;f=x3+1 y=finverse(f)例例3.4:f=x2+y g=finverse(f,y)42第42页4.符号矩阵创建符号矩阵创建 (1).用用sym函数直接创建符号矩阵函数直接创建符号矩阵 a=sym(1/(s+x),sin(x),cos(x)2/(b+x);9,exp(x2+y2),log(tanh(y)(2).将数值矩阵转化为符号矩阵将数值矩阵转化为符号矩阵(在在Matlab中中,数值矩数值矩阵不能直接参加符号运算,必须先转化为符号矩阵。阵不能直接参加符号运算,必须先转化为符号矩阵。不论数值矩阵元素是用分数还是用浮点数表示,转

38、化不论数值矩阵元素是用分数还是用浮点数表示,转化后符号矩阵都将以最靠近准确有利形式给出。后符号矩阵都将以最靠近准确有利形式给出。)b=2/3,sqrt(2),0.222;1.4,1/0.23,log(3)c=syms(b)演示演示2:fuhao02.m43第43页5.符号矩阵计算符号矩阵计算(1).符号矩阵四则运算符号矩阵四则运算 a=sym(1/x,1/(x+1);1/(x+2),1/(x+3)b=sym(x,1;x+2,0)c=a+b d=ab e=det(a)f=inv(b)g=rank(a)h=exp(b)演示演示:fuhao022.m44第44页(2).矩阵分矩阵分解解 特征值分解函

39、数特征值分解函数 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)45第45页6.符号微积分符号微积分(1).符号极限符号极限 limit(f,x,a)%f 在在 xa 时极限时极限 limit(f)%f 在在 x0 时极限时极限 limit(f,x,a,right)%右极限右极限 limit(f,x,a,left)%左极限

40、左极限例例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)46第46页(2).符号积分符号积分不定积分不定积分 f1=int(cos(x)%关于关于x积分积分 f2=int(cos(x*t),t)%关于关于t积分积分定积分定积分 x=int(x2,0,1)符号累计函数符号累计函数 symsum syms k n;x=symsum(k2,0,10)%求表示式从求表示式从0到

41、到10和和 f=simple(symsum(k2,0,n)%和最简形式和最简形式47第47页(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).梯度函数梯度函数 gradient 演示演示3:fuhao03.m48第48页7.符号代数方程求解符号代数方程求解(1).线性方程组符号解法线性方程组符号解法 linsolve a=sym(10 1 0;-1 10 2;0 2 10);b=sy

42、m(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:fuhao05.m49第49页(2).非线性方程组符号解法非线性方程组符号解法 (i).非线性方程求解非线性方程求解:solve(fun),求得解析解求得解析解 x=solve(x2+3*x+4=0)%得解析解得解析解 x1=vpa(x,6)%化为数值解化为数值解 (ii)

43、.非线性方程组求解非线性方程组求解 fsolve(fun,x0)fun由由M文件给出函数文件给出函数,x0为初值为初值,是一个迭代解法是一个迭代解法.例例7.1 解非线性方程组解非线性方程组 先编写先编写M文件文件fc.m,再用再用fsolve调用调用fc.演示演示6:fc.m and fuhao06.m50第50页8.符号常微分方程求解符号常微分方程求解 求解常微分方程解析解求解常微分方程解析解,用函数用函数 dsolve(equation)例例8.1:dsolve(Dx=-a*x)%Dx=dx/dt desolve(D2x=-a*x)例例8.2:解常微分方程组解常微分方程组演示演示7:fu

44、hao07.m51第51页9.符号函数二维图符号函数二维图(1).符号函数简易绘图函数符号函数简易绘图函数 ezplot ezplot(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-线条宽度线条宽

45、度 fplot(fun,lims,LinSpec)%LinSpec线条类型线条类型演示演示8:fuhao08.m52第52页四、四、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)%以实部为横坐标以实部为横坐标,虚部为纵坐

46、标绘图虚部为纵坐标绘图53第53页(ii).当当plot函数有两个输入变量时函数有两个输入变量时 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.m54第54页 选选 项项 说说 明明 选选 项项 说说 明明-实实 线线。点点:点点 线线o 园园-.点划线点划线x x-符号符号

47、-虚虚 线线+号号 y 黄黄 色色*星号星号m 紫红色紫红色s 方形方形c 蓝黄色蓝黄色d 菱形菱形r 红红 色色v 下三角下三角g 绿绿 色色 上三角上三角b 蓝蓝 色色 右三角右三角k 黑黑 色色p 正五边形正五边形55第55页(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)

48、;semilogx(x,y,*b)演示演示2:photo02.m56第56页(b).极坐标系下图形绘制极坐标系下图形绘制 函数函数:polar(theta,rho,s)exp:x=0:0.01*pi:4*pi;y=sin(x/2)+x;polar(x,y,-b)57第57页(ii).二维特殊函数图(下表为二维特殊图形函二维特殊函数图(下表为二维特殊图形函数)数)函数名函数名说说 明明函数名函数名说说 明明area填充绘图填充绘图fplot函数图绘制函数图绘制bar条形图条形图hist直方图直方图barth水平条形图水平条形图pareto图图comet彗星图彗星图pie柄状图柄状图errorba

49、r误差带图误差带图plotmatrix分散矩阵绘制分散矩阵绘制ezplot简单绘制函数图简单绘制函数图stairs阶梯图阶梯图ezpolar简单绘制极坐标图简单绘制极坐标图scatter散射图散射图feather矢量图矢量图stem离散序列柄状图离散序列柄状图fill多边形填充多边形填充ribbon三维图二维条状显示58第58页 例例4.1 绘制条形图、矢量图、函数曲线图、柄状图、绘制条形图、矢量图、函数曲线图、柄状图、等高线图、填充等高线图等高线图、填充等高线图 bar(x,y)feather(x,y)fplot(fun,lim)pie(x,note)contour(z,n)%z为数值矩阵,

50、为数值矩阵,n为等高线条数为等高线条数 contourf(z,n)%填充等高线函数填充等高线函数 演示演示3:photo03.m (注意注意 pause后山形图原图后山形图原图)59第59页1.基本绘图命令基本绘图命令(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.三维图形三维图形60第60页(2).网

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服