Matlab入门教程.doc

上传人:汽*** 文档编号:558338650 上传时间:2024-02-29 格式:DOC 页数:29 大小:83KB
返回 下载 相关 举报
Matlab入门教程.doc_第1页
第1页 / 共29页
Matlab入门教程.doc_第2页
第2页 / 共29页
Matlab入门教程.doc_第3页
第3页 / 共29页
Matlab入门教程.doc_第4页
第4页 / 共29页
Matlab入门教程.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《Matlab入门教程.doc》由会员分享,可在线阅读,更多相关《Matlab入门教程.doc(29页珍藏版)》请在金锄头文库上搜索。

1、Matlab入门教程-二维绘图 .基本xy平面绘图命令 MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示 (Scientific visualization)。本节将介绍MATLAB基本xy平面及xyz空间 的各项绘图命令,包含一维曲线及二维曲面的绘制、列印及存档。 plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲 线上每一点的x及y座标。下例可画出一条正弦曲线: close all; x=linspace(0, 2*pi, 100); % 100个点的x座标 y=sin(x); % 对应的y座标 plot(x,y); = 小整理:MATLAB基本绘图函

2、数 plot: x轴和y轴均为线性刻度(Linear scale) loglog: x轴和y轴均为对数刻度(Logarithmic scale) semilogx: x轴为对数刻度,y轴为线性刻度 semilogy: x轴为线性刻度,y轴为对数刻度 = 若要画出多条曲线,只需将座标对依次放入plot函数即可: plot(x, sin(x), x, cos(x); 若要改变颜色,在座标对後面加上相关字串即可: plot(x, sin(x), c, x, cos(x), g); 若要同时改变颜色及图线型态(Line style),也是在座标对後面加上相 关字串即可: plot(x, sin(x),

3、 co, x, cos(x), g*); = 小整理:plot绘图函数的叁数 字元 颜色 字元 图线型态 y 黄色 . 点 k 黑色 o 圆 w 白色 x x b 蓝色 + + g 绿色 * * r 红色 - 实线 c 亮青色 : 点线 m 锰紫色 -. 点虚线 - 虚线 = 图形完成後,我们可用axis(xmin,xmax,ymin,ymax)函数来调整图轴的范 围: axis(0, 6, -1.2, 1.2); 此外,MATLAB也可对图形加上各种注解与处理: xlabel(Input Value); % x轴注解 ylabel(Function Value); % y轴注解 title(

4、Two Trigonometric Functions); % 图形标题 legend(y = sin(x),y = cos(x); % 图形注解 grid on; % 显示格线 我们可用subplot来同时画出数个小图形於同一个视窗之中: subplot(2,2,1); plot(x, sin(x); subplot(2,2,2); plot(x, cos(x); subplot(2,2,3); plot(x, sinh(x); subplot(2,2,4); plot(x, cosh(x); MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。 = 小整理:其他各种二维绘图函

5、数 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*p

6、i,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,

7、 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将资料点视为多边行顶点,并将此多边行涂上颜色:

8、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); 3.基本XYZ立体绘图命令 在科学目视表示(Scientific visua

9、lization)中,三度空间的立体图是 一个非常重要的技巧。本章将介绍MATLAB基本XYZ三度空间的各项绘图命 令。 mesh和plot是三度空间立体绘图的基本命令,mesh可画出立体网状图, plot则可画出立体曲面图,两者产生的图形都会依高度而有不同颜色。下 列命令可画出由函数 形成的立体网状图: 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也是21

10、x21的矩阵 mesh(xx, yy, zz); % 画出立体网状图 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函数,可产生一个凹凸有 致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为

11、: 要画出此函数的最快方法即是直接键入peaks: 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) 我们亦可对peaks函数取点,再以各种不同方法进行绘图。meshz可将曲面 加上围裙: x,y,z=peaks; meshz(x,y,z); axis(-inf inf -inf inf -inf inf); waterfall可在x方向或y方向产生水流效果: x,y,z=peaks; waterfall(x,y,z); a

12、xis(-inf inf -inf inf -inf inf); 下列命令产生在y方向的水流效果: x,y,z=peaks; waterfall(x,y,z); axis(-inf inf -inf inf -inf inf); meshc同时画出网状图与等高线: x,y,z=peaks; meshc(x,y,z); axis(-inf inf -inf inf -inf inf); surfc同时画出曲面图与等高线: x,y,z=peaks; surfc(x,y,z); axis(-inf inf -inf inf -inf inf); contour3画出曲面在三度空间中的等高线: con

13、tour3(peaks, 20); axis(-inf inf -inf inf -inf inf); contour画出曲面等高线在XY平面的投影: contour(peaks, 20); 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); MATLAB 程式设计与应用 1-1、基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号()之後,并按入Enter键即可。例如: (5*2+1.3-0.8)*10/25 ans = 4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案 (Answer),并显示其数值於萤幕上。(为简便起见,在下述各例中,我 们不再印出MATLAB的提示号。) = 小提示:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号