上机材料二MATLAB语言绘图程序设计Word文档格式.docx
- 文档编号:19718583
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:12
- 大小:108.60KB
上机材料二MATLAB语言绘图程序设计Word文档格式.docx
《上机材料二MATLAB语言绘图程序设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《上机材料二MATLAB语言绘图程序设计Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
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<
x<
2
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:
ya=xa。
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显示/不显示格栅
例参变量函数
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<
b,c<
y<
d
axis([a,b,c,d,e,f])定制3维坐标轴范围a<
d,e<
z<
f
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=
s=0。
forn=1:
100
s=s+1/n/n。
end
s
s=
1.6350
常用控制流语句有
for循环变量=初值:
增量:
终值,语句;
while(条件式),语句;
if(条件式),语句。
end
if(条件式1),语句1。
elseif(条件式2),语句2。
……。
else,语句。
end
switch(分支变量)case(值1),语句1。
case(值2),语句2。
……。
otherwise语句。
另外还有break(中断循环),return(中断执行返回)等.
2、M脚本文件
从工具栏的NewFile按钮或在File/New菜单选M-file就进入MATLAB的编辑器Editer,用以编写用户的M文件.M文件可分为两类:
M脚本文件和M函数文件.将多条MATLAB语句写在编辑器中保存在适当的目录中(这个目录须在MATLAB搜索路径中),就得到一个M脚本.如我们将下面几条语句写在编辑器中,
保存为eg0_4(不要加扩展名m),然后在命令窗口执行
eg0_4
使用编辑器也可打开和修改M文件,观察变量值,调试程序等.但要注意:
每次修改程序后都要存盘.
3、函数文件
M函数文件以function开头,格式为
function输出变量=函数名(输入变量)
语句;
在MATLAB中,使用M函数是以该函数的磁盘文件主名调用,而不是function中的函数名,但我们建议二者用同名.M函数与M脚本有两个重要区别:
第一,M函数一般有输入输出变量;
第二,M函数中所有变量为局部变量,而脚本文件中所有变量都存在于命令窗口,即全程变量.例如,写函数文件
M函数eg0_4f.m
functions=f(m)
m
保存为eg0_4f.m,在命令窗口执行
clear。
eg0_4f(100),eg0_4f(1000)
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
(请你输入方阵,如[12。
34])
Itsdeterminantis–2
(4)子函数:
M函数中允许使用子函数.M函数中第一个function为主函数,其它function为子函数.
(5)全程变量:
M文件间变量值传递除使用参量外还有一种方式:
定义global(全程变量),它的意义与通常全程变量稍有区别,只对有定义的文件起作用.
(6)数组化编程:
MATLAB是数组化程序语言,好的M文件应尽量使用内部函数(包括关系与逻辑函数any,all,find等),少用循环语句,提高运算速度.如例4写成下列形式运算较快.
M函数eg0_4f.m的改进
n=1:
m。
s=sum(1./n.^2);
%sum表示向量的和
(7)预分配:
尽管MATLAB数组无须定义大小,但经常改变数组大小会影响速度,采取一些预分配方法可提高运算速度.如
较差的程序
v
(1)=2。
fori=2:
v(i)=v(i-1)^0.5。
较好的程序
v=2*ones(1,100)。
v(i)=v(I-1)^0.5。
(8)与C/C++及FORTRAN的接口:
MATLAB提供了API函数将C/C++或FORTRAN程序转化为在MATLAB中运行的MEX文件,也可用Complier从M函数生成C/C++代码或可执行文件.
*例分段函数图
ya=-2:
z=zeros(size(x))。
%预处理可加快速度
k1=find(x+y>
1)。
%k1返回符合x+y>
1的数组编址(单下标)
z(k1)=0.5457*exp(-0.75*y(k1).^2-3.75*x(k1).^2-1.5*x(k1))。
k2=find(x+y<
=1&
x+y>
-1)。
z(k2)=0.7575*exp(-y(k2).^2-6*x(k2).^2)。
k3=find(x+y<
z(k3)=0.5457*exp(-0.75*y(k3).^2-3.75*x(k3).^2+1.5*x(k3))。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上机 材料 MATLAB 语言 绘图 程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)