数学软件 第9讲 MATLAB绘图二 主讲教师: 鲜大权 副教授 西南科技大学理学院数学系.

Slides:



Advertisements
Similar presentations
MATLAB程序设计教程(第二版) 刘卫国 主编 中国水利水电出版社.
Advertisements

第5章 MATLAB绘图 5.1 二维图形 5.2 三维图形 5.3 三维图形的精细处理 5.4 隐函数绘图 5.5 低层绘图操作
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
UI(用户界面)集训班 Illustrator 高级班.
第四讲 绘图功能.
MATLAB程序设计基础 MATLAB的图形处理.
运用Matlab GUI辅助大学物理实验 蒋志洁 中山大学 物理学院
数学软件 Matlab —— 二维平面作图 —— 三维空间作图.
——Matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。
第5章 MATLAB 绘图.
——matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
第一部分 Matlab 软件介绍 《数学分析》实验课.
Matlab教學 Speaker:林昱志 Date:2012/10/25.
第5章 MATLAB绘图 5.1 二维数据曲线图 5.2 其他二维图形 5.3 隐函数绘图 5.4 三维图形 5.5 图形修饰处理
第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具.
第五讲 matlab句柄绘图 ——matlab语言的句柄绘图可以对图形各基本对象进行更为细腻的修饰,可以产生更为复杂的图形,而且为动态图形的制作奠定了基础。
第4章 MATLAB绘图 4.1 MATLAB二维曲线绘图 基本绘图指令 1.plot(Y) 功能:画一条或多条折线图.
走进编程 程序的顺序结构(二).
网络常用常用命令 课件制作人:谢希仁.
第八讲 MATLAB图形用 户界面设计.
绘制圆与多边形 椭圆形 绘制椭圆形的方法是 drawOval(x ,y , width , height), 绘制实心椭圆形的方法是
Origin7.0在二维作图中的 应用与示例 学科馆员:宁宝英.
复习: 什么叫做锐角三角函数(即直角三角形中的三角函数)? 以锐角为自变量,以比值为函数值的函数叫做锐角三角函数。
数学模型实验课(三) 插值与三维图形.
数学建模与数学实验 MATLAB作图.
实验二 MATLAB绘制图形 (一) 实验类型:验证性 (二) 实验类别:基础实验 (三) 实验学时数:2学时 .
POWERPOINT TEMPLATE HI.
第七章 操作符重载 胡昊 南京大学计算机系软件所.
28.1 锐角三角函数(2) ——余弦、正切.
第一章 函数与极限.
图片与视频数字化. 图片与视频数字化 图片分类 根据图片的构成元素来分 位图: 由像素组成,计算机按顺序存储每个像素点 的颜色信息的保存方式获得的图片。 位图放大后会模糊失真,存储空间相对较大。 矢量图: 由图元组成,通过数学公式计算获得的图片。 放大后不会失真,占用空间小。
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
1.函数 2.程序 3.图形 目的:掌握Matlab作平面曲线图的方法与技巧
第一单元 第3课 Matlab基本语法与操作 1. plot指令的基本调用格式 2.多次叠绘、双纵坐标和多子图 3.多子图
产品推广 PRODUCT PROMOTION PRESENTED BY OfficePLUS.
第11章 MATLAB图形用户界面设计 11.1 菜单设计 11.2 对话框设计 11.3 图形用户界面设计工具
标准配色方案 背景 文本和线条 阴影 强调色 主色一 主色二 主色三 主色四 推荐应用顺序. 标准配色方案 背景 文本和线条 阴影 强调色 主色一 主色二 主色三 主色四 推荐应用顺序.
三角函数诱导公式(1) 江苏省高淳高级中学 祝 辉.
第5章 MATLAB绘图 5.1 二维图形 5.2 三维图形 5.3 三维图形的精细处理 5.4 隐函数绘图 5.5 低层绘图操作
Z Mathematical Model ‡ ' 图形处理.
MATLAB 程式設計入門篇 三維立體繪圖 (part1)
三維繪圖 Helix t = 0:pi/50:10*pi; % linspace(0,10*pi,500); figure plot3(sin(t),cos(t),t) grid on axis square Remark: zlabel, view, surf.
第3章 MATLAB图形初步 编者.
第二章 MATLAB编程与作图 2.1 程序设计 2.2 作图 2.3 在线帮助和文件管理 2.4 习题 2019年4月23日
项目二:HTML语言基础.
正切函数的图象和性质 周期函数定义: 一般地,对于函数 (x),如果存在一个非零常数T,使得当x取定义域内的每一个值时,都有
Word中活用“艺▪图▪框” 信息技术必修(一).
第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具.
_13简单的GDI绘图操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
第二节 MATLAB 图形处理 内容: §1 二维图形显示 §2 图形可视编辑工具 §3 三维图形显示 §4 视角变换与三视图
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
学习任务三 偏导数 结合一元函数的导数学习二元函数的偏导数是非常有用的. 要求了解二元函数的偏导数的定义, 掌握二元函数偏导数的计算.
第11章 MATLAB图形用户界面设计 11.1 菜单设计 11.2 对话框设计 11.3 图形用户界面设计工具
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
正弦、余弦函数的性质 华容一中 伍立华 2017年2月24日.
武汉纺织大学传媒学院 cm.wtu.edu.cn
欢迎大家来到我们的课堂 §3.1.1两角差的余弦公式 广州市西关外国语学校 高一(5)班 教师:王琦.
正弦函数的性质与图像.
图片与视频数字化. 图片与视频数字化 图片分类 根据图片的构成元素来分 位图: 由像素组成,计算机按顺序存储每个像素点 的颜色信息的保存方式获得的图片。 位图放大后会模糊失真,存储空间相对较大。 矢量图: 由图元组成,通过数学公式计算获得的图片。 放大后不会失真,占用空间小。
基于列存储的RDF数据管理 朱敏
实验一 特殊函数与图形.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
大数据应用人才培养系列教材 Python语言 刘 鹏 张 燕 总主编 李肖俊 主编 刘 河 钟 涛 副主编.
实验二 MATLAB绘制图形.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
Presentation transcript:

数学软件 第9讲 MATLAB绘图二 主讲教师: 鲜大权 副教授 西南科技大学理学院数学系

9.1 三维图形的精细处理 9.2 图像与动画 9.3 低层绘图操作

西南科技大学网络教育系列课程 数学软件 9.1 三维图形的精细处理 9.1.1 图形的裁剪处理 MATLAB定义的NaN常数可以用于表示那些不可使用的数据,利用这种特性,可以将图形中需要裁剪部分对应的函数值设置成NaN,这样在绘制图形时,函数值为NaN的部分将不显示出来,从而达到对图形进行裁剪的目的。

例9.1 裁掉例8.15三维曲面图中z>0.25部分。 程序如下: x=0:0.1:2*pi;[x,y]=meshgrid(x);z=sin(y).*cos(x); [I,J]=find(z>0.25); for ii=1:length(I) z(I(ii),J(ii))=NaN; end surf(x,y,z);

9.1.2 视点处理 MATLAB提供了设置视点的函数view。其调用格式为: view(az,el) 其中az为方位角,el为仰角,它们均以度为单位。系统缺省的视点定义为方位角-37.5°,仰角30°。

例9.2 从不同视点绘制多峰函数曲面。 程序如下: subplot(2,2,1);mesh(peaks); view(-37.5,30); %指定子图1的视点 title('azimuth=-37.5,elevation=30') subplot(2,2,2);mesh(peaks); view(0,90); %指定子图2的视点 title('azimuth=0,elevation=90') subplot(2,2,3);mesh(peaks); view(90,0); %指定子图3的视点 title('azimuth=90,elevation=0') subplot(2,2,4);mesh(peaks); view(-7,-10); %指定子图4的视点 title('azimuth=-7,elevation=-10')

9.1.3 色彩处理 1. 颜色的向量表示 MATLAB除用字符表示颜色外,还可以用含有3个元素的向量表示颜色。 2. 色图 色图是m×3 的数值矩阵,它的每一行是RGB三元组。色图矩阵可以人为地生成,也可以调用MATLAB提供的函数来定义色图矩阵。 除plot及其派生函数外,mesh、surf等函数均使用色图着色。图形窗口色图的设置和改变,使用函数: colormap(m) 其中m代表色图矩阵。 3. 三维表面图形的着色 三维表面图实际上就是在网格图的每一个网格片上涂上颜色。surf函数用缺省的着色方式对网格片着色。除此之外,还可以用shading命令来改变着色方式。

例9.3种图形着色方式的效果展示。 程序如下: z=peaks(20);colormap(copper); subplot(1,3,1);surf(z); subplot(1,3,2); surf(z);shading flat; subplot(1,3,3);surf(z);shading interp;

9.1.3 光照处理 MATLAB提供了灯光设置的函数,其调用格式为: light('Color',选项1,'Style',选项2,'Position',选项3) 例9.4 光照处理后的多峰函数曲面。 程序如下: z=peaks(20); subplot(1,2,1);surf(z); light('Posi',[0,20,10]);shading interp;hold on; plot3(0,20,10,'p');text(0,20,10,' light'); subplot(1,2,2);surf(z); light('Posi',[20,0,10]);shading interp;hold on; plot3(20,0,10,'p');text(20,0,10,' light');

9.2 图像与动画 9.2.1 图像 1. imread和imwrite函数 imread和imwrite函数分别用于将图像文件读入MATLAB工作空间,以及将图像数据和色图数据一起写入一定格式的图像文件。 2. image和imagesc函数 这两个函数用于图像显示。为了保证图像的显示效果,一般还应使用colormap函数设置图像色图。

例9.5 在E盘根目录下有一图像文件building.jpg,在图形窗口显示该图像。 程序如下: [x,cmap]=imread('e:\building.jpg'); %读取图像的数据阵和色图阵 image(x);colormap(cmap); axis image off %保持宽高比并取消坐标轴

9.2.2 动画 1. getframe函数 getframe函数可截取每一幅画面信息而形成一个很大的列向量。该向量可保存到一个变量中。显然,保存n幅图就需一个大矩阵。 2. moviein函数 moviein(n)函数用来建立一个足够大的n列矩阵。该矩阵用来保存n幅画面的数据,以备播放。 3. movie函数 movie(m,n)函数以每秒n幅图形的速度播放由矩阵m的列向量所组成的画面。

例9.6 播放一个直径不断变化的球体。 程序如下 [x,y,z]=sphere(50); m=moviein(30); %建立一个30列大矩阵 for i=1:30 surf(i*x,i*y,i*z) %绘制球面 m(:,i)=getframe; %将球面保存到m矩阵 end movie(m,10); %以每秒10幅的速度播放球面

9.3 低层绘图操作 9.3.1 图形对象及其句柄 1. 图形对象 MATLAB把构成图形的各个基本要素称为图形对象。这些对象包括计算机屏幕、图形窗口(Figure)、坐标轴(Axes)、用户菜单(Uimenu)、用户控件(Uicontrol)、曲线(Line)、曲面(Surface)、文字(Text)、图像(image)、光源(Light)、区域块(Patch)和方框(Rectangle)。系统将每一个对象按树型结构组织起来。每个图形对象都可以被独立地操作。

2. 图形对象句柄 MATLAB在创建每一个图形对象时,都为该对象分配唯一的一个值,称其为图形对象句柄(Handle)。句柄是图形对象的唯一标识符。 MATLAB提供了3个用于获取已有图形对象句柄的函数: gcf 获取当前图形窗口的句柄(get current figure)。 gca 获取当前坐标轴的句柄(get current axis)。 gco 获取最近被单击的图形对象的句柄(get current object)。

9.3.2 图形对象属性 1. 属性名与属性值 MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值。例如,LineStyle是曲线对象的一个属性名,它的值决定着线型,取值可以是'-' 、':'、'-.'、'--'或'none'。 2. 属性的操作 set函数的调用格式为: set(句柄,属性名1,属性值1,属性名2,属性值2,…) get函数的调用格式为: V=get(句柄,属性名)

9.3.3 图形对象的创建 1. 图形窗口对象 建立图形窗口对象使用figure函数。调用该函数的命令形式为: 句柄变量=figure(属性名1,属性值1,属性名2,属性值2,…) MATLAB为每个图形窗口提供了很多属性。这些属性及其取值控制着图形窗口对象。除公共属性外,其他常用属性:MenuBar属性、Name属性、Position属性、Color属性等。

例9.7 建立一个图形窗口。该图形窗口没有菜单条,标题名称为“图形窗口示例”,起始于屏幕左下角、宽度和高度分别为300像素点和150像素点,背景颜色为绿色,且当用户从键盘按下任意一个键时,将显示“Hello,Keyboard Key Pressed.”字样。 命令如下: hf=figure('Color',[0,1,0],'Position',[1,1,300,150],... 'Name','图形窗口示例','NumberTitle','off','MenuBar','none',... 'KeyPressFcn','disp(''Hello,Keyboard Key Pressed.'')');

例9.8 分别在4个不同的图形窗口绘制出正弦、余弦、正切、余切曲线。要求先建立一个图形窗口并绘图,然后每关闭一个再建立下一个,直到建立第4个窗口并绘图。 程序如下: x=linspace(0,2*pi,60); y=sin(x);z=cos(x);t=tan(x);ct=1./(t+eps);; %命令组待用 C4=['figure(''Name'',''cotangent(x)'',''NumberTitle'',',... '''off'');plot(x,ct);axis([0,2*pi,-40,40]);']; C3=['figure(''Name'',''tangent(x)'',''DeleteFcn'',C4,',... '''NumberTitle'',''off'');plot(x,t);axis([0,2*pi,-40,40]);']; C2=['figure(''Name'',''cos(x)'',''DeleteFcn'',C3,',... '''NumberTitle'',''off'');plot(x,z);axis([0,2*pi,-1,1]);']; %先创建1个图形窗口并绘制曲线 figure('Name','sin(x)','DeleteFcn',C2,'NumberTitle','off'); plot(x,y);axis([0,2*pi,-1,1]);

2. 坐标轴对象 建立坐标轴对象使用axes函数,调用它的命令形式为: 句柄变量=axes(属性名1,属性值1,属性名2,属性值2,…) MATLAB为每个坐标轴对象提供了很多属性。除公共属性外,还有其他常用属性。

例9.9 利用坐标轴对象实现图形窗口的任意分割。 程序如下: clf; %清图形窗口 x=linspace(0,2*pi,20);y=sin(x); axes('Posi',[0.2,0.2,0.2,0.7]);plot(y,x);title('sin(x)-1‘); axes(’Posi‘,[0.4,0.5,0.2,0.1]);stairs(x,y);title(’sin(x)-2‘); axes(’Posi‘,[0.55,0.6,0.25,0.3]);stem(x,y);title(’sin(x)-3‘); axes(’Posi‘,[0.55,0.2,0.25,0.3]);stem(x,y);title(’sin(x)-4‘);

3. 曲线对象 建立曲线对象使用line函数,调用它的命令形式为: 句柄变量=line(x,y,z,属性名1,属性值1,属性名2,属性值2,…) 其中对x,y,z的解释与高层曲线函数plot和plot3等一样,其余的解释与前面介绍过的figure和axes函数类似。 每个曲线对象也具有很多属性。除公共属性外,还有其他常用属性。

4. 文字对象 使用text函数可以根据指定位置和属性值添加文字说明,并保存句柄。调用该函数的命令形式为: 句柄变量=text(x,y,z,‘说明文字’,属性名1,属性值1,属性名2,属性值2,…) 其中说明文字中除使用标准的ASCII字符外,还可使用LATEX格式的控制字符。 除公共属性外,文字对象还有其他常用属性。

例9.10 利用曲线对象完成例4.5。 程序如下: x=(0:pi/100:2*pi)'; y1=2*exp(-0.5*x)*[1,-1]; y2=2*exp(-0.5*x).*sin(2*pi*x); x1=(0:12)/2; y3=2*exp(-0.5*x1).*sin(2*pi*x1); line(x,y1,'LineStyle',':','color','g'); line(x,y2,'LineStyle','--','color','b'); line(x1,y3,'LineStyle','none','Marker','p','color','r‘); title(’曲线及其包络线‘); xlabel('independent variable X‘); ylabel(’independent variable Y‘); text(2.8,0.55,’2e^{-0.5x}‘,’FontSize‘,12); text(0.45,0.55,’y=2e^{-0.5x}sin(2{\pi}x)‘,’FontSize‘,12); text(1.4,0.1,’离散数据点‘); legend(’包络线‘,’包络线‘,’曲线y‘,’离散数据点‘)

  5. 曲面对象 建立曲面对象使用surface函数,调用它的命令形式为: 句柄变量=surface(x,y,z,属性名1,属性值1,属性名2,属性值2,…) 其中对x,y,z的解释与高层曲面函数mesh和surf等一样,其余的解释与前面介绍过的figure和axes等函数类似。 每个曲面对象也具有很多属性。除公共属性外,还有其他常用属性。

例9.11利用曲面对象绘制三维曲面z=sin(y)cos(x)。 程序如下: x=0:0.1:2*pi;[x,y]=meshgrid(x);z=sin(y).*cos(x); axes('view',[-37.5,30]); hs=surface(x,y,z,'FaceColor','w','EdgeColor','flat'); grid on; xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis'); title('mesh-surf'); pause; set(hs,'FaceColor','flat');