科学计算与仿真应用(基于MWORKS)课件 第四章 Syslab绘图功能教学_第1页
科学计算与仿真应用(基于MWORKS)课件 第四章 Syslab绘图功能教学_第2页
科学计算与仿真应用(基于MWORKS)课件 第四章 Syslab绘图功能教学_第3页
科学计算与仿真应用(基于MWORKS)课件 第四章 Syslab绘图功能教学_第4页
科学计算与仿真应用(基于MWORKS)课件 第四章 Syslab绘图功能教学_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章Syslab绘图功能教学本章目标了解Syslab中绘图功能的整体框架掌握

二维图形的绘制方法与常用函数(plot等)熟悉

三维图形绘制的基本流程(plot3、mesh等)学会

图形属性设置方法(坐标轴、网格、标题、图例等)能够根据实际问题

选择合适的绘图函数并完成可视化表达知识点总览二维绘图函数:掌握plot及其多种调用形式,实现基本曲线绘制。图形属性设置:学会设置坐标轴、网格线、标题、图例等图形元素。特殊二维图形:了解条形图、直方图、极坐标图等常见可视化方法。简易绘图函数:掌握ezplot、ezpolar等快速绘图工具。三维绘图基础:理解plot3、patch等三维图形绘制方法。三维曲面与网格:学会mesh、meshc、meshz等曲面可视化技术。plot函数:二维绘图的核心plot函数是Syslab中用于绘制二维图形的基础函数,支持多种数据类型和丰富的属性设置基本语法格式plot(x)实向量→以下标为横坐标;实矩阵→以列下标为横坐标;复数矩阵→实部为横坐标、虚部为纵坐标plot(x,y)同维数组→以元素为横纵坐标;一方为数组、另一方为矩阵→绘制多条曲线plot(x1,y1,x2,y2)在同一窗口绘制多条曲线线色、点符号、线型线色b蓝g绿r红c青m洋红y黄k黑w白点符号.点o圆x叉+加号*星号D钻石v倒三角线型-实线:点线-.点划线--虚线plot函数:二维绘图的核心其他常用属性linewidth线宽设置markersize点符号大小markerfacecolor点填充颜色markeredgecolor点边框颜色代码示例usingTyPlotusingTyBasex

=

0:

2*pi/30

:

2*piy

=

sin.(x)plot(x,

y,

"ro-.",

linewidth=1,

markersize=10,

markerfacecolor="g",

markeredgecolor="y")绘制红色虚线,带圆形标记,线宽为1,标记大小为10,填充绿色,边框黄色图形参数设置通过图形参数设置,可以精确控制坐标轴、标题、分格线等元素,提升图表的专业性和可读性分格线控制grid("on")

#

显示分格线grid("off")

#

隐藏分格线grid

#

切换状态分格线的疏密程度由坐标刻度决定,如需改变需先定义坐标刻度标题与标签title("文字")添加图形标题,支持fontname和fontsize属性xlabel/ylabel设置坐标轴标签legend("字符串")添加图例说明text(X,Y,"字符串")在指定位置添加文本坐标轴设置axis([xminxmaxyminymax])设置x轴和y轴显示范围axis("auto")返回坐标刻度默认值axis("equal")各坐标轴等刻度显示axis("tight")坐标范围与数据区间一致axis("off")/axis("on")关闭/打开坐标系图形参数设置子窗口设置subplot(m,n,p)将窗口拆分为m×n个子窗口,第p个为当前窗口子窗口顺序:先按行从左到右特殊符号支持希腊字母\alphaα\betaβ\gammaγ\thetaθ\piπ\omegaω\sigmaσ\phiφ数学符号\infty∞\int∫\partial∂\rightarrow→图例与注释legend("说明"):添加图例text(x,y,"字符串"):在图中插入说明文字作用:区分多条曲线、突出关键信息特殊二维图形Syslab提供多种特殊二维图形函数,满足不同数据可视化需求条形图与直方图bar(x,y)竖直条形图,x为横坐标,y为向量或矩阵barh(x,y)水平条形图hist(y,n)直方图,n为区间数量特殊线图stairs(x,y)阶梯图形stem(x,y)茎状图plt_fill(x,y,c)填充图,c指定填充颜色极坐标与矢量图polarplot(theta,rho)极坐标图,theta为极角,rho为径向长度feather(u,v)矢量图,u为x轴速度,v为y轴速度其他实用函数fplot快速绘图comet彗星轨迹pie饼图scatter散点图特殊二维图形Easy绘图函数简化版绘图函数,无需精确定义数据点ezplot(fun,[xmin,xmax])绘制函数在指定域内的图形ezplot(funx,funy,[tmin,tmax])绘制参数方程曲线ezpolar(fun,[a,b])绘制极坐标曲线Easy函数适合快速查看函数图形,不需要预先计算数据点特殊二维图形的核心作用:让“数据结构”比“数值本身”更直观连续变化

曲线图分类对比

条形图分布特征

直方图方向信息

极坐标或矢量图通常来说,选择图形的原则如下:plot3与patch:三维绘图基础三维绘图从plot3函数开始,通过patch函数可以创建填充多边形plot3函数plot3(x,

y,

z,

s)x、y、z:三维坐标数据,尺寸必须相等s:设置线型、颜色、数据点标记的字符串支持在同一窗口绘制多条三维曲线(使用hold("on"))主要功能绘制空间轨迹展示参数曲线支持多条曲线叠加代码示例-螺旋曲线usingTyPlotusingTyBaset

=

LinRange(0,12*pi,100)plot3(t.*sin.(t),

t.*cos.(t),

t,

"b-o",

markerfacecolor="g",

linewidth=2)xlabel("sin(t)")ylabel("cos(t)")zlabel("t")grid("on")plot3与patch:三维绘图基础patch函数patch(x,

y,

z,

c)用途:建立补片对象(多边形)c:指定填充颜色多边形未封闭时会自动封闭主要功能构建几何模型绘制立体结构表示空间区域代码示例-绘制有填充面的立方体usingTyPlotusingTyBasefigure()#打开一个新图形窗口.#定义x1、y1、z1、x2、y2、z2、x3、y3、z3,表示三个填充面的顶点坐标.x1=[0,1,1,0];y1=[0,0,0,0];z1=[0,0,1,1];x2=[0,1,1,0];y2=[0,0,1,1];z2=[1,1,1,1];x3=[0,0,0,0];y3=[0,0,1,1];z3=[0,1,1,0];#填充由三个数组x、y、z定义的区域.patch(x1,y1,z1,"y");hold("on")patch(x2,y2,z2,"b");patch(x3,y3,z3,"g");plot3与patch:三维绘图基础应用场景plot3应用三维曲线、螺旋线、空间轨迹、参数方程曲线patch应用立方体、多面体、填充曲面、三维建模基础主要区别plot3表达“线结构”(轨迹、路径)patch表达“面结构”(区域、几何体)三维网格图与曲面图mesh和surf函数是三维可视化中最常用的函数,分别用于绘制网格图和曲面图peaks函数生成测试数据,常用于mesh、surf等函数x,y,z

=

peaks(n)生成n×n矩阵,默认n=49表达式包含高斯函数的组合shading阴影模式shadingflat平面阴影模式shadingfaceted面元阴影模式(默认)mesh函数(网格图)mesh(x,y,z,c)基于x、y、z矩阵绘制网格图hidden("on")/hidden("off"):控制是否显示被遮挡部分meshc:带等高线的网格图meshz:带帘幕的镂空网格图surf函数(曲面图)surf(x,y,z,c)绘制颜色填充的网格图与mesh的区别:surf填充面元surfc:带等高线的曲面图surfnorm:带法线的曲面图三维网格图与曲面图颜色设置colormap(map)设置色图,常用选项:jethsvhotcoolspringsummerautumnwintercolorbar

#

显示颜色条代码示例-绘制峰面usingTyPlotx,y,z=peaks(30);figure()surf(x,y,z);colormap("summer")title("峰面")等值线与矢量图contour函数用于绘制等值线,quiver函数用于绘制矢量场,是科学计算可视化的重要工具contour函数(等值线)contour(z)绘制z的等值线图contour(x,y,z)指定x、y轴坐标contour(z,n)n设置等值线条数contour(z,v)v向量定义等值线数值c,h=contour(...)返回等值线矩阵c和句柄hcontour3与contourfcontour3(x,y,z)绘制三维等值线图contour3(x,y,z,n)设置等值线条数contourf(z,n)绘制填充的等值线图clabel(c)为等值线添加数值标注等值线与矢量图quiver函数(矢量图)quiver(x,

y,

u,

v)绘制由小箭头构成的矢量图起始点:(x,y)对应的格点箭头长度:由(u,v)值确定代码示例x,y,z

=

peaks(30)vx,vy

=

gradient(z,2,2)contour(x,y,z,10)hold("on")quiver(x,y,vx,vy)axis("image")结合contour和quiver,可在等值线图上叠加矢量场综合应用实例实例1:带洞的峰面利用NaN(NotaNumber)在曲面上创建"洞"usingTyBase#加载TyBase函数库.#借助peaks函数定义变量x、y、z.x,y,z=peaks(50);#借助NaN(Notanumber)在峰面上定义一个洞.z[20:30,15:25].=NaN;figure()#打开一个新图形窗口.#绘制带洞的峰面.a=surf(x,y,z)#设置colormap属性为winter.colormap(a,"winter");#设置shading属性为faceted.shading(a,"faceted")将特定区域的z值设为NaN,即可在曲面上创建"洞"综合应用实例实例2:二重透视球面使用hold("on")在同一窗口绘制多个球面,通过alpha设置透明度实现透视效果#借助sphere函数定义矩阵x、y、z.x,y,z=sphere(30;fig=false)#定义x1、y1、z1和x2、y2、z2两套值.x1=15.*x;y1=15.*y;z1=15.*z;x2=20.*x;y2=20.*y;z2=20.*z;figure()#打开一个图形窗口.#绘制最小的球面.a=mesh(10.*x,10.*y,10.*z);#保留在当前图形窗口.hold("on")alpha(0)设置透明,可看到内部结构#绘制第二个球面.b=mesh(x1,y1,z1);#设置colormap属性为autumn.colormap(b,"autumn")c=mesh(x2,y2,z2);#绘制最大的球面.alpha(0)#设置透明度属性为0.#设置colormap属性为summer.colormap(c,"summer")hold("off")#释放当前图形窗口.axis("square")#设置axis属性为square.axis("off")#隐藏坐标系.综合应用实例实例3:缺失网格透视图结合NaN和colormap创建特殊视觉效果不同球面使用不同色图autumn、summer等色图部分区域设为NaN图形属性鼠标操作点击工具栏图标右击图形打开属性菜单设置面颜色、边颜色、线型、线宽"属性检查器"提供更多设置#借助sphere函数定义矩阵x、y、z.x,y,z=sphere(30;fig=false)#定义x1、y1、z1和x2、y2、z2两套值.x1=1.5.*x;y1=1.5.*y;z1=1.5.*z;x2=2.*x;y2=2.*y;z2=2.*z;z1[1:31,3:13].=NaN;z2[1:31,3:13].=NaN;#绘制最小的球面.a=surf(x,y,z);shading(a,"flat");#保留在当前图形窗口.hold("on")#绘制第二个球面.b=mesh(x1,y1,z1);#设置colormap属性为autumn.colormap(b,"autumn")#绘制最大的球面.c=mesh(x2,y2,z2);#设置color

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论