第二讲 MatLab图形绘制功能Final
MatLab图形绘制功能(精编文档).doc

【最新整理,下载后即可编辑】MatLab & 数学建模第二讲MatLab图形绘制功能一、二维平面图形基本绘图函数c 亮青色: 点线m 锰紫色-. 点虚线-- 虚线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则是设定绘图横轴及纵轴的下限及上限。
第二讲 MATLAB 绘图

绘制y=1-exp(0.3*t).*cos(0.7*t)
t=6*pi*(0:100)/100; y=1-exp(-0.3*t).*cos(0.7*t); tt=t(find(abs(y-1)>0.05)); ts=max(tt); plot(t,y,'r-'); grid on; axis([0,6*pi,0.6,max(y)]); title('y=1-exp(-\alpha*t)*cos(\omega*t)'); hold on; plot(ts,0.95,'bo'); hold off; set(gca,'xtick',[2*pi,4*pi,6*pi],'ytick',[0.95,1,1.05,max(y)]); grid on;
绘制曲线
x t cos(3t ) , t 2 y t sin t
t = -pi:pi/100:pi; x = t.*cos(3*t); y = t.*sin(t).^2; plot(x,y)
2015-5-14 10
图形标识
图形标识包括:
图名(title) 坐标轴名(xlabel、ylabel) 图形文本注释(text) 图例(legend)
2015-5-14 22
双纵坐标:plotyy指令
plotyy指令调用格式:
plotyy(x1, y1, x2, y2)
x1-y1曲线y轴在左, x2-y2曲线y轴在右。
例3.7:
x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); plotyy(x,y1,x,y2);
第三章 matlab图形绘制

指定
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π]上的图形.结果见下图.
第二章 MATLAB绘图

说明:
(1)当x,y是同维矩阵时,则以x,y对应列元素为
横、纵坐标分别绘制曲线,曲线条数等于矩阵
的列数。 (2)当x是向量,y是有一维与x同维的矩阵时, 则绘制出多根不同色彩的曲线。曲线条数等于 y矩阵的另一维数,x被作为这些曲线共同的横
坐标。
(3)plot函数最简单的调用格式是只包含一个输 入参数:plot(x)。
对图形窗口灵活分割。请看下面的程序。
x=linspace(0,2*pi,60);
y=sin(x);z=cos(x);
t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); stairs(x,y); title('sin(x)-1');axis ([0,2*pi,-1,1]); %选择2×2个区中的1号区
2.2.1绘制三维曲线的最基本函数 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
4. 对函数自适应采样的绘图函数
fplot函数的调用格式为: fplot(fname,lims,tol,选项) 例2.11 用fplot函数绘制f(x)=cos(tan(πx))的曲线。 先建立函数文件myf.m: function y=myf(x) y=cos(tan(pi*x));
再用fplot函数绘制myf.m函数的曲线:
例2.6 用图形保持功能在同一坐标内绘制曲线
y=2e-0.5xsin(2πx)及其包络线,并加网格线。
程序如下: x=(0:pi/100:2*pi)'; y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y1,'b:'); axis([0,2*pi,-2,2]); %设置坐标 hold on; %设置图形保持状态 plot(x,y2,'k'); grid on; %加网格线 box off; %不加坐标边框 hold off; %关闭图形保持
matlab3_final matlab教程

Matlab编程(M文件)北京理工大学信息科学技术学院徐贵航xu.guihang@一、为什么要用到M文件:1、命令窗口中输入的指令是输入一行运行一行,这样对一些并不是顺序执行的(条件执行和循环执行)指令非常不利;即使顺序执行,如果程序较长,也很难调试与纠错;2、Matlab中的自编函数要通过M文件实现。
二、认识M文本编辑器:打开方式:1、file\new\m-file;2、直接点击工具栏的“新建”图标;3、在命令窗口中输入edit。
文本编辑器英文为“editor/debugger”,它兼有编辑与调试的作用。
大部分菜单与工具栏与普通编辑器相同。
执行、单步等操作在debug菜单下;断点、报错等设置在breakpoint菜单下;三、Matlab控制流及编程关键字1、For循环与C语言中对比:举例:for_example.m(%后为注释)运行结果:2、while循环语法格式:(与C语言对比)3、 if-else-end 分支结构: 语法格式:为节省空间,C 语言部分格式不太规范。
与C 相比,Matlab 多了一个elseif 关键字,使得分支更加灵活简洁。
4、 其他break:与C 语言相同;switch ……case :与C 语言基本相同,不过执行完每一种情况后自动跳出(C 语言则接着往下执行); try ……catch:与C++相同,一般用的不多;pause:执行到该指令后,程序停止,等用户按任意建开始; pause (n )停留n 秒四、 M 文件函数的编写:Matlab 中函数以关键字function 为标志,并且只能在文本编辑器中编辑。
函数返回指令为return;在函数体中可以有循环、分支与函数调用,并且允许自己调用自己(递归)。
下面以实现加法为例,比较Matlab 函数与C++函数(C 函数比C++麻烦一点)在以function为开头的函数格式定义后,最好有关于这个函数及其用法的详细说明,在命令窗口中运行“help 函数名”,可以显示这些内容。
matlab的图形功能

matlab的图形功能第3章MATLAB的图形功能MATLAB可以给计算数据以⼆维、三维的图形表现。
通过对图形线型、⾊彩、光线、视⾓等的指定和处理,可把计算数据的特征更好地表现出来。
在MATLAB中有两个层次的绘图命令:⾼层与底层绘图命令。
⾼层命令简单实⽤,底层命令有更强、更灵活的控制和表现图形的能⼒。
本章将先后介绍上述两类绘图命令。
但重点介绍⾼层绘图命令。
3.1⼆维图形3.1.1 基本⼆维绘图命令–plot1、调⽤格式格式1:plot(x,y)功能:(1)若x,y为同规模的向量,则绘制以x为横坐标、y为纵坐标的⼀条曲线。
例如:x=0:0.02:6;y=1./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04)-6; plot(x,y)(2)若x为向量、y是⼆维数组,则绘制以x为横坐标、y的每⼀列为纵坐标的多条曲线。
例如:x=0:0.02:6;y=[sin(x);cos(x)]';plot(x,y)运⾏结果如下图所⽰:模),则绘制以它们的对应列为横、纵坐标的多条曲线。
例如:x=[0:0.02:6;0:0.02:6];y=[sqrt(x(1,:));exp(-x(2,:))];plot(x.',y.') 运⾏结果如下图所⽰:将被忽略。
例如:x = 0:0.2:10*pi;y = sqrt(sin(x));plot(x,y) 运⾏结果如下图所⽰:格式2:plot(y)功能:(1)若y为向量,其元素为实数,则绘制以其下标为横坐标、以y为纵坐标的图形,即相当于plot(1:length(y),y)。
例如:x=0:0.02:6;y=1./((x–0.3).^2+0.01)+1./((x–0.9).^2+0.04)-6; plot(y)运⾏结果如下图所⽰:(1)若y为复数向量,则绘制以其实部为横坐标,以其虚部系数为纵坐标的图形,即相当于plot(real(y),imag(y))。
第二章之matlab绘图PPT课件

fmj 3/26/2021
.
16
二维作图举例
点线
先画点,后连线 例:y = sin(x), 0 < x < 2
二、连线
>>x=[0:0.5:2*pi]; >> y=sin(x); >> plot(x,y,'r.-')
fmj 3/26/2021
ห้องสมุดไป่ตู้
.
17
二维作图举例
三、加密:取更多的点
>>x=[0:0.1:2*pi]; >> y=sin(x); >> plot(x,y,'.')
fmj 3/26/2021
.
5
图形的属性
点和线的基本属性
plot(x,y,string)
其中 string 是用 单引号 括起来的字符串,用来指定图形
的属性(点、线的形状和颜色) 红色、虚线、
>> x=[0:0.2:2*pi];
离散点用加号
>> plot(x,cos(x));
>> plot(x,cos(x),'r+:'); 属性可以全部指定,也
2.5 MATLAB 绘图
问题:如何画出 y=sin(x) 在 [0, 2*pi] 上的图像?
fmj 3/26/2021
.
1
2.5 MATLAB 绘图
手工作图
找点: x=0, pi/4, pi/2, 2*pi/3, pi, … 计算函数值:
y=sin(0), sin(pi/4), sin(pi/2), … 描点:在坐标系中画出这些离散点
>> plot(x,cos(x),'bd-.'); 可以只指定其中某几个 >> plot(x,cos(x),'k*-'); 排列顺序任意
MATLAB的绘图功能及应用

可改性:TIF 的设计不仅仅作为一种交换图像信息的有效的中介,也可以作为一种自然的中间数据提供给图像编辑程序。
TIF 格式解决了许多问题,但同时也产生了一些问题。事实上,TIF 文件结构格式比大多数图形文件格式更为复杂,从而要求用更多的代码来控制它,导致文件读写速度慢。TIF 的版权由 Aldus 和 Microsoft 公司联合拥有,但 TIF 格式是公式范围内使用的,人们可以免费使用这个格式。TIF 文件由 3 个数据结构组成,分别为文件头,一个或多个称为 IFD 的标记指针的目录及数据本身。每一个 TIF 文件的第一个数据结构称为图形文件头,或 IFH。这个结构是一个 TIF 文件中唯一的、有固定位置的部分。IFH 是解释 TIF 文件的其余部分所需的重要信息。IFH 中第一个域,而且可能是最重要的字节顺序域。如果文件中的字节顺序与图像文件被读出的字节顺序相反,则所有的 16 位和 32 位整数值序列将不得不改变它们的顺序。IFH 的版本域通常包含 42H 的十进制值。这个域可以用来进一步定义一个文件是一个 TIF 文件。这个数字并非一个所希望的TIF 软件的版本号。事实上,这个数可能永远不会变,如果它改变了,就表示 TIF 文件的格式己经改变了,而且 TIF 读取程序也不能读这个文件了。TIF 格式的主要变化,可能改变版本域的,将和逻辑上的 TIF 可扩展性直接相关。IFH 的最后一个域包含从文件开始到图形文件目录(IFD)结构的字节的相对位置。
1.1 位图与矢量图
位图(也叫光栅图或像素图)和矢量图是图像表示的两种不同方法。图像文件可以使用其中任意一种或者同时使用两种表示方法。位图(bitmap)是现在最常用的表示方法,因为在一定范围内它易于实现,而且可用于任何图像。“位图表示”是将一幅图像分割成栅格,栅格的每一点(像素)的亮值(亮、暗程度或彩色)都单独记录。数据点(位,bit)“映射”(map)图像,因此得名“位图”。用一系列的线段或形状描述图像是矢量表示法,矢量表示法也可使用实心的或者有等级深浅的色彩填充的一些区域。矢量一词只表示线段,但通常对矢量文件的解释包括形状,如方形、图形等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二讲 MatLab图形绘制功能教学目的:熟练掌握二维曲线作图;了解隐函数绘图;掌握三维曲线和三维曲面作图的方法和技巧;了解MATLAB图形修饰处理方法;学会一些简单动画制作手段.教学重点:二维曲线的作图, 极坐标和参数作图; 三维曲线和曲面作图.教学难点:点运算在作图中的应用; 曲线和曲面作图的差别; 隐函数作图.通过解说,演示以及举例子克服难点难关.一、二维平面图形表1基本绘图函数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 x .a = [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还有其他各种二维绘图函数,以适合不同的应用,详见下表.当资料点数量不多时,长条图是很适合的表示方式: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);例在广告设计、教育教学和一些大学学报的封面图案中,经常会用到美丽的极坐标图形,如钟形线到心形线的美丽变化图案(见图1),即是极坐标方程:ρθθ=cos(5)+cos()n中n从-5到5变化过程.图1:在一个窗口画所有的图形程序exam1.m%画心形图到钟形图的动画clf,axis off, t=[0:0.01:pi]';n=[-5:5]; %转化为直角坐标x=cos(5.*t).*cos(t)*ones(1,length(n))+cos(t).*cos(t)*n;y=cos(5.*t).*sin(t)*ones(1,length(n))+cos(t).*sin(t)*n;plot(x,y) %画多条曲线hold onfor n=5:-1:-5r=cos(5.*t)*ones(1,length(n))+cos(t)*n; comet(r.*cos(t),r.*sin(t),0.1) %动画重新画(按打点的次序)end程序exam2.mclf,clear, axis off %初始的设置t=linspace(0,pi,100); %t为向量for n=5:-1:-5 %一次编程画多个图形r=cos(5*t)+n*cos(t); %心形线的方程polar(t,r) %画极坐标图形,可以转化成直角坐标title(strcat('r=cos(5*t)+',num2str(n),'*cos(t)')) %实现串联字符串,动态变化数值hold offpause %暂停% comet(r.*cos(t),r.*sin(t),0.1)end对于参数有如下规律:(1)当n=0时,图形是5叶玫瑰线;(2)当n=5时,图形是典型的钟形线;(3)当n=-5时,图形是典型的心形线;(4)当n=1时,图形是典型的蝴蝶形状.对于大量的资料,我们可用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);stem(x,y);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); feather(z);compass 和feather 很接近,只是每个箭号的起点都在圆点:theta=linspace(0, 2*pi, 20); z = cos(theta)+i*sin(theta); compass(z);例 Cayley ’s Sextic 曲线的笛卡尔坐标系方程:2222322)(27)(4y x a ax y x +=-+极坐标方程为)3/(cos 43θa r =.给定不同参数a ,画出它的图形,总结图形的规律.实验程序:建立M 文件:function cayley(x,a)for a=-3:0.05:3;x=0:pi/20:6*pi; t=cos(x./3); r=t.^3; y=4*a*r; polar(x,y)hold onend运行M 文件,画出图形如下:902700a=-3:0.05:3对于不同的a ,编程如下:a=-0.1;x=0:pi/20:6*pi; t=cos(x./3); r=t.^3; y=4*a*r; polar(x,y);xlabel(‘a=-0.1’)以此类推不同的a 值.当a<0时,a 越大,图形围成范围越小,图形不断向0点收缩;当a>0时,a 越大,图形围成范围越大,图形不断从0点向四周扩散.例 三角肌曲线方程如下,为隐式方程222222224()8(3)18()270x y x x y a x y a +--++-=给定不同参数a ,画出它的图形,总结图形得规律.定义 3.1.7 一个半径为r 的滚圆在半径为32r 的定圆上滚动所形成的曲线叫做三角肌曲线.它是内摆线的一个特别情形,它的参数方程是2cos cos 2,2sin sin 2,x t t y t t =+⎧⎨=-⎩其中022t π<≤.一般方程为:2222222+--++-=.x y x x y x y()8(3)18()270它的图形如图:二、三维立体图形表4 三维绘图函数contour 二维等值线图,即从上向下看contour3等值线图contour3 等值线图fill3 填充的多边形mesh 网格图meshc 具有基本等值线图的网格图meshz 有零平面的网格图pcolor 二维伪彩色绘图,即从上向下看surf图plot3 直线图quiver 二维带方向箭头的速度图surf 曲面图surfc 具有基本等值线图的曲面图surfl 带亮度的曲面图waterfall 无交叉线的网格图表5 三维绘图工具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 0 1])=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);例 绘制单叶双曲面在命令窗口中输入:>> u=[-pi:pi/20:pi];v=[-pi:pi/20:pi];[U,V]=meshgrid(u,v);a=3;b=4;c=5;X=a*sec(U).*cos(V);Y=b*sec(U).*sin(V);Z=c*tan(U);surf(X,Y,Z)得到下图16x 10u=[-pi:pi/20:pi]+eps;v=u;[U,V]=meshgrid(u,v);a=3;b=4;c=5;X=a*sec(U).*cos(V);Y=b*sec(U).*sin(V);Z=c*tan(U);surf(X,Y,Z);axis([-30,30,-40,40,-10,25])%shading flat;colormap copper ;例 绘制双叶双曲面:1222222=+--cz b y a x ,程序及图像如下:ezsurf('8*tan(u)*cos(v)','8.*tan(u)*sin(v)','2.*sec(u)',[-pi./2,3*pi./2,0,2*pi])axis equalgrid onaxis squarexlabel('x 轴');ylabel('y 轴');zlabel('z 轴');title('双叶双曲面')例 绘制椭圆柱面u=-4:0.1:4;v=-4:0.1:4;[u,v]=meshgrid(u,v);x=3.*cos(u);y=v;z=4.*sin(u);surf(x,y,z);axis equal例 绘制双曲抛物面:22249x y z -=,程序及图像如下: m=[-2:0.1:2];n=[-2:0.1:2];[u v]=meshgrid(m,n);a=2;b=3;x=a.*(u+v);y=b.*(u-v);z=2.*u.*v;mesh(x,y,z)例绘制剔透玲珑球[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 %不显示坐标轴动态图形动画效果彗星状轨迹图例简单二维示例.(请指令窗中运行以下指令)n=10;t=n*pi*(0:0.0005:1);x=sin(t);y=cos(t);plot(x,y,'g'); hold on;comet(x,y,0.02);hold off例卫星返回地球的运动轨线示意.R0=1; %以地球半径为一个单位a=12*R0;b=9*R0;T0=2*pi; %T0是轨道周期T=5*T0;dt=pi/100;t=[0:dt:T]'; f=sqrt(a^2-b^2);%地球与另一焦点的距离th=12.5*pi/180; %卫星轨道与x-y平面的倾角E=exp(-t/20); %轨道收缩率x=E.*(a*cos(t)-f);y=E.*(b*cos(th)*sin(t));z=E.*(b*sin(th)*sin(t));plot3(x,y,z,'g') %画全程轨线[X,Y,Z]=sphere(30);X=R0*X;Y=R0*Y;Z=R0*Z; %获得单位球坐标grid on,hold on,surf(X,Y,Z),shading interp %画地球x1=-18*R0;x2=6*R0;y1=-12*R0;y2=12*R0;z1=-6*R0;z2=6*R0;axis([x1 x2 y1 y2 z1 z2]) %确定坐标范围view([117 37]),comet3(x,y,z,0.02),hold off %设视角、画运动轨线图 卫星返回地球轨线示意习题1、画出下面图形心型线: 1cos()ρθ=+; 星型线: 33x=cos (t)y=sin (t)⎧⎨⎩;双纽线: ρ四叶玫瑰线: =|sin cos |ρθθ.2、检查下面的程序,修改并且画出图形,叙述你所发现的规律t = 0:.01:2*pi; h=0:.01:24*pi;SUBPLOT(1,3,1)polar(t,(4*cos(3*t)+cos(13*t))./cos(t))SUBPLOT(1,3,2)polar(t,(4*cos(t)+cos(9*t))./cos(t))SUBPLOT(1,3,3)polar(h,exp(cos(h))-2.*cos(4.*h)+(sin(h/12)).^5)第三图放大后的效果3、摆线的方程如下:()cos cos()()sin sin()a b x a b t h t b a b y a b t h t b +⎧=+-⎪⎪⎨+⎪=+-⎪⎩,给定不同参数,a b 和h ,画出它的图形,总结图形得规律.4、三角肌曲线方程如下,为隐式方程222222224()8(3)18()270x y x x y a x y a +--++-=给定不同参数a ,画出它的图形,总结图形得规律.5、滚圆平面内与滚圆固定相连的一点所画出的平面曲线叫做摆线类曲线或旋轮类曲线,通常亦简称为摆线.其曲线的参数方程可写成sin ,cos .x rt e t y r e t =-⎧⎨=-⎩式中的r 为滚圆的半径,参数t 为滚动角,e 是动点到滚圆圆心的距离.给定不同参数,r e ,画出它的图形,总结图形得规律.6、肾形线[3]:一半径为12r 的小圆在另一半径为r 的定圆的圆周上旋转动圆圆周上某一固定的点所形成的曲线;或半径为32r 的动圆在半径为r 的圆外旋转时大圆圆周上某一固定的点所形成的图形.它的参数方是3(cos cos3),3(sin sin3),x a t t y a t t =-⎧⎨=-⎩ 其中02t π<≤.它的一般方程为222424108x y a a y +-=.两尖端距离为4a ,a 是缩放比例.给定不同参数a ,画出它的图形,总结图形得规律.7、卡西尼卵形线一般方程为:22222()x y x y c +=-+.给定不同参数c ,画出它的图形,总结图形得规律.8、利萨茹曲线的参数方程为sin(),sin().x a nt c y b t =+⎧⎨=⎩给定不同参数,,,a b n c ,画出它的图形,总结图形得规律.9、Cayley's Sextic 曲线的笛卡尔坐标系方程: 4(x 2+ y 2- ax )3= 27a 2(x 2+ y 2)2极坐标方程为r = 4a cos 3(θ/3).给定不同参数a ,画出它的图形,总结图形得规律.10、Cartesian Oval (笛卡儿卵形线)方程为: ((1 - m 2)(x 2+ y 2) + 2m 2cx + a 2- m 2c 2)2= 4a 2(x 2+ y 2) 或者(x 2+ y 2)2- 2a 2(x 2- y 2) + a 4- c 4= 011、直边星形线(正n 边形)的构造方法,即是()2cos{}2n d n n πθαπρθαπ⎡⎤--⎢⎥--⨯=⎢⎥⎢⎥,当n 为正整数时,图形为正n 边形.给定不同参数α和n ,画出它的图形,总结图形得规律.内江师范学院 数值仿真与数学实验教学示范中心31 12、著名的卡西尼卵形线的方程是44224 + - 2cos(2)a a b ρρθ=和它的特例双纽线: ρ给定不同参数a 和b ,画出它的图形,总结图形得规律.13、绘网格图)(222)2(xy y x e x x z ----=,(33≤≤-x ,22≤≤-y ).14、画下面三维图形cos sin ,[0,4]sin cos x t y t t z t t t π=⎧⎪=∈⎨⎪=⎩源程序中一行有错误,在右边下划线上更正此错误.15、绘制解析几何中的各种图形.。