MATLAB的三维画图(以plot3,contour为主)
来源:互联网 发布:设计优化的意义 编辑:程序博客网 时间:2024/06/05 10:42
%这是我关于MATLAB 的入门初级画图方法的学习过程和笔记,希望能对大家有帮助。
%有错误或疑惑的地方欢迎指出
%引用部分已经指出,如果涉及侵权,和我联系确认后保证删除。
%2017年8月29日
%《MATLAB R2015a数值分析计算方法》 张德丰 清华大学出版社%---------------------画3维图表-----------------------------%
theta=0:0.01*pi:2*pi;
x=sin(theta);
y=cos(theta);
z=cos(4*theta);
plot3(x,y,z,':m','LineWidth',2);
hold on
theta=0:0.02*pi:2*pi;
x=sin(theta);
y=cos(theta);
z=cos(4*theta);
plot3(x,y,z,'bd','MarkerSize',5,'LineWidth',2);
grid on
hold off;
pause;
%---------------三维网格图---------------%
clear all
[x,y]=meshgrid(-3:0.5:3);
z=2*x.^2-3*y.^2;
subplot(221);
plot3(x,y,z);
title('plot3');
subplot(222);
mesh(x,y,z);
title('mesh');
subplot(223)
meshc(x,y,z);
title('meshc');
subplot(224)
meshz(x,y,z);
title('meshz');
set(gcf,'color','w'); %set 函数用于设定属性
pause;
%---------------------曲面图形-------------------------------%
clear all
[x,y]=meshgrid(-3:1/8:3); %函数是产生平面区域内的网格坐标矩阵,即以xy建立平面
z=peaks(x,y);
subplot(221);
surf(z);
title('surf(z)绘图形式');
subplot(222);
surf(x,y,z);
title('surf(x,y,z)绘图形式');
subplot(223);
surfl(x,y,z);
title('surfl(x,y,z)绘图形式');
subplot(224);
surfc(x,y,z);
title('surfc(x,y,z)绘图形式');
pause;
%---------------------等值线 等高线--------------------------------%
clear all
subplot(121);z=peaks; %peaks 为自动的一个以Z为输出的函数表达式:
%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)
[c,h]=contour(interp2(z,4)); %contour,为画平面等高线的函数,contour(x,y,z)或者contour(z)
text_handle=clabel(c,h); %clabel 标示等高线的数字 clabel(c,h); c和h是由contour得出的等高线矩阵和列向量
set(text_handle,'BlackgroundColor',[1 1 .6],'Edgecolor',[.6 .7 .5]);
[x,y]=meshgrid([-2:.25:2]);
z=x.*exp(-x.^2-y.^2);
subplot(122);contour3(x,y,z,30); %contour3(x,y,z,30),以x,y,z建立含30条等高线的三维等高图。
surface(x,y,z,'EdgeColor',[.8 .8 .8],'FaceColor','none')
grid off
view(-15,25)
colormap cool
set(gcf,'color','w')
%-------------------三维特殊图像----------------%
clear all
t=0:pi/10:2*pi;
[x1,y1,z1]=cylinder(2+cos(t)); %以x为轴旋转出圆柱体,[x,y,z]=cylinder(r,n) 函数一个半径为r、高度为1的圆柱体的x,y,z轴的坐标值,圆柱体沿其周长有n个等距分布的点;
subplot(2,3,1);surf(x1,y1,z1);
colormap gray
axis square ; %当前坐标系图形设置为方形
title('三维柱面图');
subplot(2,3,2); sphere;
axis square;
title('三维球体');
x1=[1 3 0.5 2.5 2];
explode=[0 1 0 0 0];
subplot(233);pie3(x1,explode); % pie3 是画出立体饼状图,pie 是画出平面饼状图
title('三维饼图');
axis equal; %将横轴纵轴的定标系数设成相同值 ,即单位长度相同
x2=[0 1 1 2;1 1 2 2;0 0 1 1];
y2=[1 1 1 1;1 0 1 0;0 0 0 0];
z2=[1 1 1 1;1 0 1 0;0 0 0 0];
c=[0.5000 1.0000 1.0000 0.5000;
1.0000 0.5000 0.5000 0.1667;
0.3330 0.3330 0.5000 0.5000];
subplot(234);
fill3(x2,y2,z2,c);
colormap jet
title('三维填充图');
axis equal;
[x2,y2]=meshgrid(-3:.5:3,-3:.1:3);
z2=peaks(x2,y2);
subplot(235); ribbon(y2,z2);
colormap hsv
title('三维彩带图');
axis equal;
[x3,y3]=meshgrid(-2:0.25:2,-1:0.2:1);
z3=x3.*exp(-x3.^2-y3.^2);
[u,v,w]=surfnorm(x3,y3,z3);
subplot(236);quiver3(x3,y3,z3,u,v,w,0.5);
hold on
surf(x3,y3,z3);
colormap hsv
view(-35,45);
title('三维向量图');axis equal;
set(gcf,'color','w');
- MATLAB的三维画图(以plot3,contour为主)
- MATLAB的二维画图(以plot为主)
- MATLAB三维散点图的绘制(scatter3、plot3)
- MATLAB三维散点图的绘制(scatter3、plot3)
- MATLAB三维散点图的绘制(scatter3、plot3)
- Matlab绘制三维曲线(plot3)和三维图形(mesh & surf)
- Matlab绘制三维曲线(plot3)和三维图形(mesh & surf)
- matlab 三维画图总结
- matlab 三维画图总结
- MATLAB 三维画图
- mesh三维画图[matlab]
- surf三维画图[matlab]
- papa的儿子 matlab plot3 color peaks
- matlab中的contour画曲面的等高线图 和pie 饼状图 surf画三维图
- ACM——博弈论 (以SG的求法为主)
- ACM——博弈论 (以SG的求法为主)
- Matlab中以三维的方式显示灰度图像
- Matlab 学习 画图篇 二 三维图形
- Java9都快发布了,Java8的十大新特性你了解多少呢?
- 关于 tomcat 集群中 session 共享的三种方法
- 重定向与转发
- Jni开发Javah 生成头文件提示找不到类解决方案
- std::move:强制转化为右值
- MATLAB的三维画图(以plot3,contour为主)
- 管理式香港虚拟主机有哪些优势
- CodeIgniter框架源码学习之语言类--Lang.php
- mysql加环境变量
- python数组的使用
- Retrofit+okhttp网络框架请求
- 虚拟内存的意义及管理
- JS对JSON的操作总结 (转)
- C++ Primer Plus第六章课后编程答案