MatLab图形绘制功能

合集下载

Matlab绘制图像

Matlab绘制图像
Matlab绘制图像
第一种方法 在Workspace中绘制
绘图基本线型和颜色
符号 y m c r g b w k 颜色 黄色 紫红 青色 红色 绿色 蓝色 白色 黑色 符号 . 。 x + * : -. -线型 点 圆圈 x 标记 加号 星号 实线 点线 点划线 虚线
绘图命令
绘图命令plot 主要是在数值计算中绘制函数图像。 绘制反函数图像非常容易。
绘图命令plot
调用格式1:plot(x,y)
1. 首先定义自变量X的取值向量(横坐标) 2. 再定义函数Y的取值向量(纵坐标) 3. 用plot(x,y)命令给出平面曲线图。 在绘图参数中可以给出绘制图形的线型和颜 色的参数。例:plot(x,y,’r*’) 就是用红色的 ****线型绘图。
技巧
x=0:0.1:2*pi; y1=sin(x); y2=exp(-x); plot(x,y1,'--*',x,y2,':o'); xlabel('t=0 to 2\pi'); ylabel('value of sin(t) and e^{-x}') title('Function sin(t) and e^{-x}'); legend('sin(t)','e^{-x}') 后期的制作
ቤተ መጻሕፍቲ ባይዱ
绘出下面函数及其反函数的图像
1 1 y (x ) 2 x (1 x )
程序如下: x=1:0.001:5; %定义横坐标 y=1/2*(x+1./x); %定义纵坐标 plot(x,y,'r',y,x,'b') %红色画f(x) 蓝色画f(y).

matlab入门实验报告

matlab入门实验报告

matlab入门实验报告Matlab入门实验报告引言:Matlab是一种功能强大的数值计算和科学计算软件,广泛应用于工程、科学和金融等领域。

本实验报告旨在分享我在学习和使用Matlab过程中的一些经验和心得,希望对初学者有所帮助。

一、Matlab的基本操作Matlab的基本操作包括变量定义、运算符使用、矩阵操作等。

通过简单的例子,我们可以快速上手Matlab。

首先,我们可以定义一个变量并进行简单的运算。

例如,我们定义一个变量a,并赋值为5,然后进行加法运算。

a = 5;b = a + 3;disp(b);接下来,我们可以进行矩阵的操作。

例如,我们定义一个3x3的矩阵A,并对其进行转置操作。

A = [1 2 3; 4 5 6; 7 8 9];B = A';disp(B);二、Matlab的图形绘制功能Matlab具有强大的图形绘制功能,可以绘制各种类型的图形,如曲线图、散点图、柱状图等。

下面是一个简单的例子,展示了如何使用Matlab绘制曲线图。

首先,我们定义一个自变量x和一个因变量y,并生成一组数据。

x = linspace(0, 2*pi, 100);y = sin(x);然后,我们使用plot函数将数据绘制成曲线图。

plot(x, y);通过设置不同的参数,我们可以对图形进行进一步的美化和定制。

例如,我们可以设置x轴和y轴的标签,并添加图例。

xlabel('x');ylabel('y');legend('sin(x)');三、Matlab的数据分析功能Matlab提供了丰富的数据分析功能,可以进行数据的统计、拟合、回归等操作。

下面是一个简单的例子,展示了如何使用Matlab进行线性回归分析。

首先,我们生成一组随机数据,并假设其满足线性关系。

x = linspace(0, 10, 100);y = 2*x + 3 + randn(size(x));然后,我们使用polyfit函数进行线性回归分析,并得到拟合的系数。

Matlab建模训练3 图形绘制

Matlab建模训练3  图形绘制

Matlab 建模训练3 图形绘制一、学习二维平面图形的描绘方法1、 在同一窗口绘制正、余弦函数的图形。

2、绘制三叶玫瑰线r=sin(3θ)3、绘制分段函数311012≤≤≤≤⎩⎨⎧+=x x xx y 的图形。

二、学习空间曲线的绘制1、sin cos cos ,06sin ,06.x t t x t ty t t t y t t t z t z tππ==⎧⎧⎪⎪=≤≤=≤≤⎨⎨==⎪⎪⎩⎩及2、 绘制空间曲线sin ,cos ,x t t y t z ===三、学习空间曲面的绘制例 绘制函数sin z x =4个子图的不同特征。

[X,Y]=meshgrid(-4:0.2:4); Z=X.*sin(sqrt(X.^2+Y .^2)); subplot(2,2,1) mesh(Z)subplot(2,2,2) mesh(X,Y ,Z) subplot(2,2,3)surf(X,Y,Z)subplot(2,2,4)surfc(X,Y,Z)ezsurf命令彩色表面图,调用格式与ezmesh相同。

二维图形的视例 分别用命令ezmesh(22,22x y -≤≤-≤≤)和ezsurf(04,14x y ≤≤-≤≤)作函数例 绘制函数22xy z xe --=的图形,并在各坐标设置点观察图形。

功能在默认区域0,2x y π≤≤上画z=f(x,y)高线图,a x y b ≤≤上画z=f(x,y)的等高线图,a x b c y d ≤≤≤≤上画z=f(x,y)例 绘制函数sin cos(),,,,2222z x x y x y ππππ⎡⎤⎡⎤=++∈-∈-⎢⎥⎢⎥⎣⎦⎣⎦的二维等高线和填充等高线。

例 绘制多峰函数()()()222222211351311053x y x y x y x z x ex y e e--+-+---⎛⎫=----- ⎪⎝⎭,在[][],,,x y ππππ∈-∈-上的图形以及二维等高线、二维填充等高线和三维等高线的图形。

(打印)实验四 MATLAB 高级图形绘制

(打印)实验四 MATLAB 高级图形绘制

实验四MATLAB 高级图形绘制一、实验目的及要求:1.熟悉各种绘图函数的使用;2.掌握图形的修饰方法和标注方法;3.了解MATLAB 中图形窗口的操作。

二、实验内容:1.用图形表示连续调制波形Y=sin(t)sin(9t)及其包络线。

程序代码如下:包络线:2.x=[-2π,2π],y1=sinx、y2=cosx、y3=sin2x、y4=cos 2x①用MATLAB语言分四个区域分别绘制的曲线,并且对图形标题及横纵坐标轴进行标注。

程序:结果:②另建一个窗口,不分区,用不同颜色、线型绘出四条曲线,并标注图例注解。

程序:结果:③绘制三维曲线:⎪⎩⎪⎨⎧=≤≤==)cos()sin()200()cos()sin(t t t z t t y t x π程序:结果:3.绘制极坐标曲线ρ=asin(b+nθ),并分析参数a、b、n对曲线形状的影响。

(1)a=1;b=1;n=1(2)a=10;b=1;n=1(3)a=10;b=10;n=1 (4)a=10;b=10;n=10参数a、b、n对曲线形状的影响:由上面绘制的图形可知:a决定图形的大小,当a为整数时,图形半径大小就是a;b决定图形的旋转角度,图形的形状及大小不变;n决定图形的扇叶数,当n 为奇数时,扇叶数为n,当n为偶数时,扇叶数为2n。

三、结论本次实验用到了曲线绘图、三位曲线绘图的知识,与老师上课的内容一致,让我学的matlab绘图的知识得到了巩固,我还学会了如何使用title、subplot、plot、axis等函数。

在做实验的过程复习了hold on指令是覆盖函数继续绘图的意思。

MATLAB三维绘图功能课堂PPT

MATLAB三维绘图功能课堂PPT
42
contour3(peaks,20)
10
5
0
为了方便测试立体绘图,MATLAB提供了一个peaks 函数,可产生一个凹凸有致的曲面,包含了三个局部 极大点及三个局部极小点,其方程式为: 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) >> [x,y,z]=peaks; >> mesh(x,y,z) >>surf(x,y,z)
14
15
(五)三维曲面图
surf —— 三维曲面绘图函数,与网格图看起来一样 与三维网线图的区别: 网线图:线条有颜色,内部是黑色的(无颜色) 曲面图:线条是黑色的,内部有颜色(把线条之间的空
挡填充颜色,沿z轴按每一网格变化)
16
调用格式: surf(x,y,z) —— 绘制三维曲面图,x,y,z为图形坐标向量 peaks 函数
4
(二) 三维饼图 pie3([4 3 6 8 9])
5
(三)三维多边形
fill3 = fill —— 三维多边形的绘制和填色与二维多边形 完全相同
调用格式: fill3(x,y,z,‘s’) —— 与二维相同
6
例: 用随机顶点坐标画出5个粉色的三角形,并用黄色的 ○表示顶点
>>y1=rand(3,5);y2=rand(3,5);y3=rand(3,5); >>fill3(y1,y2,y3,'m');hold on;plot3(y1,y2,y3,'yo')

如何使用Matlab进行3D图形绘制

如何使用Matlab进行3D图形绘制

如何使用Matlab进行3D图形绘制1. 引言在科学研究、工程设计和数据可视化的过程中,3D图形绘制是一项非常重要的技能。

Matlab作为一种功能强大且易于上手的工具,在3D图形绘制方面有着很大的优势。

本文将介绍如何使用Matlab进行3D图形绘制,以帮助读者更好地掌握这一技术。

2. 准备工作在开始使用Matlab进行3D图形绘制之前,我们需要先进行一些准备工作。

首先,确保已经安装了Matlab软件,并且具备了一定的基本操作能力。

其次,了解Matlab的数据管理和处理方式,掌握常用的数据结构和操作方法。

最后,对于3D图形绘制的相关概念和技术有一定的了解,包括坐标系、曲线和曲面等基本概念。

3. 坐标系和坐标变换在进行3D图形绘制之前,首先需要了解坐标系的概念以及如何进行坐标变换。

Matlab中使用的3D坐标系是右手坐标系,其中x轴指向右侧,y轴指向前方,z轴指向上方。

在进行坐标变换时,可以使用Matlab提供的函数进行平移、旋转和缩放等操作,以便更好地展示3D图形。

4. 曲线绘制在Matlab中,使用函数plot3可以绘制3D曲线。

该函数的基本用法是plot3(x,y,z),其中x、y、z分别为曲线上各点的x、y、z坐标。

可以通过对坐标点进行适当的变换和调整,绘制出各种形状和曲线。

5. 曲面绘制除了曲线,我们还可以使用Matlab绘制3D曲面。

Matlab提供了函数surf和mesh来实现曲面绘制。

函数surf绘制带有颜色的曲面,而函数mesh绘制网格型的曲面。

这两个函数的基本用法都是类似的,可以通过传入坐标点数据和数据值来绘制出曲面图像。

6. 其他3D图形效果除了曲线和曲面,我们还可以通过Matlab实现其他各种各样的3D图形效果。

例如,绘制3D散点图可以使用函数scatter3,绘制3D柱状图可以使用函数bar3,绘制3D等高线图可以使用函数contour3等。

这些函数都有类似的参数传递方式,通过调整函数参数可以实现各种个性化的效果。

MATLAB中的三维图形绘制与动画制作技巧

MATLAB中的三维图形绘制与动画制作技巧

MATLAB中的三维图形绘制与动画制作技巧引言MATLAB是一种强大的科学计算软件,广泛应用于工程、物理、数学等各个领域。

其中,三维图形绘制和动画制作是其功能的重要一部分。

本文将深入探讨MATLAB中三维图形绘制与动画制作的技巧,并给出一些实用的示例。

一、三维图形绘制1. 坐标系的设定在绘制三维图形之前,我们需要设定坐标系。

通过使用MATLAB的figure函数和axes函数,我们可以创建一个三维坐标系,并设置其属性,如坐标轴的范围、标签等。

2. 点的绘制在三维图形中,最基本的图元是点。

通过scatter3函数,我们可以绘制出一系列点的三维分布情况。

可以通过设置点的大小、颜色、透明度等属性,增加图像的美观性。

3. 曲线的绘制MATLAB提供了多种绘制曲线的函数,如plot3、line、quiver等。

通过这些函数,我们可以绘制各种样式的曲线,例如直线、曲线、矢量、流线等。

我们可以根据需要设置线条的样式、颜色、宽度等属性。

4. 曲面的绘制除了曲线,我们还可以绘制三维曲面。

通过函数mesh、surf和contour,我们可以绘制出具有平滑外形的曲面。

可以通过设置颜色映射和透明度等属性,使得曲面具有更加细腻的外观。

二、动画制作1. 创建动画对象要制作动画,我们需要先创建一个动画对象。

通过使用MATLAB的videoWriter函数,我们可以创建一个视频文件,并设置其参数,如帧率、分辨率等。

2. 绘制关键帧动画的核心是绘制一系列关键帧,并在每一帧之间进行插值。

通过在每一帧中修改图形对象的属性,我们可以实现对象的平移、旋转和缩放等变换。

通过MATLAB提供的getframe函数,我们可以将当前图像存储为一个帧对象。

3. 帧之间的插值在关键帧之间,我们需要进行插值,以平滑动画的过渡。

通过使用MATLAB 的linspace函数,我们可以生成两个关键帧之间的若干插值。

然后,我们可以在每个插值处更新图形对象的属性,从而实现动画效果。

第三章 matlab图形绘制

第三章 matlab图形绘制
gtext 用于在图形中特定的位置加字符串,位置用鼠标
指定
grid 图形中加网格
例3.在同一坐标系下画出sinx和cosx的图形,并适当加 标注.
x=linspace(0,2*pi,30);y=[sin(x);cos(x)]; plot(x,y);grid;xlabel (‘x’);ylabel (‘y’); title(‘sine and cosine curves’); text(3*pi/4,sin(3*pi/4),’\leftarrowsinx’); text(2.55*pi/2,cos(3*pi/2),’cos\rightarrow’)
结果见下图.
4.多幅图形
subplot(m,n,p)可以在同一个图形窗口中画出多个图 形,用法见下例.
x=linspace(0,2*pi,30);y=sin(x);z=cos(x);u=2*sin(x).* cos(x);v=sin(x)./cos(x); subplot(2,2,1),plot(x,y),title(‘sin(x)’) subplot(2,2,2),plot(x,z),title(‘cos(x)’) subplot(2,2,3),plot(x,u),title(‘2sin(x)cos(x)’) subplot(2,2,4),plot(x,v),title(‘sin(x)/cos(x)’)
plot(x1,y1,x2,y2, …) 在此格式中,每对x,y必须符合 plot(x,y)中的要求,不同对之间没有影响,命令对每 一对x,y绘制曲线.
例1.做出y=sinx在[0,2π]上的图形,结果见下图.
x=linspace(0,2*pi,30); sin(x);plot(x,y)
例2.在同一坐标系下做出两条曲线y=sinx和y=cosx 在[0,2π]上的图形.结果见下图.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MatLab & 数学建模第二讲 MatLab图形绘制功能一、二维平面图形基本绘图函数hold on 命令用于在已画好的图形上添加新的图形plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y座标。

下例可画出一条正弦曲线:x=0:0.001:10; % 0到10的1000个点的x座标y=sin(x); % 对应的y座标plot(x,y); % 绘图Y=sin(10*x);plot(x,y,'r:',x,Y,'b') % 同时画两个函数•若要改变颜色,在座标对後面加上相关字串即可:x=0:0.01:10;plot(x,sin(x),'r')若要同时改变颜色及图线型态(Line style),也是在坐标对後面加上相关字串即可:plot(x,sin(x),'r*')用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围axis([0,6,-1.5,1])MATLAB也可对图形加上各种注解与处理:xlabel('x轴'); % x轴注解ylabel('y轴'); % y轴注解title('余弦函数'); % 图形标题legend('y = cos(x)'); % 图形注解gtext('y = cos(x)'); % 图形注解 ,用鼠标定位注解位置grid on; % 显示格线fplot的指令可以用来自动的画一个已定义的函数分布图,而无须产生绘图所须要的一组数据做为变数。

其语法为fplot('fun',[xmin xmax ymin ymax]),其中fun 为一已定义的函数名称,例如sin, cos等等;而xmin, xmax, ymin, ymax则是设定绘图横轴及纵轴的下限及上限。

以下的例子是将一函数 f(x)=sin(x)/x 在-20<x<20,-0.4<y<1.2之间画出:>> fplot('sin(x)./x',[-20 20 -0.4 1.2])【例】画椭圆1232222=+y xa = [0:pi/50:2*pi]';%角度 π20- X = cos(a)*3; %参数方程 Y = sin(a)*2;plot(X,Y);xlabel('x'), ylabel('y'); title('椭圆')图形窗口的分割一般用命令subplot: subplot(2,2,1);subplot(2,3,4);MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。

小整理:其他各种二维绘图函数bar 长条图errorbar 图形加上误差范围fplot 较精确的函数图形polar 极座标图hist 累计图rose 极座标累计图stairs 阶梯图stem 针状图fill 实心图feather 羽毛图compass 罗盘图quiver 向量场图当资料点数量不多时,长条图是很适合的表示方式:close all; % 关闭所有的图形视窗x=1:10;y=rand(size(x));bar(x,y);如果已知资料的误差量,就可用errorbar来表示。

下例以单位标准差来做资料的误差量:x = linspace(0,2*pi,30);y = sin(x);e = std(y)*ones(size(x));errorbar(x,y,e)对於变化剧烈的函数,可用fplot来进行较精确的绘图,会对剧烈变化处进行较密集的取样,如下例:fplot('sin(1/x)', [0.02 0.2]); % [0.02 0.2]是绘图范围若要产生极座标图形,可用polar:theta=linspace(0, 2*pi);r=cos(4*theta);polar(theta, r);对於大量的资料,我们可用hist来显示资料的分情况和统计特性。

下面几个命令可用来验证randn产生的高斯乱数分:x=randn(5000, 1); % 产生5000个μ=0,σ=1 的高斯乱数hist(x,20); % 20代表长条的个数rose和hist很接近,只不过是将资料大小视为角度,资料个数视为距离,并用极座标绘制表示:x=randn(1000, 1);rose(x);stairs可画出阶梯图:x=linspace(0,10,50);y=sin(x).*exp(-x/3);stairs(x,y);stems可产生针状图,常被用来绘制数位讯号:x=linspace(0,10,50);y=sin(x).*exp(-x/3);stairs将资料点视为多边行顶点,并将此多边行涂上颜色:x=linspace(0,10,50);y=sin(x).*exp(-x/3);fill(x,y,'b'); % 'b'为蓝色feather将每一个资料点视复数,并以箭号画出:theta=linspace(0, 2*pi, 20);z = cos(theta)+i*sin(theta);compass和feather很接近,只是每个箭号的起点都在圆点:theta=linspace(0, 2*pi, 20);z = cos(theta)+i*sin(theta);compass(z);二、三维立体图形三维绘图函数contour 二维等值线图,即从上向下看contour3等值线图contour3 等值线图fill3 填充的多边形mesh 网格图meshc 具有基本等值线图的网格图meshz 有零平面的网格图pcolor 二维伪彩色绘图,即从上向下看surf图plot3 直线图quiver 二维带方向箭头的速度图surf 曲面图surfc 具有基本等值线图的曲面图surfl 带亮度的曲面图waterfall 无交叉线的网格图三维绘图工具axis 修正坐标轴属性clf 清除图形窗口clabel 放置等值线标签close 关闭图形窗口figure 创建或选择图形窗口getframe 捕捉动画桢grid 放置网格griddata 对画图用的数据进行内插hidden 隐蔽网格图线条hold 保留当前图形meshgrid 产生三维绘图数据movie 放动画moviein 创建桢矩阵,存储动画shading 在曲面图和伪彩色图中用分块、平滑和插值加阴影subplot 在图形窗口内画子图text 在指定的位置放文本title 放置标题view 改变图形的视角xlabel 放置x轴标记ylabel 放置y轴标记zlabel 放置z轴标记函数viewview(az,el) 设置视图的方位角az和仰角elview([az,el])view([x,y,z]) 在笛卡儿坐标系中沿向量[x,y,z]正视原点设置视图,例如view([0 01])=view(0,90)view(2) 设置缺省的二维视图,az=0,el=90view(3) 设置缺省的三维视图,az=-37.5,el=30[az,el]=view 返回当前的方位角az和仰角elview(T) 用一个4×4的转置矩阵T来设置视图T=view 返回当前的4×4转置矩阵plot3命令将绘制二维图形的函数plot的特性扩展到三维空间图形。

函数格式除了包括第三维的信息(比如Z方向)之外,与二维函数plot相同。

plot3一般语法调用格式是plot3(x,y,z,S),这里x,y和z是向量或矩阵,S 是可选的字符串,用来指定颜色、标记符号和/或线形(s可以省略)。

三维螺旋线例子:t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)grid %添加网格plot3可画出空间中的曲线:t=linspace(0,20*pi, 501);plot3(t.*sin(t), t.*cos(t), t); %注意用点乘 .*亦可同时画出两条空间中的曲线:t=linspace(0, 10*pi, 501);plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t);正弦曲线图x=linspace(0,3*pi); % 0到 3pi 间100个数据点z1=sin(x);z2=sin(2*x);z3=sin(3*x);y1=zeros(100); % 含有100个数据的 0数组y3=zeros(100);y2=y3/2;plot3(x,y1,z1,x,y2,z2,x,y3,z3);利用在x-y平面的矩形网格点上的z轴坐标值,MATLAB定义了一个网格曲面。

MATLAB通过将邻接的点用直线连接起来形成网状曲面,其结果好象在数据点有结点的鱼网。

mesh可画出立体网状图.画出由函数形成的立体网状图:x=linspace(-2, 2, 25); % 在x轴上取25点y=linspace(-2, 2, 25); % 在y轴上取25点[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵mesh(xx, yy, zz); % 画出立体网状图曲面图,除了各线条之间的空档(称作补片)用颜色填充以外,和网格图看起来是一样的。

这种图一般使用函数surf来绘制。

surf和mesh的用法类似:x=linspace(-2, 2, 25); % 在x轴上取25点y=linspace(-2, 2, 25); % 在y轴上取25点[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵surf(xx, yy, zz); % 画出立体曲面图MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:要画出此函数的最快方法即是直接键入peaks:peaksz = 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)我们亦可对peaks函数取点,再以各种不同方法进行绘图。

meshz可将曲面加上围裙:[x,y,z]=peaks;meshz(x,y,z);waterfall可在x方向或y方向产生水流效果:[x,y,z]=peaks;waterfall(x,y,z);下列命令产生在y方向的水流效果:[x,y,z]=peaks;waterfall(x',y',z');meshc同时画出网状图与等高线:[x,y,z]=peaks;meshc(x,y,z);surfc同时画出曲面图与等高线:[x,y,z]=peaks;surfc(x,y,z);contour3画出曲面在三度空间中的等高线:contour3(peaks, 20);contour画出曲面等高线在XY平面的投影:contour(peaks, 20);剔透玲珑球[X0,Y0,Z0]=sphere(30); %产生单位球面的三维坐标X=2*X0;Y=2*Y0;Z=2*Z0; %产生半径为2的球面的三维坐标surf(X0,Y0,Z0); %画单位球面shading interp %采用插补明暗处理hold on; mesh(X,Y,Z);hold off %画外球面hidden off %产生透视效果axis off %不显示坐标轴动态图形动画效果彗星状轨迹图【*例】简单二维示例。

相关文档
最新文档