许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Matlab画图(清风建模学习笔记):绘图参数与实例详解

Matlab画图(清风建模学习笔记):绘图参数与实例详解

阅读数 6
点赞 0
article_banner

一、mesh 函数 :绘制出在某一区间内完整的网格图

(1)mesh(X,Y,Z)的用法,其中X、Y和Z都是m*n维的矩阵

(2) meshc函数:除了mesh函数图形外,还在xy平面上绘制曲面的等高线

(3)meshz函数:除了mesh函数图形外,还在xy平面上绘制曲面的底座

二、 surf 函数:绘制出在某一区间内完整的曲面图

(1)surf函数和mesh函数的的调用格式基本相同 两者的区别: mesh绘出彩色的线,surf绘出彩色的面

(2)surfc函数:除了surf函数图形外,还在xy平面上绘制曲面的等高线

(3)surfl函数:加上了灯光效果,看起来自然点

设置彩色模式

三、 contour函数:绘制等高线图

contour(x,y,z) 在x-y平面绘制等高线图,Matlab会自动选择等高线的层级

contour(x,y,z,n) x-y平面绘制等高线图,n是一个标量,那么Matlab会将等高线的层数设置为

n,且会自动选择层所在的高度。

contour(x,y,z,5,'LineWidth',2) % 设置线的宽度为2

contour(x,y,z,5,'--') % 设置等高线为虚线

contour(x,y,z,5,'ShowText','on') % 显示每一层的高度

contour(x,y,z,5,'--','ShowText','on','LineWidth',2) % 可以组合起来使用

colorbar % 显示颜色栏,也可以手动插入

xlabel('x轴'); ylabel('y轴'); % 加上坐标轴的标签

contour(x,y,z,levels) 若想得到固定的n个高度的等高线,将levels可以设置为n元行向量,其中

向量中的值为高度值。

% 思考如果只想画出高度为3的单等高线怎么办?

contour(x,y,z,[3 3],'ShowText','on')

xlabel('x轴'); ylabel('y轴'); % 加上坐标轴的标签

contourf函数:和contour函数类似,只不过画出来的等高线图有颜色填充

contourf(x,y,z,levels,'ShowText','on')

xlabel('x轴'); ylabel('y轴'); % 加上坐标轴的标签

contour3函数:3维等高线图,等高线不再投影到x-y平面

contour3(x,y,z,levels,'ShowText','on')

xlabel('x轴'); ylabel('y轴'); zlabel('z轴'); % 加上坐标轴的标签

四、 符号函数的三维图形绘制

(1)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) % 绘制三维空间下的折线图

plot3(x,y,z,'r--')

(2)fplot3函数 (2016a版本推出的函数,老版本Matlab用的是ezplot3函数,未来版本可能会被淘汰)


syms t% 符号是t

x = sin(t)+1;

y = cos(t);

z = t;

fplot3(x,y,z) % 默认t的变化范围为[-5 5]

fplot3(x,y,z,[0 4*pi]) % 修改t的变化范围为0至4p


(3) fmesh 三维网格图 (2016a版本推出的函数,老版本Matlab用的是ezmesh函数,未来版本可能会被淘汰)


syms x y

z=x^2+y^2;

fmesh(z) % 默认x的变化范围和y的变化范围都是[-5 5]

fmesh(z,[-2 2 -4 4]) % 修改x的变化范围和y的变化范围分别为[-2 2]和[-4 4]

% axis vis3d % 冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示

% axis equal % 设置屏幕高宽比,使得每个坐标轴的具有均匀的刻度间隔

fmesh(z,[-2 2 -4 4],'MeshDensity',11) % 设置每个方向计算的点数

% 画一朵花花送给亲爱的Ta

syms u v

r = 2 + sin(7.*u + 5.*v);

x = r.*cos(u).*sin(v);

y = r.*sin(u).*sin(v);

z = r.*cos(v);

% 可以直接用乘号

% r = 2 + sin(7*u + 5*v);

% x = r*cos(u)*sin(v);

% y = r*sin(u)*sin(v);

% z = r*cos(v);

fmesh(x,y,z,[0 2*pi 0 pi])

(4)fsurf 三维曲面图 (2016a版本推出的函数,老版本Matlab用的是ezsurf函数,未来版本可能会被淘汰)


syms x y

z=x^2+y^2;

fsurf(z) % 默认x的变化范围和y的变化范围都是[-5 5]

fsurf(z,[-2 2 -4 4]) % 修改x的变化范围和y的变化范围分别为[-2 2]和[-4 4]

fsurf(z,[-2 2 -4 4],'MeshDensity',11) % 设置每个方向计算的点数

(5)fcontour 绘制等高线 (2016a版本推出的函数,老版本Matlab用的是ezcontour函数,未来版本可能会被淘汰)

syms x y

z=x^2+y^2;

fcontour(z) % 默认x的变化范围和y的变化范围都是[-5 5]

fcontour(z,[-2 2 -4 4]) % 修改x的变化范围和y的变化范围分别为[-2 2]和[-4 4]


fcontour(z,'fill','on') % 在等高线线条间进行填充

五、Matlab绘制隐函数的图形

% 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轴'); % 加上坐标轴的标签

interval = [-5 5 -5 5 0 5]; % 指定范围

fimplicit3(f,interval)

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空