上机材料二MATLAB语言绘图程序设计 2.docx

上传人:b****2 文档编号:2239364 上传时间:2022-10-28 格式:DOCX 页数:12 大小:129KB
下载 相关 举报
上机材料二MATLAB语言绘图程序设计 2.docx_第1页
第1页 / 共12页
上机材料二MATLAB语言绘图程序设计 2.docx_第2页
第2页 / 共12页
上机材料二MATLAB语言绘图程序设计 2.docx_第3页
第3页 / 共12页
上机材料二MATLAB语言绘图程序设计 2.docx_第4页
第4页 / 共12页
上机材料二MATLAB语言绘图程序设计 2.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

上机材料二MATLAB语言绘图程序设计 2.docx

《上机材料二MATLAB语言绘图程序设计 2.docx》由会员分享,可在线阅读,更多相关《上机材料二MATLAB语言绘图程序设计 2.docx(12页珍藏版)》请在冰豆网上搜索。

上机材料二MATLAB语言绘图程序设计 2.docx

上机材料二MATLAB语言绘图程序设计2

上机材料二、MATLAB语言绘图、程序设计

六、绘图

plot基本二维图形

fplot一元函数图象

plot3空间曲线

meshgrid网格数据生成

mesh网面图

surf曲面图

contour等高线图

contour33维等高线图

title标题

xlabelx轴说明

ylabely轴说明

zlabelz轴说明

clabel等高线高度标志

text文本

grid格栅

legend图例

hold图形保持

axis定制坐标轴

view改变视点

subplot子图

figure新图形窗口

clf清除图形

close关闭图形窗口

1曲线图

plot(x,y)作出以数据(x(i),y(i))为节点的折线图,其中x,y为同长度的向量;

plot(x1,y1,x2,y2,...)作出多组数据折线图;

fplot('fun',[a,b])作出函数fun在区间[a,b]上的函数图;

plot3(x,y,z)空间曲线图,其中x,y,z为同长度的向量.

»plot([1425],[13-12])

»plot([1425],[13-12],1:

3,[2103])%注意颜色

图形可直接保存为M文件,也可利用图形窗口菜单Edit/Copyfigure作为图片剪贴到Word或其他应用程序中。

图形的线型,标记,颜色均可设定。

常用的有

颜色

线型

标记

b蓝(默认)

-实线(默认)

无标记(默认)

g绿

--虚线

*星

r红

:

粗点线

.点

y黄

-.点划线

o圈

m洋红

x叉

c青

+十字

w白

s方块

k黑

d菱形

v下三角形

^上三角形

<左三角形

>右三角形

h六角形

p五角形

例一元函数图y=x3-x-1和y=sin(5x),-1

»fplot('x.^3-x-1',[-1,2]);holdon;%在作下一幅图时保留已有图象

»x=-1:

0.2:

2;y=sin(5*x);

»plot(x,y,':

ro');holdoff;%释放holdon

2曲面图

[x,y]=meshgrid(xa,ya)当xa,ya分别为m维和n维行向量,得到x和y均为n行m列矩阵。

meshgrid常用于生成X-Y平面上的网格数据。

mesh(x,y,z)绘制网格图,是最基本的曲面图形命令,其中x,y,z是同阶矩阵,表示曲面三维数据。

mesh(xa,ya,z)xa,ya分别为m维和n维向量,z均为n行m列矩阵。

等价于

先[x,y]=meshgrid(xa,ya)再mesh(x,y,z)。

surf(x,y,z)绘制网面图,与mesh用法类似。

contour(x,y,z)绘制等高线图,与mesh用法类似,可指定z的范围。

contour3(x,y,z)绘制三维等高线图,与mesh用法类似,可指定z的范围。

例如

»xa=1:

3;ya=1:

4;[x,y]=meshgrid(xa,ya);z=x+y;mesh(x,y,z)

»[x,y,z]

123111234

123222345

123333456

123444567

这3组数据构成网面的12的格点坐标。

例二元函数图z=x*exp(-x2-y2)

»clear;close;%close关闭所有图形窗口

»xa=-2:

.2:

2;ya=xa;

»[x,y]=meshgrid(xa,ya);z=x.*exp(-x.^2-y.^2);

»mesh(x,y,z);%网格图

»surf(x,y,z);%网面图

»contour(x,y,z);%等高线图

»contour3(x,y,z);%三维等高线图

3.说明、格栅和图例

图5

Title('字符串')图形标题说明

xlabel,ylabel,zlabel用法类似于title,分别说明坐标轴x,y,z。

Text(x,y,'字符串')将字符串表达的文字标于(x,y)处.

Lengend('字符串1','字符串2',...)依次说明图例

gridon/gridoff显示/不显示格栅

例参变量函数

»clear;close;

»t=0:

0.1:

20;r=exp(-0.2*t);th=0.5*pi*t;

»x=r.*cos(th);y=r.*sin(th);z=t;

»plot3(x,y,z);

»text(x

(1),y

(1),z

(1),'START')

»n=length(x);text(x(n),y(n),z(n),'END')

»title(‘SPACELINE’)

»xlabel('X');ylabel('Y');zlabel('Z');

»legend('ConeLine');

»gridon;%再试一试gridoff,观察变化

4、图形控制

Holdon/holdoff保留/释放现有图形

axisoff/on不显示/显示坐标轴

axis([a,b,c,d])定制2维坐标轴范围a

axis([a,b,c,d,e,f])定制3维坐标轴范围a

view(az,el)调整视角,az为角度,el为高度(默认az=-37.5,el=30)

figure开一个新图形窗口

close关闭现有图形窗口

subplot(m,n,k)将图形窗口分为m*n个子图,并指向第k幅图

5.图形对象设置

MATLAB图形窗口、坐标轴、图形元素等往往是系统自动选定的,有些可用图形命令来改变,如曲线的颜色、标题文本、视点等。

一般可使用对象设置命令set来设置,如文本的字体,坐标轴刻度,窗口的背景色等,但用法较复杂。

MATLAB的图形窗口建立了图形对象编辑工具,可直接改变图形设置。

作为示例,我们现在来设法将例3产生的图形改变成下列样子。

(1)按工具栏Editplot按钮(指向左上方的箭头),使图形处于编辑状态;

(2)曲线粗细和颜色:

选中曲线,用菜单Edit/CurrentObjectProperties...设置(或用鼠标双击可编辑),将颜色改为红色,粗细改为3;

(3)字体大小:

选中所要编辑的文字,用菜单Edit/CurrentObjectProperties...设置;

(4)坐标轴:

选中并双击坐标轴,将y轴方向设为“reverse”;

(5)再按工具栏Editplot按钮,使图形回到正常状态;

(6)调整视角:

按工具栏Rotate3D按钮(带箭头的圆圈),选中坐标轴,调整为理想角度;

(7)加箭头线:

按工具栏InsertArrow按钮(指向左上方的箭头),从原点拉出三根坐标线,并双击编辑加粗;

(8)加文本:

按工具栏InsertText按钮(字母A),在适当位置写X,Y,Z,设置字体和大小;

(9)用命令axisoff使原坐标轴不显示。

但图形窗口对象编辑工具并没有给出所有设置,更详细的设置可用菜单Edit/...property完成。

七、程序设计

1、控制流

到目前为止,我们用的命令都是顺序结构的,对于复杂的计算,需要循环和分支结构。

例计算s=

»clear;s=0;

»forn=1:

100

s=s+1/n/n;

end

»s

s=

1.6350

常用控制流语句有

for循环变量=初值:

增量:

终值,语句;end

while(条件式),语句;end

if(条件式),语句;end

if(条件式1),语句1;elseif(条件式2),语句2;……;else,语句;end

switch(分支变量)case(值1),语句1;case(值2),语句2;……;

otherwise语句;end

另外还有break(中断循环),return(中断执行返回)等。

2、M脚本文件

从工具栏的NewFile按钮或在File/New菜单选M-file就进入MATLAB的编辑器Editer,用以编写用户的M文件。

M文件可分为两类:

M脚本文件和M函数文件。

将多条MATLAB语句写在编辑器中保存在适当的目录中(这个目录须在MATLAB搜索路径中),就得到一个M脚本。

如我们将下面几条语句写在编辑器中,

clear;s=0;

forn=1:

100

s=s+1/n/n;

end

s

保存为eg0_4(不要加扩展名m),然后在命令窗口执行

»eg0_4

s=

1.6350

使用编辑器也可打开和修改M文件,观察变量值,调试程序等。

但要注意:

每次修改程序后都要存盘。

3、函数文件

M函数文件以function开头,格式为

function输出变量=函数名(输入变量)

语句;

在MATLAB中,使用M函数是以该函数的磁盘文件主名调用,而不是function中的函数名,但我们建议二者用同名。

M函数与M脚本有两个重要区别:

第一,M函数一般有输入输出变量;第二,M函数中所有变量为局部变量,而脚本文件中所有变量都存在于命令窗口,即全程变量。

例如,写函数文件

M函数eg0_4f.m

functions=f(m)

s=0;

forn=1:

m

s=s+1/n/n;

end

保存为eg0_4f.m,在命令窗口执行

»clear;eg0_4f(100),eg0_4f(1000)

ans=

1.6350

ans=

1.6439

»s

?

?

?

Undefinedfunctionorvariables.%说明s不是命令窗口的变量

*4、编程几点高级事项

input提示输入

disp强行显示

num2str数值转字符串

str2num字符串转数值

int2str整数转字符串

mat2str矩阵转字符串

char按ASCII码转换

strcmp字符串比较

eval执行命令

feval执行函数

keyboard键盘指令

pause延时

warning显示警告

error显示错误并中断

nargin函数的输入变量个数

nargout输出变量个

(1)注释:

注释语句注释用%开头,对本行后面字符起作用,注释语句不参与运算,起说明作用,增强程序的可读性,一个好的M文件开头应有一段注释,说明功能和使用方法,这部分注释使用

help文件主名

可看到。

注释符%也常用于程序调试。

(2)提示输入:

input和disp是一组输入输出语句,例如编写下列脚本文件finddet.m,使对键盘输入的方阵求得行列式。

文件finddet.m

clearA;

A=input('Enterasquarematrix:

');

d=det(A);

disp(['Itsdeterminantis',num2str(d)]);

这里num2str是将数转换为字符串。

现在运行

»finddet

Enterasquarematrix:

(请你输入方阵,如[12;34])

Itsdeterminantis–2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1