数学实验三维绘图
实验Matlab三维作图地绘制
![实验Matlab三维作图地绘制](https://img.taocdn.com/s3/m/396dde86524de518974b7d19.png)
实验9 三维绘图一、实验目的学会MATLAB软件中三维绘图的方法。
二、实验内容与要求1.三维曲线图格式一:plot3(X,Y,Z,S).说明:当X,Y,Z均为同维向量时,则plot3描出点X(i),Y(i),Z(i)依次相连的空间曲线.若X,Y均为同维矩阵,X,Y,Z每一组相应列向量为坐标画出一条曲线,S为‘color﹣linestyle﹣marker’控制字符表1.6~表1.10.【例1.79】绘制螺旋线.>>t=0:pi/60:10*pi;>>x=sin(t);>>y=cos(t);>>plot3(x,y,t,’*-b’)>>grid on图形的结果如图1.16所示.格式二:comet3(x,y,z).说明:显示一个彗星通过数据x,y,z确定的三维曲线.【例1.80】>>t=-20*pi:pi/50:20*pi;>>comet3(sin(t),cos(t),t)可见到彗星头(一个小圆圈)沿着数据指定的轨道前进的动画图象,彗星轨道为整个函数所画的螺旋线.格式三:fill3(X,Y,Z,C) ℅填充由参数X,Y,Z确定的多边形,参数C指定颜色.图1.16 例1.79图形结果图1.17 例1.81图形结果【例1.81】>>X=[2,1,2;9,7,1;6,7,0];>>Y=[1,7,0;4,7,9;0,4,3];>>Z=[1,8,6;7,9,6;1,6,1];>>C=[1,0,0;0,1,0;0,0,1]>>fill3(X,Y,Z,C)>>grid on图形的结果如图1.17所示.问题 1.30:图 1.17中每个三角形按什么规律画出的?(用X,Y,Z的对应列元素值为坐标画三角形)每个三角形内填充的颜色又有何规律?(用C 第i列元素值对应的颜色,从第i个三角形对应顶点向中心过渡)若C=[1,5,10;1,5,10;1,5,10],结果如何?2.三维网格图格式:mesh(X,Y,Z,C) ℅画出颜色由C指定的三维网格图.meshc(X,Y,Z,C) ℅画出带有等高线的三维网格图.meshz(X,Y,Z,C) ℅画出带有底座的三维网格图.说明:若X与Y均为向量,n=length(X),m=length(Y), Z必须满足[m,n]=size(Z),则空间中的点(X(j),Y(i),Z(i,j))为所画曲面网线的交点,X 对应于Z的列,Y对应于Z的行;若X,Y,Z均为同维矩阵,则空间中的点(X(i,j),Y(i,j),Z(i,j))为所画曲面的网线的交点;矩阵C指定网线的颜色,MATLAB对矩阵C中的数据进行线性处理,以便从当前色图中获得有用的颜色,若C缺省,网线颜色和曲面的高度Z相匹配.在三维作图常用到命令meshgrid,其功能是生成二元函数z=f(x,y)中x-y平面上的矩形定义域中数据点矩阵X和Y.格式:[X,Y]= meshgrid(x,y).说明:输入向量x为x-y平面上x轴的值,向量y为x-y平面上y轴的值.输出矩阵X为x-y平面上数据点的横坐标值,输出矩阵Y为x-y平面上数据点的纵坐标值.【例1.82】>> x=1:4;>> y=1:5;>> [x,y]=meshgrid(x,y)x =1 2 3 41 2 3 41 2 3 41 2 3 41 2 3 4y =1 1 1 12 2 2 23 3 3 34 4 4 45 5 5 5图1.18所示x-y 平面上的矩形定义域中20个数据点(星号点)的坐标就是有X ,Y 决定的。
数学实验报告 (1)
![数学实验报告 (1)](https://img.taocdn.com/s3/m/ce87d9a9f8c75fbfc77db2e6.png)
(1)参数方程:z=2^2^/2^2^sin y x y x ++(-8<=x<=8,-8<=y<=8) (2)程序:[X,Y]=meshgrid(-8::8);r=sqrt(x.^2+y.^2)+eps;Z=sin(r)./r;Mesh(x,y,z)Axis square(3)程序的输出结果:3:球面,椭球面,双叶双曲面,单叶双曲面1球面: (4):参数方程:⎪⎩⎪⎨⎧===ϕθϕθϕcos *sin *sin *cos *sin *R z R y R x 0π<=θ<2* 0<=ϕ<π (5)程序:u=[0:pi/60:2*pi];v=[0:pi/60:pi];[U,V]=meshgrid(u,v);R=3;X=R*sin(v).*cos(u);Y=R*sin(v).*sin(u);Z=R*cos(v);Surf(x,y,z);axis equal;(3)程序输出结果:2椭球面: (1)参数方程:⎪⎩⎪⎨⎧===ϕθϕθϕcos *sin *sin *cos *sin *c z b y a x 0<=θ<2*π 0<=ϕ<=π (2)程序:ezsurf(‘3*sin(u)*cos(v) ,’3*sin(u)*sin(v)’,’1*cos(u)’,[0,pi,0,2*pi]);(3)程序的输出结果:3单叶双曲面: (1)参数方程:⎪⎩⎪⎨⎧===ϕθϕθϕtan sin *sec *cos *sec *z a y a x 0<=θ<2*π -π/2<ϕ<π/2 (2)程序:ezsurf(‘3*sec(u)*cos(v),’3*sec(u)*sin(v)’,’5*tan(u)’,[-pi/2,pi/2,0,2*pi]);axis auto(3)输出程序结果:4双叶双曲面: (1)参数方程:⎪⎩⎪⎨⎧===ϕθϕθϕsec *sin *tan *cos *tan *c z b y a x 0<=θ<2*π -π<ϕ<3*π/2,ϕ≠π/2(2)程序:ezsurf(‘3*tan(u)*cos(v)’,’3*tan(u)*sin(v)’,’5*sec(u)’,[-pi/2,3*pi/2,0,2*pi]);axis auto(4) (3)输出程序结果:抛物螺线: (1)参数方程:⎪⎩⎪⎨⎧===2^*sin **cos **t c z t t b y t t a x 0<T<+∞ (2)程序:ezplot3(‘2*t*cos(t)’,’2*t*sin(t)’,’t.^2/3’,[0,50]);(3)输出程序结果:(5)马鞍面: (1)参数方程:z=x^2/9-y^2/4 (-25<=x<=25,-25<=y<=25)(2)程序:[X,Y]=meshgrid(-25:1:25);Z=X.^2/9-Y.^2/4;Surf(X,Y,Z)Title(‘马鞍面’)grid off(3)输出程序结果:(6)黎曼函数:(1)程序:n=100;x=[];y=[];k=1;for q=2:nfor p=1:q-1if gcd(q,p)==1 %利用函数gcd(m,n)可求m和n的最大公约数x(k)=p/q;y(k)=1/q;k=k+1;endendendplot(x,y,’.b’); axis([0,1,0,1])(2)程序输出结果:。
mathematica实验报告
![mathematica实验报告](https://img.taocdn.com/s3/m/8414c86ff68a6529647d27284b73f242326c3105.png)
mathematica实验报告Mathematica 实验报告一、实验目的本实验旨在深入了解和掌握 Mathematica 软件的基本功能和操作方法,通过实际的案例和问题解决,提升运用 Mathematica 进行数学计算、数据分析、图形绘制以及编程的能力。
二、实验环境操作系统:Windows 10Mathematica 版本:121三、实验内容与步骤(一)数学计算1、基本运算在 Mathematica 中,直接输入数学表达式进行计算,例如:计算 2+ 3 4 的结果,输入`2 + 3 4` ,得到结果 14。
2、函数计算使用内置函数进行复杂的数学运算,如计算正弦函数`SinPi / 6`的值,结果为 05。
(二)数据分析1、数据导入通过`Import` 函数导入外部数据文件,如 CSV 格式的数据文件。
假设我们有一个名为`datacsv` 的文件,包含两列数据`x` 和`y` ,使用`data = Import"datacsv"`即可将数据导入。
2、数据处理对导入的数据进行处理,如计算平均值、方差等统计量。
可以使用`Meandata` 计算平均值,`Variancedata` 计算方差。
(三)图形绘制1、二维图形绘制简单的函数图形,如`PlotSinx, {x, 0, 2 Pi}`绘制正弦函数在`0` 到`2 Pi` 区间的图形。
2、三维图形绘制三维图形,如`Plot3Dx^2 + y^2, {x, -2, 2},{y, -2, 2}`绘制一个抛物面。
(四)编程实践1、定义函数使用`Function` 关键字定义自己的函数,例如定义一个计算阶乘的函数`factorialn_ := Ifn == 0, 1, n factorialn 1` 。
2、循环结构使用`For` 循环和`While` 循环实现重复操作,例如使用`For`循环计算 1 到 10 的和,`sum = 0; Fori = 1, i <= 10, i++, sum += i; sum` 。
三维函数的作图[大全]
![三维函数的作图[大全]](https://img.taocdn.com/s3/m/02c6be4676232f60ddccda38376baf1ffc4fe397.png)
实验七 三维函数的作图一、实验目的及意义熟练掌握Plot3D ,ListPlot3D ,ParametricPlot3D 等各种绘制三维图形的函数,了解其众多的可选参数,注意与二维绘图的异同。
了解使用外部函数绘制三维图形。
从中感受到Mathematica 绘制图形的强大功能及图形的美妙之处二、实验内容1、掌握二元函数的作图方法,注意各种参数的正确选用;2、掌握三维参数曲线及曲面的作图;3、使用外部函数绘制三维图形;(1)改进的三维参数式绘图函数;(2)柱面参数式;(3)球面参数式;(4)曲线生成的旋转曲面;4、简单图形动画的演示;5、了解一下声音的制作与播放。
三、本次实验中可能用到的函数或命令<<Graphics`ParametricPlot3D`,<<Graphics`SurfaceOfRevolution`,<<Graphics`Graphics3D`,Export ,Import ,Plot3D ,ListPlot3D ,ParametricPlot , ,CylindricalPlot3D ,SphericalPlot3D ,SurfaceOfRevolution ,Animation ,ShowAnimation ,Play ,ListPlay ,Contour ,Shadow四、实验步骤a) 进入Mathematica 的运行环境;b) 各种简单三维图形的绘制;c) 三维参数图形的绘制;d) 三维外部函数的使用;e) 如实记录相关内容,如果结果过多,可以有针对性的记录一些;f) 关闭Mathematica,关机,把键盘及桌椅归理清楚;g) 根据记录结果书写实验报告,并浅谈本次实验的心得体会。
说明:由于本次内容过多,命令长而不好记,容易出错,大家在输入时一定要小心,最好使用Ctrl+K 来帮助输入。
希望同学们一定要结合教材上相关内容来做本次的演示实验。
西安交通大学数学实验报告(用MATLAB绘制二维、三维图形)
![西安交通大学数学实验报告(用MATLAB绘制二维、三维图形)](https://img.taocdn.com/s3/m/796565d8ddccda38376baffb.png)
实验报告(二)完成人:L.W.Yohann注:本次实验主要学习了用MATLAB绘制二维、三维图形的基本命令、图形的标识与修饰以及用符号函数绘图,在学习完成后小组对52页的上机练习题进行了程序编辑和运行。
1.绘制数列变化趋势图.解:在编辑窗口输入:n=1:100;an=(1+1./n).^n;plot(n,an,'r*')grid并保存,命名为lab1;在命令窗口中输入lab1,得:2.绘制数列变化趋势图.解:在编辑窗口输入:n=1:0.1:50;an=n.^(1./n);plot(n,an,'r*')grid并保存,命名为lab2;在命令窗口中输入lab2,得:3.绘制函数在无定义点处的变化趋势.解:在编辑窗口输入:x=-10:0.05:10;y=sin(x)./x;plot(x,y,'r*')grid并保存,命名为lab3;在命令窗口中输入lab3,得:4.在同一坐标系中画出函数及其Taylor多项式的图像解:y=sinx在编辑窗口输入:syms xf=sin(x);T6=taylor(f,x);T8=taylor(f,x,'Order',8);T10=taylor(f,x,'Order',10);T12=taylor(f,x,'Order',12);fplot([T6 T8 T10 T12 f])xlim([-8 8])grid onlegend('approximation of sin(x) up to O(x^6)',...'approximation of sin(x) up to O(x^8)',...'approximation of sin(x) up to O(x^{10})',...'approximation of sin(x) up to O(x^{12})',...'sin(x)','Location','Best')title('Taylor Series Expansion')并保存,命名为lab4sin;在命令窗口中输入lab4sin,得:y=exp(x)在编辑窗口输入:syms xf=exp(x);T6=taylor(f,x);T8=taylor(f,x,'Order',8);T10=taylor(f,x,'Order',10);T12=taylor(f,x,'Order',12);fplot([T6 T8 T10 T12 f])xlim([-8 8])grid onlegend('approximation of exp(x) up to o(x^6)',...'approximation of exp(x) up to o(x^8)',...'approximation of exp(x) up to o(x^{10})',...'approximation of exp(x) up to o(x^{12})',...'exp(x)','Location','Best')title('Taylor Series Expansion')并保存,命名为lab4exp;在命令窗口中输入lab4exp,得:5.符号函数绘图.注:在matlab r2010b 和matlab r2019b中对绘制函数图像的输入方法有不同的要求,故此类题分两个版本来求解。
工程数学实验
![工程数学实验](https://img.taocdn.com/s3/m/4ac666563a3567ec102de2bd960590c69ec3d8c6.png)
工程数学实验报告成绩:2015-2016—2学期学部:班级:姓名:学号:电话:Ⅰ展示图形之美篇要求:涉及到的文字用中文宋体五号字,Mathematica程序中的字体用Times New Roamn。
【数学实验一】题目:利用Mathematica制作如下图形(1),,其中k的取值为自己学号的后三位。
(2),其中k的取值为自己学号的后三位.Mathematica程序:(1)ParametricPlot[{423Sin[t],423Sin[2t]},{t,0,2Pi}](2)x=Sin[u]Cos[423v]y=Sin[u]Cos[v]z=Cos[u]ParametricPlot3D[{Sin[u]Cos[423v],Sin[u]Cos[v],Cos[u]},{u,0,Pi},{v,0,2Pi}]运行结果:【数学实验二】题目:请用Mathematica制作五个形态各异三维立体图形,图形函数自选,也可以由几个函数构成更美观、更复杂的图形;并用简短的语言说明选择该图形的理由和意义。
Mathematica程序:x[u_,v_]:=Sin[u]Cos[v];y[u_,v_]:=Sin[u]Sin[v];z[u_,v_]:=Cos[u];ParametricPlot3D[{x[u,v],y[u,v],z[u,v]},{u,—Pi/12,Pi/12Pi},{v,0,4Pi},Boxed-〉False,BoxRatios{1,1,1}]运行结果:图片像一个窝窝头,粮食是人类的生存之本Mathematica程序:ParametricPlot3D[{r,Exp[—r^2Cos[4r]^2]*Cos[t],Exp[-r^2Cos[4r]^2]Sin[t]},{r,-1.2,1.2},{t,0,2Pi}]运行结果:图片像一块奶糖Mathematica程序:ContourPlot3D[(2x^2+y^2+z^2-1)^3—(x^2z^3)/10—y^2*z^30,{x,—1。
3三维曲线曲面标注着色效果光照观测点4页word文档
![3三维曲线曲面标注着色效果光照观测点4页word文档](https://img.taocdn.com/s3/m/f89a9f935022aaea998f0f7c.png)
《数学实验》报告实验名称数学实验三学院专业班级姓名学号2013年 5月一、【实验目的】掌握Matlab绘图的基本知识。
学会使用matlab绘制三维曲线和三维曲面。
掌握基本的绘图指令,学会为图形添加各种标注,以及改变图形的着色效果,光照,改变图形的观测点以获取图形的投影等方法。
二、【实验任务】P79第7、8、9题三、【实验程序】第7题t=-10:0.1:10;[x,y]=meshgrid(t);z=(x.^2+3*y.^2)+eps;subplot(1,2,1),mesh(x,y,z),title('网格图'),light('position',[0,10,100]);subplot(1,2,2),surf(x,y,z),title('曲面图'),shading interp,light('position',[0,-10,100])第8题v=[-3 3 -4 4 -2 2];[x,y,z]=sphere(30);subplot(2,2,1),surf(3*x,4*y,2*z),title('立体图'),axis(v);subplot(2,2,2),surf(3*x,4*y,2*z),view([0,0,1]),title('观测点(0,0,1)') subplot(2,2,3),surf(3*x,4*y,2*z),view([0,1,0]),title('观测点(0,1,0)') subplot(2,2,4),surf(3*x,4*y,2*z),view([1,0,0]),title('观测点(1,0,0)')第9题%三维曲面t=-2:0.01:2;[x,y]=meshgrid(t);z1=5-x.^2-y.^2+eps;subplot(1,3,1),mesh(x,y,z1),title('三维曲面')%平面z2=3*ones(size(x))subplot(1,3,2),mesh(x,y,z2),title('平面')%交线r0=abs(z1-z2)<=1;zz=r0.*z2;yy=r0.*y;xx=r0.*x;subplot(1,3,3),plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'b.')title('交线')四、【实验结果】第7题第8题第9题五、【实验总结】对matlab中的三维绘图控制,输入函数指令以及坐标掌握的并不熟悉。
matlab实验 三维画图
![matlab实验 三维画图](https://img.taocdn.com/s3/m/c171e6ab65ce050876321321.png)
实验(六)项目名称:三维绘图一、实验目的:熟悉MATLAB中几个常用的绘图命令,掌握集中常见三维图形的画法。
二、实验原理三维绘图命令:Plot(X,Y,Z)//曲线;mesh(X,Y,Z)//网状;surf(X,Y,Z)//表面;contour(X,Y,Z)//等高线。
三、实验环境1.硬件:PC机2. 软件:Windows操作系统、matlab2015四、实验内容、步骤以及结果4.1.1实验要求:用plot函数画出的三维曲线。
4.1.2实验步骤(1)启动matlab,新建一个M文件;(2)输入程序,如图1;(3)保存文件;(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;图1:plot函数画三维曲线4.1.3运行结果如下:图2:三维曲线4.2.1实验要求:用mesh函数画出的三维网状图。
4.2.2实验步骤(5)启动matlab,新建一个M文件;(6)输入程序,如图3;(7)保存文件;(8)编译源程序,查看运行结果,如图4。
图3:mesh函数画三维网状图图4:运行结果4.3.1实验要求:用surf函数画出的三维表面图。
4.3.2实验步骤(9)启动matlab,新建一个M文件;(10)输入程序,如图5;(11)保存文件;(12)编译源程序,查看运行结果,如图6。
图5:surf函数画三维表面图图6:运行结果4.3.1实验要求:用contour函数画出的等高线图。
4.3.2实验步骤(13)启动matlab,新建一个M文件;(14)输入程序,如图7;(15)保存文件;(16)编译源程序,查看运行结果,如图8。
图7:contour函数画等高线图8:运行结果五、实验总结MATLAB具有强大的图形功能,能够将它们直观的表现出来,解决很多的问题。
数学实验作图M文件
![数学实验作图M文件](https://img.taocdn.com/s3/m/dfc23c8dd0d233d4b14e6959.png)
(1cos )cos ,(1cos )sin ,sin .x u v y u v z u =+⎧⎪=+⎨⎪=⎩云南大学数学与统计学实验教学中心 实 验 报 告课程名称:数学实验 学期:大二下 成绩: 指导教师:朱娟萍 学生姓名: 学生学号: 实验名称:作图练习、M 文件 实验要求:用MATLAB实验学时: 实验编号:1实验日期: 完成日期: 学院: 数学与统计学院 专业 :年级:一、实验目的熟悉MATLAB 基本界面,画图命令,并能掌握画二维三维图形,以及在图形上加标注,及对图形的适当修改处理。
二、实验环境 Matlab7.0版本 三、实验内容P31 1.7.2 实验二:作图练习 1.用两种方法在同一坐标轴下做出 23451;2;3;4y x y x y x y x====这四条曲线的图形,并要求用两种方法在图上加各种标注。
2.用subplot 分别在不同的坐标系下作出下列四条曲线,为每幅图形加上标题。
1)概率曲线2;xy e-=2)四叶玫瑰曲线sin 2ρθ=;3)叶形线 4)曳物线 ;3.作出下列曲面的3维图形。
1)2)实验三:编写M 文件3.建立一个命令M 文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各2211ln 1y x y y ±-=±-2223,13;1t x tt y t ⎧=⎪⎪+⎨⎪=⎪+⎩22sin()z x y π=+位数字的立方和等于该数本身。
例如,153是一个水仙花数,因为153=13+53+33。
2.编写函数M-文件SQRT.m :用迭代法求ax =的值。
求平方根的迭代公式为:112n n n a x x x +⎛⎫=+ ⎪⎝⎭迭代的终止条件为前后两次求出的x 的差的绝对值小于10-5。
四、程序源代码:1. 方法一: x=-1:0.1:1; % 从-1到1,增量为0.1y1=x.^2; % 由于x 是一维数组,所以用.^来构造y 的一维数组。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图形颜色控制命令colormap
colormap([R,G,B]) 用单色绘图, [R,G,B]代表一个 配色方案,取值在[0,1]之间。通过对R、G、B大小 的设置,可以调制出不同的颜色。p71表4-5 colormap(CM) CM为色图矩阵。色图为m*3的矩 阵。Matlab预定义了一些色图矩阵的例:绘制函数 z xe
( x2 y 2 )
, 2 x, y 2 的图像,
比较指令mesh和surf。
解:matlab命令为:
t=-2:0.1:2; [x,y]=meshgrid(t); z=x.*exp(-x.^2-y.^2); subplot(1,2,1),mesh(x,y,z),title('网格图') subplot(1,2,2),surf(x,y,z),title('曲面图')
视角控制命令view
view(az,el)
设置查看三维图的 视点。az为水平方 位角,从y轴负方向 开始,逆时针旋转 为正;el为垂直方 位角,以向z轴方向 旋转为正。三维默 认视角为az=-37.5, el=30
view([x,y,z])
笛卡尔坐标系下的视角,忽略向量的幅值
旋转控制命令rotate
2 (3,4,1) 1.5 (2,4,1) 1 (1,4,1) (1,3,1) 0.5 (1,2,1) 0 4 3 2 1.5 1 1 2 (1,1,1) 3 2.5 (2,3,1) (2,2,1) (2,1,1) (3,3,1) (3,2,1) (3,1,1)
北京科技大学数学实验
例:
x=1:.1:3;
r0=abs(z1-z2)<=1; zz=r0.*z2;yy=r0.*y;xx=r0.*x; subplot(1,3,3),plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'x') title('交线')
北京科技大学数学实验
马鞍面、平面及交线
北京科技大学数学实验
三维图形的控制命令
plot3与plot的 用法相同
北京科技大学数学实验
,
x t sin t y t cos t 例:绘制三维曲线的图像: z t
解:matlab命令为:
(0 t 20 )
t=0:pi/10:20*pi; x=t.*sin(t); y=t.*cos(t) ; z=t; plot3(x,y,z)
z=peaks(50); subplot(121),surf(z) subplot(122),surf(z),light('position',[20,-20,5])
作业:P79
5,9
z xe
x2 y 2
t=-2:.1:2; [x,y]=meshgrid(t); z=x.*exp(-x.^2-y.^2); subplot(121),mesh(x,y,z); subplot(122),h=mesh(x,y,z) rotate(h,[-2,-2,0],30,[2,2,0])
matlab 三维绘图
北京科技大学数学实验
三维曲线绘图
三维曲面绘图
北京科技大学数学实验
二、matlab三维曲线绘图
plot3——三维曲线绘制指令
plot3的调用格式:
plot3(X,Y,Z) plot3(X,Y,Z,’String’) plot3(X1,Y1,Z1,’ String1’,X2,Y2,Z2,’ String2’,…)
rotate3d
动态旋转命令,可以让用户使用鼠标来旋转视角
背景颜色控制命令colordef
colordef white 将图形的背景颜色设置为白色 colordef black colordef none 将图形背景和图形窗口的颜色设 置为默认的颜色 colordef (fig,color_option) 将图形句柄fig图形的背 景设置为color_option指定的颜色
y=1:.1:4;
[X,Y]=meshgrid(x,y); Z=ones(size(X)); mesh(X,Y,Z)
北京科技大学数学实验
surf ——绘制三维表面图
与三维网格图的区别:
网格图:线条有颜色,空挡没有颜色
曲面图:线条是黑色,空挡有颜色(把线条之间的 空挡填充颜色,沿z轴按每一网格变化)
rotate(h,direction,alpha,orgin)
将图形绕方向旋转一个角 度 h---表示被旋转的对象 direction--方向轴:可 用球坐标[theta,phi] 或直角坐标[x,y,z] alpha---按右手法旋转的 角度 orgin---支点
例4-34 利用rotate函数,从不同角度查看函数
%返回图形对象的句柄
subplot(121),surf(ones(10,10)) %subplot(122),h = surf(ones(10,10));rotate(h,[0 0 1],45,[1 0 0]),rotate3d
for i=1:45 subplot(122),h = surf(ones(10,10));rotate(h,[0 0 1],i,[1 0 0]),rotate3d end
shading interp
使用插值的方式为图形着色。网格图线段,或者曲面图 贴片上各点的颜色由该线段两端或该贴片4个顶点的颜色线 性插值所得。
shading faceted
以平面为单位进行着色,在flat用色基础上,在贴片的 四周勾出黑色网线。
subplot(131),surf(peaks(40)); subplot(132),surf(peaks(40));shading flat subplot(133),surf(peaks(40));shading interp
光照控制命令light
Matlab提供了许多函数在图形中进行对光源的定 位并改变光照对象的特征,见P73表4-7.其中light函 数用于设置光源。
light(‘propertyname’,propertyvalue,…)创建光源 并设置其属性 handle=light(…) 返回所创建光源的句柄
北京科技大学数学实验
三、matlab三维曲面绘图
meshgrid——生成网格矩阵
[X,Y]=meshgrid(x,y)--------生成小矩形顶点的坐
标值矩阵
调用格式:
[X,Y]=meshgrid(x) 等价于[X,Y]=meshgrid(x,x)
北京科技大学数学实验
例:x=[1,2,3];y=[1,2,3,4]; [X,Y]=meshgrid(x,y)
透视控制命令hidden
Matlab在绘制三维网线图和曲面图时,一般进行消 隐处理,为得到透视效果,用以下命令:
hidden on 消隐被遮挡的图形 hidden off 透视被遮挡的图形
[x0,y0,z0]=sphere(30); X=2*x0;Y=2*y0;Z=2*z0; surf(x0,y0,z0); %画里面的小球 shading interp %使用插值的方式进行着色 hold on,mesh(X,Y,Z),colormap(hot), hold off hidden off %透视外面大球看到里面小球 axis equal,axis off %坐标轴三个方向上刻度增量相同,并消隐坐标轴
X=
1 1 1 1 1 2 3 4
2 2 2 2 1 2 3 4
3 3 3 3 1 2 3 4
北京科技大学数学实验
Y=
mesh——三维网格线绘图命令
利用函数meshgrid生成格点矩阵后,再求出各格
点对应的函数值,就可以利用三维网格命 mesh画出 空间网格曲面。 mesh(Z) -------Z为nm矩阵,X,Y坐标为元素
z=peaks(20); CM=cool; %CM=[hot;pink]; %用两个已知的色图构成新的色图 surf(z) colormap(CM) colorbar %显示色度条
图形着色控制命令shading
shading flat
使用平滑方式着色。网格图的某条线段或曲面图中的某 整个贴片都是一种颜色,该颜色取值线段的两端或者该贴片 4个顶点中下标最小那点的颜色。
的下标
mesh(X,Y,Z)-------X,Y,Z分别为三维空间的坐标
北京科技大学数学实验
例:x=[1,2,3] y=[1,2,3,4] [X,Y]=meshgrid(x,y)
X=
1 1 1
1 2 2 2
2 3 3 3
3
Y =1 2 3 4 2 3 4
1 2 3 4
1
Z=ones(size(X));mesh(X,Y,Z)
北京科技大学数学实验
北京科技大学数学实验
例
用平行截面法讨论由方程构成的马鞍面形状。
解:Matlab命令为
t=-10:0.1:10; [x,y]=meshgrid(t); z1=(x.^2-2*y.^2)+eps; subplot(1,3,1),mesh(x,y,z1),title('马鞍面') a=input('a=(-50<a<50)'), z2=a*ones(size(x)); subplot(1,3,2),mesh(x,y,z2),title('平面')