第5章 MATLAB绘图
MATLAB二维图形处理
一、基本绘图指令 (二维线形图 plot)
形式
1. 向量式 plot(V) 例:hx5.m 2. 参数式plot(x,y) 例:hx.m 3. 矩阵式plot(Y) 例:hx6.m 4. 混合式plot(X,Y) 5. 复向量式plot(Z)
二、线型、顶点标记和颜色
颜色 黄 洋红 蛋青 红 绿 蓝 白 黑 y m c r g b w k
四、特殊图形
1. 带状图 ribbon 例:创建一个peaks函数的条状图 hx9.m 2. 二维条形图 bar 例:绘向量Y的条形图 hx10.m 三维条形图 bar3 bar3h 例: 3. 面积图 area 例:hx12.m
4. 带状图 ribbon 例:创建一个peaks函数的条状图 hx9.m 5. 二维条形图 bar 例:绘向量Y的条形图 hx10.m 三维条形图 bar3 bar3h 例: 6. 面积图 area 例:hx12.m
线型 实线 点线 点虚线 虚线
: -. --
顶点 实点 . 圆圈 o 乘号 x 加号 + 星号 * 方块 s 钻石 d
顶点 向下三角 向上三角 向左三角 向右三角 五角星 六边形
v ^ < > p h
三、三维线形图(plot3)
例1:绘一个三维线形图 hx7.m 例2:用矩阵数据绘图 hx8.m
5. 二维火柴杆图 stem 例:创建10个随机数的火柴杆图 hx24.m 三维火柴杆图 stem3 例:创建一个三维火柴杆图 hx25.m 6. 阶梯图 stairs 例:创建一个余弦波的阶梯图 hx26.m
7. 罗盘图 compass 例:绘矩阵特征值的罗盘图 hx27.m 8. 羽列图 feather 9. 多边形面积图 polyarea
第5章 图像变换技术 MATLAB 数字图像处理课件
5.6.2 Hough变换的MATLAB实现
hough函数用于实现Hough变换。其调用格式为: (1)[H, theta, rho]=hough(BW) (2)[H, theta, rho]=hough(BW, param1,
val1, param2, val2)
【例5-15】用hough函数检测图像中的直线。
(2)B = idct2(A,m,n)或B = idct2(A,[m n]):在对图 像A进行二维离散余弦逆变换前,先将图像A补零到m×n。 如果m和n比图像A的尺寸小,则在进行变换前,将图像A进 行剪切。
【例5-9】对图像进行二维离散余弦逆变换。
(a)原始图像
(b)逆DCT变换
3.dctmtx函数 在MATLAB图像处理工具箱中提供了dctmtx函数用
于计算二维离散DCT矩阵。 其调用格式为:D = dctmtx(n)。
返回n×n的DCT变换矩阵,如果矩阵A的大小为 n×n,D*A为A矩阵每一列的DCT变换值,A*D'为A 每一列的DCT变换值的转置(当A为n×n的方阵) 。
【例5-10】计算二维离散DCT矩阵。
(a)原始图像
(b)离散DCT矩阵
5.4 离散余弦变换
5.4.1 一维离散余弦变换 5.4.2 二维离散余弦变换 5.4.3 快速离散余弦变换
5.4.4 离散余弦变换的MATLAB实现
1.dct2函数 在MATLAB图像处理工具箱中提供了dct2函数用于实现二维
离散余弦变换。该函数常用于图像压缩,最常见的便是用 于JPEG图像压缩。其调用格式为: (1)B = dct2(A):返回图像A的二维离散余弦变换值,其 大小与A相同,且各元素为离散余弦变换的系数B(k1,k2)。 (2)B = dct2(A,m,n)或B = dct2(A,[m n]):在对图像A 进行二维离散余弦变换前,先将图像A补零到m×n。如果m 和n比图像A的尺寸小,则在进行变换前,将图像A进行剪切 。
Get清风MATLAB教程a第5章习题解答张志涌
MATLAB教程2012a第5章习题解答-张志涌第5章 数据和函数的可视化习题5及解答1 椭圆的长、短轴2,4==b a ,用“小红点线〞画椭圆⎩⎨⎧==tb y ta x sin cos 。
〔参见图p5-1〕〖解答〗 clf a=4;b=2;t=0:pi/80:2*pi; x=a*cos(t); y=b*sin(t);plot(x,y,'r.','MarkerSize',15) axis equal xlabel('x') ylabel('y')shg-4-3-2-101234-3-2-1123xy2 根据表达式θρcos 1-=绘制如图p5-2的心脏线。
〔提示:采用极坐标绘线指令polar 〕〖解答〗 clftheta=0:pi/50:2*pi;rho=1-cos(theta);h=polar(theta,rho,'-r');%极坐标绘线指令。
h 是所画线的图柄。
set(h,'LineWidth',4) %利用set 设置h 图形对象的“线宽〞axis square %保证坐标的圆整性0.51 1.523021060240902701203001503301800ρ=1-cos θ3 A,B,C 三个城市上半年每个月的国民生产总值如见表p5.1。
试画出如图p5-3所示的三城市上半年每月生产总值的累计直方图。
表p5.1 各城市生产总值数据〔单位:亿元〕城市 1月 2月 3月 4月 5月 6月 A 170 120 180 200 190 220 B 120 100 110 180 170 180 C 70508010095120〖目的〗● 借助MATLAB 的帮助系统,学习直方图指令polar 的使用。
● bar 指令常用格式之一:bar(x,Y,'style') 。
x 是自变量列向量;Y 是与x 行数相同的矩阵,Y 的每一行被作为“一组〞数据;style 取stacked 时,同一组数据中每个元素对应的直方条被相互层叠。
第5章MATLAB绘图_习题答案
第5章MATLAB绘图习题5一、选择题1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。
DA.12B.7C.4D.32.下列程序的运行结果是()。
Ax=0:pi/100:2*pi;forn=1:2:10plot(n*sin(x),n*cos(x))holdonendaxissquareA.5个同心圆B.5根平行线C.一根正弦曲线和一根余弦曲线D.5根正弦曲线和5根余弦曲线3.命令text(1,1,'{\alpha}+{\beta}')执行后,得到的标注效果是()。
C A.{\alpha}+{\beta}B.αβ}C.α+βD.αβ4.subplot(2,2,3)是指()的子图。
AA.两行两列的左下图B.两行两列的右下图C.两行两列的左上图D.两行两列的右上图x的曲线绘制成直线,应采用的绘图函数是()。
C5.要使函数y=2eA.polarB.semilogxC.semilogyD.loglog6.下列程序的运行结果是()。
B[x,y]=meshgrid(1:5);surf(x,y,5*ones(size(x)));A.z=x+y平面B.与xy平面平行的平面C.与xy平面垂直的平面D.z=5x平面7.下列函数中不能用于隐函数绘图的是()。
DA.ezmeshB.ezsurfC.ezplotD.plot38.下列程序运行后,看到的图形()。
Ct=0:pi/20:2*pi;[x,y]=meshgrid(-8:0.5:8);z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);surf(x,y,z)view(0,90);axisequalA.像墨西哥帽子B.是空心的圆C.边界是正方形D.是实心的圆9.下列程序运行后得到的图形是()。
A[x,y]=meshgrid(-2:2);z=x+y;i=find(abs(x)<1&abs(y)<1);z(i)=NaN;surf(x,y,z);shadinginterpA.在一个正方形的正中心挖掉了一个小的正方形B.在一个正方形的正中心挖掉了一个小的长方形C.在一个正方形的上端挖掉了一个小的正方形D.在一个正方形的下端挖掉了一个小的正方形10.在使用MATLAB“绘图”选项卡中的命令按钮绘图之前,需要()。
第5章 MATLAB控制系统建模
H(s)
(s + 1)(s + 2) (s + 2i)(s − 2i)(s + 3)
>> n1=[1 1];n2=[1 2];d1=[1 2*i];d2=[1 -2*i];d3=[1 3]; >> numh=conv(n1,n2);denh=conv(d1,conv(d2,d3)); >>printsys(numh,denh) num/den = s^2 + 3 s + 2 --------------------------s^3 + 3 s^2 + 4 s + 12 >>tf(numh,denh) Transfer function: s^2 + 3 s + 2 ----------------------------s^3 + 3 s^2 + 4 s + 12
第五章 控制系统建模
Page 147-162; Page 224-249
自动控制理论提供了各种分析和设计方法:如时 域响应法,根轨迹法、频域响应法,能方便地进 行运算并能以图形的形式表达出来,常规的手工 计算只能粗略计算,绘制近似图形,适合一般的 工程应用。 MATLAB的控制系统工具箱含有丰富的专门用于线 性系统分析和设计的函数, 提供可靠、准确的运 算工具,使得分析和设计更切合实际。
单位反馈联接
cloop()函数计算闭环传递函数
G1(s)
[num,den]=cloop(num1,den1,sign)
例
>> numg=[1];deng=[500 0 0]; >> numc=[1 1];denc=[1 2]; >> [num1,den1]=series(numg,deng,numc,denc); >> [num,den]=cloop(num1,den1,-1); >> printsys(num,den) num/den = s+1 ------------------------------------500 s^3 + 1000 s^2 + s + 1
MATLAB使用教程
2.2 变量和赋值
2.2.1 变量的命名 在MATLAB中,变量名是以字母开头, 后接字母、数字或下划线的字符序列, 最多19个字符。 在MATLAB中,变量名区分字母的大小 写。MATLAB提供的标准函数名以及命 令名必须用小写字母。
目录 21
2.2.2 赋值语句 MATLAB赋值语句有两种格式: (1) 变量=表达式 (2) 表达式 一般地,运算结果在命令窗口中显示出来。如 果在语句的最后加分号,那么,MATLAB仅仅 执行赋值操作,不再显示运算的结果。 在MATLAB语句后面可以加上注释,注释以% 开头,后面是注释的内容。
目录 22
例2.1 计算表达式的值,并将结果赋给变量x, 然后显示出结果。 在MATLAB命令窗口输入命令:
x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i) %计算表达式的值
目录 23
2.2.3 数据的输出格式 MATLAB用十进制数表示一个常数,具体可 采用日常记数法和科学记数法两种表示方法。 数据输出时用户可以用format命令设置或改 变 数 据 输 出 格 式 。 format 命 令 的 格 式 为 : format 格式符 注意,format命令只影响数据输出格式,而 不影响数据的计算和存储。
17
例1.4 设有常微分方程初值问题,试求 其数值解,并与精确解相比较。 (1)建立函数文件funt.m: function yp=funt(t,y) yp=(y^2-t-2)/4/(t+1); (2)求解微分方程: t0=0;tf=10;y0=2; [t,y]=ode23('funt',[t0,tf],y0); y1=sqrt(t+1)+1; t'
第5章matlab绘制二维图形及三维图形的方法
实验四
专业:电子信息工程2班姓名:李书杰学号:3121003210
一、实验目的
1.掌握绘制二维图形及三维图形的方法。
2.掌握图形控制与修饰处理的方法。
3.了解图像处理及动画制作的基本方法。
二、实验内容
1.绘制下列图形曲线。
(1)y=x-x^3/3! (2)x^2+2Y^2=64
解:程序如下
2.设y=1/(1+e^-t),-pi<=t<=pi,在同一个图形窗口中采用子图的形式绘制条形图、阶梯图、杆图和对数坐标等不同图形,并对不同图形加标注说明。
解:程序如下
3.绘制下列极坐标图。
(1)ρ=5cosθ+4 (2)γ=5sin^2φ/cosφ,-π/3<φ<π/3 解:程序如下
思考练习:
2.绘制下列曲线
(1)y=1/2πe^(-x^2/2) (2)x=tsint y=tcost
解:程序如下
(1)
结果如下:
(2)
结果如下:
3.在同一坐标中绘制下列两条曲线并标注两曲线交叉点。
(1)y=2x-0.5
(2)x=sin(3t)cost
Y=sin(3t)sint
解:程序如下
4.分别用plot和fplot函数绘制y=sin(1/x)的曲线,分析两曲线的差别。
解:程序如下
结果如下:
5.绘制下列极坐标图:
(1)p=12/sqrt(θ) (2)γ=3asinφcosφ/(sin^3φ+cos^3φ)解:程序如下
结果如下:。
MATLAB绘图和符号运算
本章目标
• 理解符号运算的有关概念 • 掌握使用符号运算解决符号推导、微积分、 方程等问题的方法
主要内容
•5.1 数值运算与符号运算 •5.2 符号变量和符号表达式 •5.3 符号表示式的运算 •5.4 微积分 •5.5 方程求解
5.1数值运算与符号运算
• 数值运算在运算前必须先对变量赋值,再 参加运算。 • 符号运算不需要对变量赋值就可运算,运 算结果以标准的符号形式表达。
5.2 符号变量和符号表达式
• 符号变量和符号表达式在使用前必须说明
– sym函数
>>f1=sym(‘ a x^2+b x+c’ ) 号表达式 %创建符号变量 f1和一个符
– syms函数
>> clear >> syms a b c x >> whos Name Size a 1x1 b 1x1 c 1x1 x 1x1
例: >> >> >> >> >>
x=[-8:0.5:8]; y=[-8:0.5:8]; [X,Y]=meshgrid(x,y); r=sqrt(X.^2+Y.^2)+eps; Z=sin(r)./r; mesh(X,Y,Z)
二维作图机制
点 线
先画点,后连线
例:y = sin(x), 0 < x < 2 一、画点
第4章 MATLAB绘图
linda 整理
本章目标
• 了解MATLAB的绘图功能 • 掌握二维图形和三维图形的绘制方法 • 能够进行常用的数据可视化处理
Matlab 绘图
如何画出 y=sin(x) 在 [0, 2*pi] 上的图像?
实验06_高层绘图操作(第5章)
x=linspace(-5,5,21);
y=linspace(0,10,31);
[X,Y]=meshgrid(x,y);
Z=cos(X).*cos(Y).*exp(-sqrt(X.^2+Y.^2)/4);
subplot(2,1,1);surf(X,Y,Z);
subplot(2,1,2);contour3(X,Y,Z);
subplot(2,2,4);fill(x,y3,'g');%填充图
图形:
3. 绘制分段函数的曲线
已知
在-5≤x≤5区间绘制函数曲线。(注意:本曲线不连续!)
程序:
fplot('(x+sqrt(pi))/exp(2)',[-5,0]);
holdon;
fplot('log(x+sqrt(1+x^2))/2',[0,5]);
x
\0
∅
\rceil
ù
\surd
√
\midபைடு நூலகம்
附参考答案:
实验06高层绘图操作
(第5章MATLAB绘图)
一、实验目的
1. 掌握绘制二维图形的常用函数。
2. 掌握绘制三维图形的常用函数。
3. 掌握绘制图形的辅助操作。
二、实验内容
1. 绘制函数的曲线
设 ,在x=0~2π区间取101点,绘制函数的曲线。
程序:
x=linspace(0,2*pi,101);
例
%一个单位圆,一个复数参数
t=0:0.01:2*pi;
x=exp(i*t);%cos(t)+i*sin(t)
plot(x); axisequal;
第5章 MATLAB绘图_习题答案
第5章 MATLAB绘图习题5一、选择题1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。
DA.12 B.7 C.4 D.32.下列程序的运行结果是()。
Ax=0:pi/100:2*pi;for n=1:2:10plot(n*sin(x),n*cos(x))hold onendaxis squareA.5个同心圆B.5根平行线C.一根正弦曲线和一根余弦曲线D.5根正弦曲线和5根余弦曲线3.命令text(1,1,'{\alpha}+{\beta}')执行后,得到的标注效果是()。
CA.{\alpha}+{\beta} B.{\α}+{\β} C.α+βD.\α+\β4.subplot(2,2,3)是指()的子图。
AA.两行两列的左下图B.两行两列的右下图C.两行两列的左上图D.两行两列的右上图5.要使函数y=2e x的曲线绘制成直线,应采用的绘图函数是()。
CA.polar B.semilogx C.semilogy D.loglog6.下列程序的运行结果是()。
B[x,y]=meshgrid(1:5);surf(x,y,5*ones(size(x)));A.z=x+y平面B.与xy平面平行的平面C.与xy平面垂直的平面D.z=5x平面7.下列函数中不能用于隐函数绘图的是()。
DA.ezmesh B.ezsurf C.ezplot D.plot38.下列程序运行后,看到的图形()。
Ct=0:pi/20:2*pi;[x,y]=meshgrid(-8:0.5:8);z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);surf(x,y,z)view(0,90);axis equalA.像墨西哥帽子B.是空心的圆C.边界是正方形D.是实心的圆9.下列程序运行后得到的图形是()。
A[x,y]=meshgrid(-2:2);z=x+y;i=find(abs(x)<1 & abs(y)<1);z(i)=NaN;surf(x,y,z);shading interpA.在一个正方形的正中心挖掉了一个小的正方形B.在一个正方形的正中心挖掉了一个小的长方形C.在一个正方形的上端挖掉了一个小的正方形D.在一个正方形的下端挖掉了一个小的正方形10.在使用MA TLAB“绘图”选项卡中的命令按钮绘图之前,需要()。
第五章 ——MATLAB跟轨迹分析
K ( s + 5) ( s + 1)( s + 3)( s + 12) ,
绘制系统的跟轨迹,并在跟轨迹上任选一点 并在跟轨迹上任选一点, 试使用 MATLAB 绘制系统的跟轨迹 并在跟轨迹上任选一点, 计算该点的增益 K 及其所有极点的位置
4. 已知单位负反馈系统, 已知单位负反馈系统, 系统的开环传递函数为
第五章
5.1 5.2 5. 3 5. 4
MATLAB跟轨迹分析 MATLAB跟轨迹分析
根轨迹法基础 MATLAB根轨迹相关指令 MATLAB根轨迹相关指令 根轨迹分析与设计工具rltool 根轨迹分析与设计工具rltool 用根轨迹分析系统性能
5.1
跟轨迹法基础
一、根轨迹方程 二、基本条件
根轨迹的相角条件 根轨迹的幅值条件
已知单位负反馈系统, 2. 已知单位负反馈系统,系统的开环传递函数为
GH ( s ) = K ( s + 1) , s (0.5s + 1)(4 s + 1)
绘制系统的跟轨迹。 试使用 MATLAB 绘制系统的跟轨迹。
已知单位负反馈系统, 3. 已知单位负反馈系统,系统的开环传递函数为
G ( s) =
阻尼比间隔0 阻尼比间隔0.1,范围:0-1; 范围: 自然振荡角频率间隔为pi/10,范围0 pi/10 自然振荡角频率间隔为pi/10,范围0-pi
(3)zgrid(z,wn) zgrid( wn)
可以指定阻尼比系数z与自然振荡角频率wn 可以指定阻尼比系数z与自然振荡角频率wn。 wn。
5. 3
例5-2:绘制如下系统的根轨迹图
0.05s + 0.045 G(s) = 2 ( s − 1.8s + 0.9)( s 2 + 5s + 6)
力学专业程序实践(第2版):用MATLAB解决力学问题的方法
第12章后处理 2
Abaqus的计算 结果
3 第13章处理和
绘制拉伸实验 的数据
4 第14章实现一
个光学引伸计
5 第15章求解弹
箭起竖发射的 临界风速
第17章计算弹箭吊 装意外跌落的运动
规律
第16章计算发射平 台上弹箭倾倒后的
运动规律
第18章求解热冲击 作用下弹药的温度
谢谢观看
场
作者介绍
这是《力学专业程序实践(第2版):用MATLAB解决力学问题的方法与实例》的读书笔记模板,暂无该书作 者的介绍。
读书笔记
这是《力学专业程序实践(第2版):用MATLAB解决力学问题的方法与实例》的读书笔记模板,可以替换为 自己的心得。
精彩摘录
这是《力学专业程序实践(第2版):用MATLAB解决力学问题的方法与实例》的读书笔记模板,可以替换为 自己的精彩内容摘录。
力学专业程序实践(第2版):用 MATLAB解决力学问题的方法
读书笔记模板
01 思维导图
03 目录分析 05 读书笔记
目录
02 内容摘要 04 作者介绍 06 精彩摘录
思维导图
关键字分析思维导图
方法
专业
规律
绘图
有限元
项目
冲击
力学
力学
教材 第章
典型
问题
运动
引伸
程序
光学
力学
拉伸
内容摘要
本教材分为上下两篇,上篇针对力学数据处理的特点介绍了MATLAB最核心的内容,包括MATLAB编程、计算和 绘图;下篇以项目的方式介绍了用MATLAB解决理论力学、弹性力学、计算力学、实验力学以及兵器科学与技术等 学科典型问题的方法、思路以及实例。本教材可作为高等院校力学专业或航天航空、机械类专业本科生和研究生 的参考教材,亦可为相关专业的教师和研究人员提供参考。
第5章 MATLAB绘图
例5-7 在0≤x≤2区间内,绘制曲线y1=2e-0.5x和 y2=cos(4πx),并给图形添加图形标注。
程序如下:
x=0:pi/100:2*pi;
y坐标数据。
例5-1 在0≤x≤2区间内,绘制曲线 y=2e-0.5xcos(4πx)
程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y)
例5-2 绘制曲线。 程序如下: t=0:0.1:2*pi; x=t.*sin(3*t); y=t.*sin(t).*sin(t); plot(x,y);
例5-9 用fplot函数绘制f(x)=cos(tan(πx))的曲线。 命令如下: fplot('cos(tan(pi*x))',[ 0,1],1e-4)
5.1.7 图形窗口的分割
subplot函数的调用格式为:
subplot(m,n,p)
该函数将当前图形窗口分成m×n个绘图区, 即每行n个,共m行,区号按行优先编号, 且选定第p个区为当前活动区。在每一个绘 图区允许以不同的坐标系单独绘制图形。
第5章 MATLAB绘图 5.1 二维数据曲线图 5.2 其他二维图形 5.3 隐函数绘图 5.4 三维图形 5.5 图形修饰处理 5.6 图像处理与动画制作
5.1 二维数据曲线图 5.1.1 绘制单根二维曲线 plot函数的基本调用格式为:
plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标和
(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、 纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
第5章_MATLAB绘图
参考教材 : MATLAB程序设计与应用(第二版) 刘卫国 主编 高等教育出版社
计算机学院 郭江鸿 21B434 82519604
5.1 二维图形 5.1.1 绘制二维曲线 1. plot函数的基本调用格式为: plot(x , y) 其中x和y为长度相同的向量,分别用于 存储二维曲线的x坐标和y坐标数据。
90 0.5 120 0.4 60
0.3 150 0.2 30
0.1
180
0
210
330
240 270
300
3.对数坐标图形 MATLAB提供了绘制对数和半对数坐标曲线 的函数,调用格式为: semilogx(x1,y1,选项1,x2,y2,选项2,…) semilogy(x1,y1,选项1,x2,y2,选项2,…) loglog(x1,y1,选项1,x2,y2,选项2,…) 例5.10 绘制y=10x2的对数坐标图并与直角线性 坐标图进行比较。
Line in 3-D Space
5
Z
0
origin
-5 -5 -5 0 5 5 X Y 0
0.8 0.6 0.4
t=0:0.15:2*pi; x=sin(t); y=cos(t); z=cos(2*t); plot3(x,y,z,'b-',x,y,z, 'rd')
axis([0 10 0 2.5]) %设置坐标轴刻度范围
例5.5 绘制分段函数曲线并添加图形标注。
x=linspace(0,10,100); y=[ ]; for x0=x if x0>=8 y = [y,1]; elseif x0>=6 y = [y,5-x0/2]; elseif x0>=4 y = [y , 2]; elseif x0>=0 y = [y,sqrt(x0)]; end end plot(x,y) axis([0 10 0 2.5]) title('分段函数曲线'); xlabel('Variable X'); ylabel('Variable Y');
《Matlab程序设计》课程教学大纲
Matlab程序设计Matlab Program Design一、课程基本情况课程类别:专业任选课课程学分:2学分课程总学时:32学时,其中讲课:24学时,实验(含上机):8学时课程性质:选修开课学期:第4学期先修课程:计算机基础,高等数学,线形代数适用专业:电子科学与技术教材:MATLAB程序设计教程,中国水利水电出版社,刘卫国,2010,第2版开课单位:电子与信息工程学院电子科学与技术系二、课程性质、教学目标和任务MATLAB程序设计是电子与电气信息类相关专业的专业任选课程之一。
MATLAB是由MathWorks 公司1985 年推出的一种面向科学与工程的计算软件,它具有极强的数值计算、图形文字处理、数据分析、动态仿真、信号处理等功能,涉及了数值分析、自动控制、信号处理、图像处理等十几个领域的计算和图形显示,功能强大。
因此,将MATLAB引入教学,强化应用能力培养,学生在学习专业基础课程时,增加工程应用背景,在打好专业基础的同时,提高学生的应用、创新意识。
通过本课程的学习,使学生学习和掌握如何利用MATLAB对所学理论、原理和方法进行计算机仿真,通过仿真,加深对所学知识的理解和掌握,解决学习相关课程中遇到的抽象问题,为后续专业课程的学习奠定基础。
通过工程软件在电气类专业基础课程的应用,提高学生动手能力、分析问题与解决问题的能力,到达对学生的工程意识培养的目的。
三、教学内容和要求第1章MATLAB系统环境(2学时)(1 )了解MATLAB的影响及其开展历史和MATLAB 7.0的主要功能;(2)理解MATLAB 7.0的运行环境与安装过程,熟悉菜单栏、工具栏的使用;( 3)掌握命令窗口、历史记录窗口、当前目录窗口的使用方法;重点:命令窗口、历史记录窗口、当前目录窗口的使用方法;难点:MATLAB 7.0的辅助局部和MATLAB的数学函数库。
第2章MATLAB数据及其运算(2学时)(1 )了解元胞数组、结构与结构数组;( 2)理解一、二维数组的创立方法;( 3)掌握数值表示、变量表达式、矩阵的表示、字符串矩阵的算术运算、数组运算;重点:矩阵线性运算;创立数组、数组的算术运算;难点:数组运算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.1.2 绘制多根二维曲线 1.plot函数的输入参数是矩阵形式 (1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不 同颜色的曲线。曲线条数等于y矩阵的另一维数,x被作为这 些曲线共同的横坐标。 >> x=[1 2 3]; >> y=[1 2 3;4 5 6;7 8 9]; >> plot(x,y);
3.具有两个纵坐标标度的图形 . 在MATLAB中,如果需要绘制出具有不同纵坐标标 度的两个图形,可以使用plotyy绘图函数。调用格式为: plotyy(x1,y1,x2,y2)
其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标 度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐 标用于x2,y2数据对。
纵坐标范围默认在最大最 小值之间。
4.图形保持 . hold on/off命令控制是保持原有图形还是刷新原有图 形,不带参数的hold命令在两种状态之间进行切换。 例4-5 采用图形保持,在同一坐标内绘制曲线 y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx)。 程序如下: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); plot(x,y1) hold on y2=2*exp(-0.5*x).*cos(pi*x); plot(x,y2); hold off
程序如下: x=0:pi/10:2*pi; y=2*sin(x); subplot(2,2,1);bar(x,y,'g'); title('bar(x,y,''g'')');axis([0,7,-2,2]); subplot(2,2,2);stairs(x,y,'b'); title('stairs(x,y,''b'')');axis([0,7,-2,2]); subplot(2,2,3);stem(x,y,'k'); title('stem(x,y,''k'')');axis([0,7,-2,2]); subplot(2,2,4);fill(x,y,'y'); title('fill(x,y,''y'')');axis([0,7,-2,2]);
(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵 坐标分别绘制曲线,曲线条数等于矩阵的列数。 >> x=[1 2 3;4 5 6;7 8 9]; >> y=[7 8 9;1 2 3;4 5 6]; >> plot(x,y); (3) 对只包含一个输入参数的plot函数,当输入参数是实矩阵 时,则按列绘制每列元素值相对其下标的曲线,曲线条数等 于输入参数矩阵的列数。 >> x=[1 2 3;4 5 6;7 8 9]; >> plot(x,y);
5.1.4 图形标注与坐标控制
1.图形标注 有关图形标注函数的调用格式为: title(图形名称) xlabel(x轴说明) ylabel(y轴说明) text(x,y,图形说明) legend(图例1,图例2,…)
函数中的说明文字,除使用标准的ASCII字符外,还可使用 LaTeX格式的控制字符,这样就可以在图形上添加希腊字母、数学 符号及公式等内容。例如,text(0.3,0.5,‘sin({\omega}t+{\beta})’)将 得到标注效果sin(ωt+β)。
例5-4 用不同标度在同一坐标内绘制曲线 y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx)。
程序如下: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=2*exp(-0.5*x).*cos(pi*x); plotyy(x,y1,x,y2);
>> x1=linspace(0,2*pi,100); >> y1=sin(x1); >> x2=linspace(0,3*pi,100); >> y2=1+sin(x2); >> x3=[x1;x2]'; >> y3=[y1+2;y2+2]'; >> plot(x1,y1,x2,y2,x3,y3)
加入文字一种更直接的办法: >> gtext('sinx') 在图形窗口十字线的交点是字符串的位置,用鼠标点 一下就可以将字符串放在那里
2.坐标控制 . axis函数的调用格式为: axis([xmin xmax ymin ymax zmin zmax])
[ ]中分别给出x轴和y轴的最大值、最小值
例5-7 在0≤x≤2π区间内,绘制曲线y1=2e-0.5x和 y2=cos(4πx),并给图形添加图形标注。
程序如下: x=0:pi/100:2*pi; y1=2*exp(-0.5*x); y2=cos(4*pi*x); plot(x,y1,x,y2) title('x from 0 to 2{\pi}'); xlabel('Variable X'); ylabel('Variable Y'); text(0.8,1.5,'曲线y1=2e^{-0.5x}'); text(2.5,1.1,'曲线y2=cos(4{\pi}x)'); legend('y1','y2') %加图例 %加图形标题 %加X轴说明 %加Y轴说明 %在指定位置添加图形说明
5.1.6 图形窗口的分割 subplot函数的调用格式为: subplot(m,n,p) 该函数将当前图形窗口分成m×n个绘图区,即每 行n个,共m行,区号按行优先编号,且选定第p个区为 当前活动区。在每一个绘图区允许以不同的坐标系单 独绘制图形。 例5-10 在图形窗口中,以子图形式同时绘制多根曲线。
2.含多个输入参数的plot函数 .含多个输入参数的 函数 调用格式为: plot(x1,y1,x2,y2,…,xn,yn)
(1)
当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn 分别组成一组向量对,每一组向量对的长度可以不同。 每一向量对可以绘制出一条曲线,这样可以在同一坐标 内绘制出多条曲线。
5.2 二维统计分析图 在MATLAB中,二维统计分析图形很多,常见的bar(x,y,选项) stairs(x,y,选项) stem(x,y,选项) fill(x1,y1,选项1,x2,y2,选项2,…)
分别以条形图、阶梯图、 例5.2.1 分别以条形图、阶梯图、杆图和填充图形式 绘制曲线y=2sin(x)。 绘制曲线 。
5.1.3 设置曲线样式 MATLAB提供了一些绘图选项,用于确定所绘曲线 的线型、颜色和数据点标记符号,它们可以组合使用。 线型 线方式: - 实线 :点线 -. 虚点线 - - 波折线。 线型 点方式: . 圆点 +加号 * 星号 x x形 o 小圆 颜色:b蓝 ;g绿;r红; c青; m紫; y黄; k黑; w白; 当选项省略时,MATLAB规定,线型一律用实线,颜色将 根据曲线的先后顺序依次。 要设置曲线样式可以在plot函数中加绘图选项,其调用格 式为: plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)
例5-2 绘制曲线。 程序如下: t=0:0.1:2*pi; x=t.*sin(3*t); y=t.*sin(t).*sin(t); plot(x,y);
plot函数最简单的调用格式是只包含一个输入参数: plot(x) 在这种情况下,当x是实向量时,以该向量元素的下标为 横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘 制折线图。
当输入参数是复数矩阵时,则按列分别以元素实部和 虚部为横、纵坐标绘制多条曲线。 >> u=[2i+3 4i+4;3i+7 5i+5;i+2 6i+2] >> plot(u)
u= 3.0000 + 2.0000i 4.0000 + 4.0000i 7.0000 + 3.0000i 5.0000 + 5.0000i 2.0000 + 1.0000i 2.0000 + 6.0000i
axis函数功能丰富,常用的格式还有: axis equal:纵、横坐标轴采用等长刻度。 axis square:产生正方形坐标系(缺省为矩形)。 axis auto:使用缺省设置。 axis off:取消坐标轴。axis on:显示坐标轴。 给坐标加网格线用grid命令来控制。grid on/off命令控制 是画还是不画网格线,不带参数的grid命令在两种状态之间 进行切换。 给坐标加边框用box命令来控制。box on/off命令控制是 加还是不加边框线,不带参数的box命令在两种状态之间进 行切换。
第5章 MATLAB绘图
5.1 二维数据曲线图 5.2 其他二维图形 5.3 隐函数绘图 5.4 三维图形 5.5 图形修饰处理 5.6 图像处理与动画制作
5.1 二维数据曲线图
5.1.1 绘制单根二维曲线 plot函数的基本调用格式为: plot(x,y)
其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。 例5-1 在0≤x≤2π区间内,绘制曲线 y=2e-0.5xcos(4πx) 程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y)
综合练习: 用函数y=x+sin(x)动画验证Lagrange中值定理. x ∈ [0, π ] 定理: 如果函数f(x)在[a,b]上处 处可导,则必有一ξ∈[a,b]使 得f'(ξ)*(b-a)=f(b)-f(a)