Matlab经典教案(土木工程专业)ppt课件.ppt

上传人:牧羊曲112 文档编号:2002394 上传时间:2022-12-30 格式:PPT 页数:71 大小:491.50KB
返回 下载 相关 举报
Matlab经典教案(土木工程专业)ppt课件.ppt_第1页
第1页 / 共71页
Matlab经典教案(土木工程专业)ppt课件.ppt_第2页
第2页 / 共71页
Matlab经典教案(土木工程专业)ppt课件.ppt_第3页
第3页 / 共71页
Matlab经典教案(土木工程专业)ppt课件.ppt_第4页
第4页 / 共71页
Matlab经典教案(土木工程专业)ppt课件.ppt_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《Matlab经典教案(土木工程专业)ppt课件.ppt》由会员分享,可在线阅读,更多相关《Matlab经典教案(土木工程专业)ppt课件.ppt(71页珍藏版)》请在三一办公上搜索。

1、1,第二章 MATLAB简介,一、Matlab使用入门二、数值计算三、符号运算四、图形处理五、程序设计六、在计算方法中的应用,2,内容讲解安排,目的意义:掌握Matlab的基本用法2.重 点:数值计算、符号运算、图形制作 及程序设计3.难 点:程序设计4.内容分配: 第 2 次:1 Matlab简介 2 Matlab的数值计算功能 3 Matlab的符号运算功能 4 Matlab的图形制作功能 5 Matlab的M文件及程序设计,3,一、Matlab简介,1、Matlab的特点,例1.1 Lagrange插值:Lagrange.m , Lag.m,MATLAB源于Matrix Laborato

2、ry一词,原意为矩阵实验室。一开始它是一种专门用于矩阵数值计算的软件。随着MATLAB逐渐市场化,MATLAB不仅具有了数值计算功能,而且具有了数据可视化功能。,由于MATLAB的开放性、易学易用性等特点,MATLAB已成为高校学生、老师、科研人员和工程计算人员的最好选择。MATLAB是真正面向21世纪的科学计算语言。,4,MATLAB语言主要有以下其它语言不可比拟的特点:,(1).功能强大,MATLAB4.0以上(不包括4.0)的各版本,不仅在数值计算上保持着相对其它同类软件的绝对优势,而且还开发了自己的符号运算功能。特别是 MATLAB6.0版本在符号运算功能上丝毫不逊于其它各类软件,如M

3、athCAD、 Mathematica 等。,只要学会了MATLAB,就可以方便地处理诸如矩阵变换及运算、多项式运算、微积分运算、线性与非线性方程求解、常微分方程求解、偏微分方程求解、插值与拟合、统计及优化等问题。,5,做过数学计算的人都知道,在计算中最难处理的就是算法的选择,但MATLAB 中许多功能函数都带有算法的自适应能力,且算法先进,大大解决了用户的后顾之忧。,另外,提供了一套完善的图形可视化功能,为用户向别人展示自己的计算结果提供了广阔的空间。,MATLAB允许用户以数学形式的语言编写程序, 比BASIC语言、FORTRAN语言和C语言等更接近于书写公式的思维方式。,(2)语言简单,

4、6,它的操作和功能函数指令就是以平时计算机和数学书上的一些简单的英文单词表达的。由于它是用C语言开发的,它的不多的几个程序流控制语句同C语言差别甚微,初学者很容易掌握。,MATLAB语言的帮助系统的功能也相当强大,用户可以方便地查学到想要的各种信息。另外,MATLAB还专门为初学者(包括其中某一个工具箱的初学者)提供了intro及demo等演示命令,用户可以从中得到兴趣的例子及演示。,7,(3)扩充能力强、可开发性强,MATLAB可扩充性和可开发性起着不可估量的作用。MATLAB本身就像一个解释系统,对其中的函数程序的执行以一种解释执行的方式进行,这样最大的好处是MATLAB完成了一个开放的系

5、统,用户可以方便地看到函数的源程序,也可以方便地开发自己的程序,甚至创建自己的“库”。,另外,MATLAB并不“排他”,MATLAB可以方便地与FORTRAN、C语言进行连接,以充分利用各种资源。用户只需将已有的EXE文件转换成MEX文件,就可以方便地调用有关程序和子程序。,8,(4)编程易、效率高,从形式上看,MATLAB程序文件是一个纯文本文件,扩展名为M。用任何字处理软件都可以对它进行编写和修改,因此程序易调试,人机交换型强。,另外,MATLAB6.5也具有比较健全的调试系统,调试方便、简单。,9,2、 MATLAB的发展历史,在20世纪70年代,Cleve Moler和其同事在美国国家

6、科学基金的资助下研究开发了LINPACK和EISPACK的Fortran子程序库,这两个程序库代表着当时矩阵计算的最高水平。,到20世纪70年代后期,身为墨西哥大学计算机科学系系主任的Cleve Moler,在给学生开线性代数课程时,他开始用业余时间为学生编写使用方便的LINPACK和EISPACK的接口程序。Cleve Moler给这个接口程序取名为MATLAB,意思是“矩阵实验室”。,10,不久以后,MATLAB受到了学生的普遍欢迎,并且,MATLAB也成了应用数学界的一个术语。,1983年早春,Cleve Moler到斯坦福大学访问,身为工程师的John Little意识到MATLAB潜

7、在的广阔应用领域应在工程计算方面,于是在同年,他与Moler、Steve Bangert一起合作开发了第二代专业版MATLAB。从这一代开始,MATLAB的核心就采用C语言编写。也是从这一代开始,MATLAB不仅具有数值计算功能,而且具有了数据可视化功能。,11,1984年,Mathworks公司成立,把Matlab推向了市场,并继续Matlab的研制和开发。Matlab在市场上的出现,为各国科学家开发本学科相关软件提供了基础。,1993年,Matlab的第一个Windows版本Matlab3.5k问世,同年,支持Windows3.x的Matlab4.0版本推出,同以前的版本比起来4.0版本作

8、了很大的改进,如增加了Simulink(动态仿真)/Control/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版本问世了相对于Matlab4.x版本来说,它可以说是一个飞跃;真正的32位运算,

9、功能强大,数值计算加快,图形表现有效,变成简洁直观,用户界面十分友好。,2000年下半年,Mathworks公司推出了他们的最新产品Matlab6.0(R12)的试用版,并于2001年初推出了正式版,同前面的版本对比起来,Matlab6.0在Matlab5.x 的基础上这种在计算速度上作了比较大的改善,计算速度有了明显的提高。,13,3、MATLAB6.x的新特点,与MATLAB5.x版本相比较,MATLAB6.x 版本在各个方面都进行了较大的改进和增补,增加了许多新功能和更为有效的处理方法,甚至在整个系统的结构上也作了很大的改进。,(1).开发环境扩展,(2). 数值处理功能增强,(3).程

10、序及数据结构 优化,(4)图形处理,(5)用户图形界面,(6)应用程序接口,14,4、MATLAB6.x的桌面平台,(1). Matlab的主窗口 (2). 命令窗口(3). 历史窗口 (4). 当前目录窗口 (5). 发行说明窗口 (6). 工作间管理窗口,15,4、MATLAB6.5的帮助系统,1联机帮助系统:按下主窗口的?及Help下拉菜 单的前四项。2命令窗口查询系统: help,help+函数名,lookfor函数。3联机演示系统 基本介绍窗口:intro; 演示界面:demo.,16,5、常用的命令与技巧,dir: 显示目录下文件type: 显示文件内容clear: 清理内存变量p

11、ack: 收集内存碎片,扩大内存空间clc: 清除工作窗口,例1.2南半球气旋流的曲面图:photo1.m,photo2.m。,17,二、MATLAB的数值计算功能,1、Matlab的数据类型,(1). 变量,(2). 常量,i=3.1415926, i, j= , eps=10-52 , inf: 无穷大。,变量名以字母开头,长度不超过31位,区分大小写。,(3)数字变量 258*123; x=258*123.,注意:加分号不显示结果,不加分号显示结果。,(4). 字符串,s=matrix laboratory size(s) s(4),(5)向量与矩阵,18,演示1:jisuan01.m,

12、例2.1 要求计算水在00C、200C、400C、600C、800C的粘度,已知水的粘度随温度的变化公式为 ,其中0为水在00C的粘度,在00C值为.78510-3 。,19,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维的行向量,20,(2)向量的加、减、数乘、点乘、叉乘等运算,已知向量a=a1

13、, 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/a1, b2/a2, b3/a3;,21,点乘运算:dot(a,b)=a1*b1+a2*b2+a3*b3, sum(a

14、.*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,22,3矩阵的运算,(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(

15、A,1)行数,size(A,2)列数。,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,(3). 矩阵的其它运算,zeros(m,n): m行n列的零矩阵 ones(m,n): m行n列的全矩阵,eye(n): n阶单位矩阵 rand(m,n): m行n列的

16、均匀分布的随机数矩阵 randn(m,n ):m行n列的均匀分布的随机数矩阵,det(A): 矩阵的行列式 inv(A): 矩阵求逆 rank(A): 矩阵求秩 trace(A): 矩阵的迹,25,d=eig(A): 矩阵的特征值 v,d=eig(A): 矩阵的特征值及特征向量 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)

17、: 实对乘矩阵的平方根分解,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条对角线(包括第k条对角线)下面的部分,k为正值为上方对角线,k为负值为下方对角线。,27,triu(A): 提取矩阵主上三角部分,triu(A,k): 提取矩阵的第k条对角线(包括第k条对角线)上面的部分,k为正值为下方对角线,k为负值为上方对角线。,演示3:juzhen03.m,练习以上各种运算。,注意掌握矩阵

18、运算以下主要命令:,(1). 求方阵的行列式、逆矩阵、广义逆,(2). 求方阵的特征值、特征向量、特征多项式 (3). 矩阵的各种分解:上三角、下三角、平方根、正交分解,28,例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.m,29,4、多项式及其运算,(1). 多项式的表示法,对于多项式 pn(x)=a0 xn+a1xn-1+.+an-1x+an ,用以下的行向量表示:p=a0,a1,an-1,an.,(

19、i). 系数多项式的直接输入法,例如:p3(x)=x3-5x2+6x-33,输入:,=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). 求

20、多项式的根: 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),olyfit(x,y,n) 其中x、y为拟合数据,n为拟和多项式的阶数。,例如: p=1 5 6 1 9; p4=poly2sym(p) Dp=polyder(p) P

21、3=poly2sym(Dp),(V). 多项式拟合,33,例2.3:用5阶多项式对 上的正弦函数进行最小二乘拟合,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),演示5: poly01.m,34,(5) 其它算例,执行字符串用 eval 函数生成四阶的Hilbert函数,n=4;t=1/(i+j-1);a=zeros(n);for i=1

22、:n for j=1:n a(i,j)=eval(t); endend,35,(6). 上机练习题,1. 对于给定数据x=0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,计算如下函数值 。,2. 给定矩阵,(1).计算矩阵行列式的值,(2).计算矩阵的逆,(3).计算矩阵的秩、特方程,(4).计算矩阵的特征值、特征向量,(5).计算矩阵的条件数,(6).对矩阵进行LU分解,36,3. 对于,解方程组Ax=b。,4. 对于离散数据 P=1 2 3 2 4 1 2,试拟合三次多项式, (1).求出该多项式的具体表达形式。 (2).求出该多项式的根。 (3). 求出该多项式在x=2.5处

23、的值。 (4). 求出该多项式的微分。,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). 用sym命令创建的另一种方式 syms x f=sin(x)+cos(x),38,2. 符号与数值之

24、间的转换,符号运算得到的是精确解,有时候要对得到的解析解进行数值转换。主要有三个函数: digits, vpa, Subs: 变量替换函数.Digits(D): 函数设置有效数字个数为D的近似解精度. Vpa(s) : 符号表达式s在digits函数设置下的精度的 近似解.Vpa(s,D) : 符号表达式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) :解析解 di

25、gits(10) :设置10位有效数字 x=vpa(s) :10位有效数字解析解 or x=vpa(s,20) :20位有效数字解析解 numeric(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),40,3. 符号函数的运算,(1). 复合函数的运算: compose compose(f,g) %以g的自变量为自变量 compose(f,g,z) %以z为自变量 compose(

26、f,g,x,z) % x为f的自变量,g替换x,并将 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替换y,41,例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: f

27、uhao01.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),43,4. 符号矩阵的创立,(1). 用sym函数直接创建符号矩阵 a=sym(1/(s+x),sin(x) ,cos(x)2/(b+x); 9, exp(x2+y2), log(tanh(y),(2).将数值矩阵转化为符号矩阵(在Matlab中,数值矩阵不能直接参与符号运算,必须先转化为符号矩阵。不论数值矩阵的元素是用分数还是用浮点数表示,转化后的

28、符号矩阵都将以最接近的精确有利形式给出。),b=2/3,sqrt(2),0.222;1.4,1/0.23,log(3) c=syms(b),演示2: fuhao02.m,44,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.m,45,(2).矩阵分解,特征值分解函数 b=sym(x,1;x+2,0) x,y=eig(b)三角抽取函数 a=sym(1/x,1/(x+1);1

29、/(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),46,6. 符号微积分,(1). 符号极限 limit(f,x,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)

30、(3*x),x,inf) limit(1/x,x,0,right) limit(sqrt(x),x,0,left),47,(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到10的和 f=simple(symsum(k2,0,n) %和的最简形式,48,(3). 符号微分,(i). 微分函数 diff syms x y; diff(sin(x2) %求函数的一阶导数 diff(sin(x*

31、y),x) diff(x4,3) diff(sin(x*y),x,2) %关于x求二阶导数(ii). 梯度函数 gradient 演示3: fuhao03.m,49,7. 符号代数方程求解,(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:

32、fuhao05.m,50,(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,51,8. 符号常微分方程求解,求解常微分方程的解析解,用函数 dsolve(equation) 例8.1 : dsolve(Dx=-a*x) %

33、Dx=dx/dt desolve(D2x=-a*x) 例8.2 : 解常微分方程组演示7: fuhao07.m,52,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,li

34、ms,n) %n-线条的宽度 fplot(fun,lims,LinSpec) %LinSpec线条的类型演示8: fuhao08.m,53,四、 MATLAB的图形处理功能,1. 二维图形,(1). 基本绘图命令 (i). 当plot函数仅有一个输入变量时 y=1 3 2 4 2 2.5 1; 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函数有两个

35、输入变量时 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.m,55,56,(2). 特殊的二维图形函数 (i). 特殊坐标系的二维图形函数 (a). 对数坐标下的图形 semilogx(x,y,s) %以x为对数坐标 semilogy(x,y,s) %以y为对数坐标 loglog(x,y) %以x,y

36、为对数坐标 例如:x=1:0.1*pi:2*pi; y=sin(x); semilogx(x,y,*b)演示2: photo02.m,57,(b). 极坐标系下的图形绘制,函数: polar(theta,rho,s)exp: x=0:0.01*pi:4*pi; y=sin(x/2)+x; polar(x,y,-b),58,(ii). 二维特殊函数图(下表为二维特殊图形函数),59,例4.1 绘制条形图、矢量图、函数曲线图、柄状图、等高线图、填充等高线图 bar(x,y) feather(x,y) fplot(fun,lim) pie(x, note) contour(z,n) %z为数值矩阵,

37、n为等高线条数 contourf(z,n) %填充等高线函数 演示3:photo03.m (注意 pause后的山形图原图),60,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.m,2. 三维图形,61,(2). 网图函数 (3). 着色函数 surf(x,y,z,c)例2.2: mesh 绘制三维面图 meshc 带等高线的面图、 meshz 带屏蔽的面图

38、.演示5: photo05.m,62,特殊的图形函数,例2.2: 绘制三维饼状图/着色等高线图/三维等高线图/柱面图/球面图演示6: photo06.m,63,1. 图形控制 坐标轴的控制函数 axis(xmin,xmax,ymin,ymax) 平面的坐标网图函数 grid on/grid off 2. 图形的标注 坐标轴标注 xlabel(标注,属性) /ylabel /zlabel 文本标注 text(x,y, 标注文本及控制字符串) 交互式文本标注 gtext 图例标注 legend(标注1,标注2)3. 图形的保持与子图 hold onhold offsubplot(m,n,p) 演示

39、7: photo07.m, photo08.m,四. 图形处理的基本技术,64,五. 图形处理的高级技术,1.颜色映像,图形的一个重要因素就是图形的颜色,对于数值计算,颜色在图形显示中所起的作用不仅仅是美观,主要是它能够提供给用户另外一附加维数第四维。,Matlab采用颜色映像来处理图形颜色,也即RGB色系。该方法在Matlab语言内的实现是借助于矩阵来完成的,该矩阵为三列矩阵,每一列代表R(红色)、G(绿色)和B(蓝色)中的一个颜色,三者综合构成对应的颜色。下表示一些常用的颜色映像元素。,65,66,以上颜色映像在默认状态下均为64*3的颜色矩阵,每个颜色映像均描述了64种颜色的RGB属性。

40、,按一定规律将各种颜色的映像元素综合成一映像矩阵即构成了Matlab语言的颜色映像。几种常用的Matlab语言内置的颜色映像如下表所示:,67,对于绝大多数的线图函数,如plot、plot3、contour等,一般不需要颜色映像来控制其色彩显示,而对于面图函数,如mesh、surf等,则需要调用颜色映像。,Matlab语言提供的调用颜色映像的函数为colormap,调用格式如下:,68,五. 图形处理的高级技术,1. 背景颜色操作函数 colordef,Colordef none %将图形背景与图形窗口背景设为相同x,y,z=peaks;Mesh(x,y,z)Colordef blak %将图

41、形背景设置为黑色x,y,z=peaks;Mesh(x,y,z)Colordef white %将图形背景设置为白色x,y,z=peaks;Mesh(x,y,z),69,2. 视角与光照,Matlab语言还提供了对图形进行视角及光源控制的功能。所谓视角就是图形展现给用户的角度,而所谓光照就是图形色彩强弱变化的方向。通过这两种方法可以丰富Matlab对图形的处理。,(1). 视角控制函数 view、viewmtx及rotate3d x,y,z=peaks; colormap(hot) mesh(x,y,z) xlabel x ylabel y view(45,45)%photo10,70,(2). 光照控制函数 view、viewmtx及rotate3d 在Matlab语言中还提供了许多对光照进行控制的操作,x,y,z=peaks;mesh(x,y,z)light(position,1,1,1)%photo10,71,上机练习2,1. 绘制一个一函数的元函数的图形,并进行适当的修饰说明。,2. 绘制一个二函数的元函数的图形,并进行适当的修饰说明。,3. 绘制 一幅统计分析图,并做必要的修饰说明 。,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号