收藏 分销(赏)

Matlab教案土木工程专业.ppt

上传人:精*** 文档编号:12815397 上传时间:2025-12-10 格式:PPT 页数:71 大小:430KB 下载积分:16 金币
下载 相关 举报
Matlab教案土木工程专业.ppt_第1页
第1页 / 共71页
Matlab教案土木工程专业.ppt_第2页
第2页 / 共71页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Matlab教案(土木工程专业),内容讲解安排,目的意义,:掌握,Matlab,的基本用法,2.,重 点,:数值计算、符号运算、图形制作,及程序设计,3.,难 点:,程序设计,4.,内容分配:,第,2,次:,1,Matlab,简介,2,Matlab,的数值计算功能,3,Matlab,的符号运算功能,4,Matlab,的图形制作功能,5,Matlab,的,M,文件及程序设计,2,一、,Matlab,简介,1、,Matlab,的特点,例1.1 Lagrange插值:Lagrange.m,Lag.m,MATLAB,源于,Matrix Laboratory,一词,原意为矩阵实验室。一开始它是一种专门用于矩阵数值计算的软件。随着,MATLAB,逐渐市场化,,MATLAB,不仅具有了数值计算功能,而且具有了数据可视化功能。,由于,MATLAB,的开放性、易学易用性等特点,,MATLAB,已成为高校学生、老师、科研人员和工程计算人员的最好选择。,MATLAB,是真正面向,21,世纪的科学计算语言。,3,MATLAB,语言主要有以下其它语言不可比拟的特点:,(,1,).功能强大,MATLAB4.0,以上(不包括,4.0,)的各版本,不仅在数值计算上保持着相对其它同类软件的绝对优势,而且还开发了自己的,符号运算功能,。特别是,MATLAB6.0,版本在符号运算功能上丝毫不逊于其它各类软件,如,MathCAD,、,Mathematica,等。,只要学会了,MATLAB,,就可以方便地处理诸如矩阵变换及运算、多项式运算、微积分运算、线性与非线性方程求解、常微分方程求解、偏微分方程求解、插值与拟合、统计及优化等问题。,4,做过数学计算的人都知道,在计算中最难处理的就是算法的选择,但,MATLAB,中许多功能函数都带有算法的自适应能力,且算法先进,大大解决了用户的后顾之忧,。,另外,提供了一套完善的图形可视化功能,为用户向别人展示自己的计算结果提供了广阔的空间。,MATLAB,允许用户以数学形式的语言编写程序,,比,BASIC,语言、,FORTRAN,语言和,C,语言等更接近于书写公式的思维方式。,(,2,)语言简单,5,它的操作和功能函数指令就是以平时计算机和数学书上的一些简单的英文单词表达的。由于它是用,C,语言开发的,它的不多的几个程序流控制语句同,C,语言差别甚微,初学者很容易掌握。,MATLAB,语言的帮助系统的功能也相当强大,用户可以方便地查学到想要的各种信息。,另外,,MATLAB,还专门为初学者(包括其中某一个工具箱的初学者)提供了,intro,及,demo,等演示命令,用户可以从中得到兴趣的例子及演示。,6,(,3,)扩充能力强、可开发性强,MATLAB,可扩充性和可开发性起着不可估量的作用。MATLAB本身就像一个解释系统,对其中的函数程序的执行以一种解释执行的方式进行,这样最大的好处是MATLAB完成了一个开放的系统,用户可以方便地看到函数的源程序,也可以方便地开发自己的程序,甚至创建自己的“库”。,另外,,MATLAB,并不“排他”,,MATLAB,可以方便地与,FORTRAN,、,C,语言进行连接,以充分利用各种资源。用户只需将已有的,EXE,文件转换成,MEX,文件,就可以方便地调用有关程序和子程序。,7,(,4,)编程易、效率高,从形式上看,,MATLAB,程序文件是一个纯文本文件,扩展名为,M,。用任何字处理软件都可以对它进行编写和修改,因此程序易调试,人机交换型强。,另外,,MATLAB6.5,也具有比较健全的调试系统,调试方便、简单。,8,2、MATLAB的发展历史,在,20,世纪,70,年代,,,Cleve Moler,和其同事在美国国家科学基金的资助下研究开发了,LINPACK,和,EISPACK,的,Fortran,子程序库,这两个程序库代表着当时矩阵计算的最高水平。,到,20,世纪,70,年代后期,,身为墨西哥大学计算机科学系系主任的,Cleve Moler,,,在给学生开线性代数课程时,他开始用业余时间为学生编写使用方便的,LINPACK,和,EISPACK,的接口程序。,Cleve Moler,给这个接口程序取名为,MATLAB,,意思是“矩阵实验室”。,9,不久以后,,MATLAB,受到了学生的普遍欢迎,并且,,MATLAB,也成了应用数学界的一个术语。,1983,年,早春,,Cleve Moler,到斯坦福大学访问,身为工程师的,John Little,意识到,MATLAB,潜在的广阔应用领域应在工程计算方面,于是在同年,他与,Moler,、,Steve Bangert,一起合作开发了第二代专业版,MATLAB,。从这一代开始,,MATLAB,的核心就采用,C,语言编写。也是从这一代开始,,MATLAB,不仅具有数值计算功能,而且具有了数据可视化功能。,10,1984,年,,,Mathworks,公司成立,把,Matlab,推向了市场,并继续,Matlab,的研制和开发。,Matlab,在市场上的出现,为各国科学家开发本学科相关软件提供了基础。,1993,年,,,Matlab,的第一个,Windows,版本,Matlab3.5k,问世,同年,支持,Windows3.x,的,Matlab4.0,版本推出,同以前的版本比起来,4.0,版本作了很大的改进,如增加了,Simulink,(动态仿真)/,Control/Network/Optimization/Signal Processing/Spline/Identification/Robust Control/Mu-analysis and synthesis,(,Mu,分析与合成)等工具箱。,11,1993,年,11,月,,,Matnworks,公司又推出了,Matlab4.1,版本,首次开发了,Symbolic Math,符号运算工具箱。其升级版本,Matlab4.2,在用户中有着广泛的应用。,1997,年,,,Matlab5.0,版本问世了相对于,Matlab4.x,版本来说,它可以说是一个飞跃;真正的,32,位运算,功能强大,数值计算加快,图形表现有效,变成简洁直观,用户界面十分友好。,2000,年下半年,,,Mathworks,公司推出了他们的最新产品,Matlab6.0,(,R12),的试用版,并于,2001,年初推出了正式版,同前面的版本对比起来,Matlab6.0,在,Matlab5.x,的基础上这种在计算速度上作了比较大的改善,计算速度有了明显的提高。,12,3、MATLAB6.x的新特点,与,MATLAB5.x,版本相比较,,MATLAB6.x,版本在各个方面都进行了较大的改进和增补,增加了许多新功能和更为有效的处理方法,甚至在整个系统的结构上也作了很大的改进。,(,1,).开发环境扩展,(,2,),.,数值处理功能增强,(,3,).程序及数据结构,优化,(,4,)图形处理,(,5,)用户图形界面,(,6,)应用程序接口,13,4、,MATLAB6.x,的桌面平台,(1).Matlab的主窗口,(2).命令窗口,(3).,历史窗口,(4).,当前目录窗口,(5).,发行说明窗口,(6).,工作间管理窗口,14,4、,MATLAB6.5,的帮助系统,1联机帮助系统:按下主窗口的?及Help下拉菜,单的前四项。,2命令窗口查询系统:,help,help+函数名,lookfor函数。,3联机演示系统,基本介绍窗口:,intro;,演示界面:,demo.,15,5、常用的命令与技巧,dir:显示目录下文件,type:,显示文件内容,clear:清理内存变量,pack:收集内存碎片,扩大内存空间,clc:清除工作窗口,例1.2南半球气旋流的曲面图:,photo1.m,,,photo2.m。,16,二、,MATLAB,的数值计算功能,1、Matlab的数据类型,(1).变量,(2).常量,pi=3.1415926,i,j=,eps=10,-52,inf:,无穷大。,变量名以字母开头,长度不超过31位,区分大小写。,(3)数字变量,258*123,;,x=258*123.,注意:加分号不显示结果,不加分号显示结果。,(4).,字符串,s=matrix laboratory,size(s),s(4),(5),向量与矩阵,17,演示,1,:,jisuan01.m,例,2.1,要求计算水在0,0,C、20,0,C、40,0,C、60,0,C、80,0,C的粘度,已知水的粘度随温度的变化公式为 ,其中,0,为水在0,0,C的粘度,在0,0,C值为.78510,-3,。,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,(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*b1,a2*b2,a3*b3;,向量右除:,a./b=a1/b1,a2/b2,a3/b3;,向量左除:a.b=b1/a1,b2/a2,b3/a3;,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,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(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,(2).矩阵的基本运算,矩阵加法,:A+B,、,A+a,;,矩阵减法,:A-B,、,A-a,;,数乘矩阵:,A*2;,矩阵相乘:,A*B,,,注意匹配:,A,的列数等于,B,的行数,;,矩阵左除,:AB,,,注意匹配:,A,的行数等于,B,的行数,用于解线性方程组(恰定、超定、欠定方程组)、矩阵方程组,;,矩阵右除:,A/B,,,注意匹配:,A,的列数等于,B,的列数(用法同上),;,矩阵乘幂:,A2,,,注意匹配:,A,必须为方阵,;,23,(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),:矩阵的迹,24,d=eig(A):矩阵的特征值,v,d=eig(A):矩阵的特征值及特征向量,poly(A),:矩阵的特征多项式,cond(A):矩阵的条件数,cond(X,p):,向量或矩阵的范数,,p=1,2,inf,;,演示:juzhen02.m,各种运算。,25,(4).矩阵的分解与变换,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,条对角线(包括第,k,条对角线)下面的部分,,k,为正值为上方对角线,,k,为负值为下方对角线。,26,triu(A):,提取矩阵主上三角部分,triu(A,k):,提取矩阵的第,k,条对角线(包括第,k,条对角线)上面的部分,,k,为正值为下方对角线,,k,为负值为上方对角线。,演示,3,:,juzhen03.m,练习以上各种运算。,注意掌握矩阵运算以下主要命令:,(1).,求方阵的行列式、逆矩阵、广义逆,(2).求方阵的特征值、特征向量、特征多项式,(3).,矩阵的各种分解:上三角、下三角、平方根、正交分解,27,例,2.2,用矩阵除法求解超定方程,x,=19 25 31 38 44,y,=19 32.3 49 73.3 97.8,求出,a,b,.,解:这是一个超定方程组:,Ax=y,,,A=,(,x,2,1,),。建立,m,文件实现计算。,演示,4,:,juzhen04.m,28,4、多项式及其运算,(1).,多项式的表示法,对于多项式,p,n,(,x,)=,a,0,x,n,+a,1,x,n-1,+.+a,n-1,x+a,n,用以下的行向量表示:,p,=,a,0,a,1,a,n-1,a,n,.,(i).,系数多项式的直接输入法,例如:,p,3,(,x,),=x,3,-5x,2,+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,(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),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).求多项式的乘除法运算:,conv(p1,p2),deconv(p1,p2),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,例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,33,(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);,end,end,34,(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分解,35,3.对于,解方程组Ax=b。,4.对于离散数据 P=1 2 3 2 4 1 2,试拟合三次多项式,,,(1).求出该多项式的具体表达形式。,(2).求出该多项式的根。,(3).求出该多项式在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,三、,MATLAB,的符号运算功能,1.符号表达式的生成,(1).创建符号函数 f=log(,x,),(2).创建符号方程,equation=,a,*,x,2+b*,x,+c=0,(3).创建符号微分方程,diffeq=D,y,-,y,=,x,(4).用sym命令来创建,f=sym(sin(,x,)f=sym(,a,*,x,2+b*,x,+c=0),(5).用sym命令创建的另一种方式,syms,x,f=sin(x)+cos(,x,),37,2.符号与数值之间的转换,符号运算得到的是精确解,有时候要对得到的解析解,进行数值转换。主要有三个函数:,digits,vpa,Subs:,变量替换函数.,Digits(D):,函数设置有效数字个数为D的近似解精度.,Vpa(s):,符号表达式s在digits函数设置下的精度的,近似解.,Vpa(s,D):,符号表达式s在digits(D)精度下的 近似解.,Subs(s,old,new):,将符号表达式中 old 的换成new变量.,Numeric(s):,将不含自由变量的符号表达式转换成数,值形式.,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):将解析解转换成数值解,2.变量替换,x=sym(,x,)f=,x-cos,(,x,)f1=subs(,f,x,pi,),t=sym(t)f1=subs(f,x,t),3.解方程,x,2,-e,x,=0,s=solve(,x,2-exp(,x,)=0)x=vpa(s),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替换t,并将,g的自变量换为z,compose(f,g,x,y,z)%x为f的自变量,y为g的自,变量,g替换x,z替换y,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,反函数的运算,:,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),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中,数值矩阵不能直接参与符号运算,必须先转化为符号矩阵。不论数值矩阵的元素是用分数还是用浮点数表示,转化后的符号矩阵都将以最接近的精确有利形式给出。),b=2/3,sqrt(2),0.222;1.4,1/0.23,log(3),c=syms(b),演示2:,fuhao02.m,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.m,44,(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),45,6.符号微积分,(1).符号极限,limit(f,x,a)%f 在 x,a,时的极限,limit(f)%f 在 x,0,时的极限,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),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到10的和,f=simple(symsum(k2,0,n)%和的最简形式,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.m,48,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:fuhao05.m,49,(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,50,8.符号常微分方程求解,求解常微分方程的解析解,用函数,dsolve(equation),例8.1:dsolve(Dx=-a*x)%Dx=dx/dt,desolve(D2x=-a*x),例8.2:解常微分方程组,演示7:fuhao07.m,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-线条的宽度,fplot(fun,lims,LinSpec)%LinSpec线条的类型,演示8:fuhao08.m,52,四、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)%以实部为横坐标,虚部为纵坐标绘图,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.m,54,选 项,说 明,选 项,说 明,-,实 线,。,点,:,点 线,o,园,-.,点划线,x,x-符号,-,虚 线,+,+号,y,黄 色,*,星号,m,紫红色,s,方形,c,蓝黄色,d,菱形,r,红 色,v,下三角,g,绿 色,上三角,b,蓝 色,右三角,k,黑 色,p,正五边形,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);,semilogx(x,y,*b),演示2:photo02.m,56,(b).极坐标系下的图形绘制,函数:polar(theta,rho,s),exp:x=0:0.01*pi:4*pi;,y=sin(x/2)+x;,polar(x,y,-b),57,(ii).二维特殊函数图(下表为二维特殊图形函数),函数名,说 明,函数名,说 明,area,填充绘图,fplot,函数图绘制,bar,条形图,hist,直方图,barth,水平条形图,pareto,图,comet,彗星图,pie,柄状图,errorbar,误差带图,plotmatrix,分散矩阵绘制,ezplot,简单绘制函数图,stairs,阶梯图,ezpolar,简单绘制极坐标图,scatter,散射图,feather,矢量图,stem,离散序列柄状图,fill,多边形填充,ribbon,三维图的二维条,状显示,58,例4.1 绘制条形图、矢量图、函数曲线图、柄状图、,等高线图、填充等高线图,bar(x,y),feather(x,y),fplot(fun,lim),pie(x,note),contour(z,n)%z为数值矩阵,n为等高线条数,contourf(z,n)%填充等高线函数,演示3:photo03.m,(注意 pause后的山形图原图),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.m,2.三维图形,60,(2).网图函数,(3).着色函数 surf(x,y,z,c),例2.2:mesh 绘制三维面图,meshc 带等高线的面图、,meshz 带屏蔽的面图.,演示5:photo05.m,函 数 名,说 明,mesh,三维网格图,meshc,将网格与等高线结合,meshz,屏蔽的网格图,meshgrid,生成网格点,61,特殊的图形函数,函数名,说 明,函数名,说 明,bar3,三维条形图,surfc,着色图等高线结合,comet3,三维彗星轨迹图,trisurf,三角形表面图,ezgraph3,控制绘制三维图,trimesh,三角形网格图,pie3,三维柄状图,waterfall,瀑布图,scatter3,三维散射图,cylinder,柱面图,stem3,三维离散数据图,sphere,球面图,例2.2:绘制三维饼状图/着色等高线图/三维等高线图/柱面图/球面图,演示6:photo06.m,62,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),演示7:photo07.m,photo08.m,四.图形处理的基本技术,63,五.图形处理的高级技术,1.颜色映像,图形的一个重要因素就是图形的颜色,对于数值计算,颜色在图形显示中所起的作用不仅仅是美观,主要是它能够提供给用户另外一附加维数第四维。,Matlab采用颜色映像来处理图形颜色,也即RGB色系。该方法在Matlab语言内的实现是借助于矩阵来完成的,该矩阵为三列矩阵,每一列代表R(红色)、G(绿色)和B(蓝色)中的一个颜色,三者综合构成对应的颜色。下表示一些常用的颜色映像元素。,64,R(红色),G (绿色),B(蓝色),映 像,0,0,0,黑色,1,1,1,白色,1,0,0,红色,0,1,0,绿色,0,0,1,蓝色,1,1,0,黄色,1,0,1,洋红色,0,1,1,青色,2/3,0,1,天蓝,1,0,橘黄,0.5,0,0,深红,0.5,0.5,0.5,灰色,65,以上颜色映像在默认状态下均为64*3的颜色矩阵,每个颜色映像均描述了64种颜色的RGB属性。,按一定规律将各种颜色的映像元素综合成一映像矩阵即构成了Matlab语言的颜色映像。几种常用的Matlab语言内置的颜色映像如下表所示:,颜色映像,相应的颜色系,颜色映像,相应的颜色系,autumn,红黄色系,hsv,色调饱和色系,bone,点一点蓝色的灰度,jet,色调饱和色系,colorcube,增强的颜色系,line,线性色系,cool,青和洋红的色系,pink,柔和色系,copper,线型铜色系,prism,棱镜色系,flag,交替的红白蓝黑色系,spring,洋红、黄色系,gray,线性灰色系,summer,绿、黄色系,hot,黑红黄白色系,winter,蓝绿色系,vga,Windows16位色系,66,对于绝大多数的线图函数,如plot、plot3、contour等,一般不需要颜色映像来控制其色彩显示,而对于面图函数,如mesh、surf等,则需要调用颜色映像。,Matlab语言提供的调用颜色映像的函数为colormap,调用格式如下:,67,五.图形处理的高级技术,1.背景颜色操作函数 colordef,Colordef none%将图形背景与图形窗口背景设为相同,x,y,z=peaks;,Mesh(x,y,z),Colordef blak%将图形背景设置为黑色,x,y,z=peaks;,Mesh(x,y,z),Colordef white%将图形背景设置为白色,x,y,z=peaks;,Mesh(x,y,z),68,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,69,(2).光照控制函数 view、viewmtx及rotate3d,在Matlab语言中还提供了许多对光照进行控制的操作,x,y,z=peaks;,mesh(x,y,z),light(position,1,1,1),%photo10,函数名,说明,函数名,说明,Light,设置光源,Specular,镜面反射模型,Surfl,存在光源的三维面图,Diffuse,漫反射模式,Lighting,光源模式,lightangle,球坐标系中的光源,material,图形表面对光照反映模式,70,上机练习2,1.绘制一个一函数的元函数的图形,并进行适当的修饰说明。,2.绘制一个二函数的元函数的图形,并进行适当的修饰说明。,3.绘制 一幅统计分析图,并做必要的修饰说明 。,71,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服