matlab三维图形的绘制 |
您所在的位置:网站首页 › matlab绘制三维图形z=5 › matlab三维图形的绘制 |
采用matlab进行三维图绘制 1.mesh函数:网格图 mesh(x,y,z)x是n维向量,y是m维向量,z是m*n维向量 x=1:0.1:10; y=1:0.1:10; [x, y] = meshgrid(x,y); z=x.^2-y.^2; mesh(x,y,z)
绘制出在某一区间内完整的曲面图 surf函数和mesh函数的的调用格式基本相同 两者的区别: mesh绘出彩色的线,surf绘出彩色的面,下面进行对比 [x,y] = meshgrid(-5:0.5:5); % 快速生成网格所需的数据 tem = sqrt(x.^2+y.^2)+1e-12; z = sin(tem)./tem; % 如果不对tem处理,那么z的最中间的一个值 0/0 = NaN subplot(1,2,1) mesh(x,y,z) xlabel('x轴'); ylabel('y轴'); zlabel('z轴'); % 加上坐标轴的标签 axis vis3d % 冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示 title('mesh(x,y,z)') subplot(1,2,2) surf(x,y,z) % (X(j), Y(i), Z(i,j))是线框网格线的交点 xlabel('x轴'); ylabel('y轴'); zlabel('z轴'); % 加上坐标轴的标签 axis vis3d % 冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示 title('surf(x,y,z)')
设置色彩模式 shading 是用来处理色彩效果的,分以下三种: shading faceted是默认的模式 shading flat 在faceted的基础上去掉 图上的网格线 shading interp 在flat的基础上进行色彩的插值处理,使色彩平滑过渡 contour(x,y,z,n) 在x-y平面绘制等高线图,n是一个标量,那么Matlab会将等高线的层数设置为n,且会自动选择层所在的高度。 如果不加n,会自动设置层数。 [x,y] = meshgrid(-3:0.1:3); % 一个语句太长时,可以加上三个点然后在下一行继续写 z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2)... -10* (x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ... - 1/3*exp(-(x+1).^2 - y.^2); % matlab中内置的peaks函数,常常作为演示使用 % edit peaks contour(x,y,z) xlabel('x轴'); ylabel('y轴'); % 加上坐标轴的标签
plot3函数 (类似于plot函数,实际上可以认为画的是三维空间下的折线图) t = linspace(0,4*pi,100); % 符号是t,t从0变动到4pi,等分为100个点 x = sin(t)+1; % 利用t计算x的值 y = cos(t); % 利用t计算y的值 z = t; % 利用t计算z的值 plot3(x,y,z) % 绘制三维空间下的折线图
fmesh() 三维曲面网格图,效果类似mesh函数 syms x y z=x^2+y^2; fmesh(z) % 默认x的变化范围和y的变化范围都是[-5 5]
fimplicit(f,interval) 指定绘图区间[]依次是x,y,z的上下范围 % fimplicit3(f) 在默认区间 [-5 5]上绘制 f(x,y,z) = 0 定义的三维隐函数。 f = @(x,y,z) x.^2 + y.^2 - z.^2; % 函数句柄(在拟合那一节里面介绍过),这里要注意,要用点运算符 fimplicit3(f) xlabel('x轴'); ylabel('y轴'); zlabel('z轴'); % 加上坐标轴的标签 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |