第五章 matlab绘图
机电系统动态仿真第五章 MATLAB编程
ak 2 ak ak 1 ,(k=1,2,…); 【例4-2】一数组的元素满足规则: 且a1 a2 1 。现要求该数组中第一个大于10000的元素。
a(1)=1;a(2)=1;i=2; while a(i)<=10000 a(i+1)=a(i-1)+a(i); i=i+1; end;
ex为一标量或字符串。 当ex等于test1时,执行组命令1, 然后跳出该结构。
表达式不等于前面所有检测值 时,则执行该组命令。
【例4-3】switch示例:将例4-1中的曲线按 值用不同颜色画出 。
t=[0:0.1:18]';for x=0.2:0.2:0.8 b=sqrt([1-x^2]);z=atan(b/x); y1=-t*x;y2=t*b+z;y=1-exp(y1).*sin(y2)/b; switch round(10*x) %将x圆整成整数 case 2 %采用switch结构,按x值,绘制不同颜色曲线. plot(t,y,'r'),hold on case 4 plot(t,y,'b'),hold on case 6 plot(t,y,'k'),hold on otherwise plot(t,y,'g'),hold on end end xlabel(‘t(秒)’),ylabel(‘y’) title(‘二阶系统阶跃响应’) text(3.3,0.9,‘{\xi}=0.8’) text(4.3,1.4,'{\xi}=0.2')
%显示出错原因
4
ans =
9
2
Index exceeds matrix dimensions.
[整理]Matlab学习笔记--Matlab画图.
1.基本绘图函数:2.Matlab绘图步骤3.plot(x,y,s) s是字符串,不同的字符串代表不同的线型plot(x1,y1,s1,x2,y2,s2,…..)是将多个图形或函数曲线拼接放置在同一个图形框中。
函数曲线的颜色、线型和数据点型上面左边的b代表蓝色,-.代表点线型,就是x取的各点之间的连线为-.,而x取值的各个点的类型为空,就代表是默认的点型上面那个是r代表红色,--代表线型,而点型是*就是x取了多少个点,就多少个*,而*和*直接的连接为—上面的s里面的写法为:线型+颜色+点型线性为-.,颜色为k代表黑色,点型为h代表六角星型。
我们还可以不定义线性,为空,那么两个点之间就不连线了。
4.我们还可以定义曲线的颜色和线宽LineWidth:设定绘图曲线的粗细MarkerEdgeColor:数据点型或边界的颜色(圆形、菱形、六角星型等) MarkerFaceColor:数据点型的天聪颜色。
MarkerSize:数据点的大小从上可以看出:线型为--,颜色为r代表红色,点型为s代表方形,线的粗细为3,点标记的颜色为r代表红色,点标记的填充颜色为y代表黄色,点标记的大小为10.5.很多时候,需要在一张图上多次画多条曲线。
就需要hold函数:即图形保持命令,主要用于暂存当前的图形窗口,可以让用户继续在命令窗口中绘制其他函数图形,并且后续的图形曲线与当前窗口中的曲线在同一个图形界面中显示。
Hold函数不会因后面画的图形的坐标值不一样而改变当前坐标轴的定义范围。
Hold on函数:作用同上,但可以根据新的图形曲线的坐标轴极限值来自动调整当前坐标轴的坐标值。
Hold off函数:结束当前的图形保持状态,一般与Hold on匹配,hold off函数后就需要从新设置坐标轴的属性。
Hold All函数:保留当前的颜色和线型,这样在绘制后面的图形时就是用当前的颜色和线型。
这里x变换是从0—1我们通过hold on之后,就把后面的1—2的变换接上去了,效果很好。
第五章 MATLAB绘图
第五章MATLAB绘图教学目标1、熟练掌握MATLAB二维图形的绘制2、了解隐函数绘图3、熟练掌握三维图形绘制4、熟练掌握各种特殊图形的绘制5.1 二维曲线图5.1.1 图形窗口简介MATLAB一向注重数据的图形表示,所有的图形窗口的开发使用都是为了让用户通过更为直观的方法直接体会数据间的含义1、figure及相关指令在MATLAB术语中,有一个显示图形窗口叫做“figure”,不同的figure命令可以用其句柄(handle)加以区分。
不带参数的figure命令用来产生一个新的figure窗口,返回其句柄。
也可以带一个整型参数:figure(H),表示打开一个新的figure窗口并且其句柄为H。
如果举兵为H的figure窗口已经存在,则此命令将它变为可见,即置于其他所有子窗口的上面,并且把它变成“当前”的figure,在这里,“当前”的含义是:以后的图形操作如果不指明figure 句柄,则都是针对这个figure进行的。
2、subplot及其相关指令MATLAB可以将窗口区域分成若干个小的窗口,每一个窗口相当于一个figure,在小窗口中可以像在整个窗口中一样进行图形的绘制工作。
完成这个工作的命令是subplot。
命令subplot(m,n,i)把图形窗口分成m×n个小图形区域,并指定第i个为图形的绘制区域。
和矩阵不同,图形区域的编排采用行优先的原则。
5.1.2 plot指令绘图1、绘制一条二维曲线MATLAB中最常用的就是plot指令,其具体调用格式为plot(x) %绘制以x为纵坐标的二维曲线plot(x,y) %绘制以x为横坐标y为纵坐标的二维曲线说明:x和y可以是向量或矩阵。
例:用plot(x)命令画直线。
x1=[1 2 3]x1 =1 2 3plot(x1)x2=[0 1 0]x2 =0 1 0plot(x2)例在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)例绘制曲线程序如下:t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y);2、绘制多条二维曲线例矩阵图形的绘制,如下图所示。
第五讲MATLAB绘图
第五讲MATLAB绘图第五讲 MATLAB绘图y 内容 y 画图入门 y 打印图象 y 联合作图 y 图像设置循结构(固)y 循环结构(巩固) y 目的 y 能够进行MATLAB绘图1画图入门y MATLAB的扩展性和机制独立的画图功能是一个极其重要的功能.这个功能使数据画图变得十分简单.画一个数据图, 首先要创建两个向量,由x, y构成,然后使用plot函数。
x=0:1:10; 0 1 10 y=x.^2-10*x+15; plot(x y); plot(x,y);2y 正如我们所看到的,在MATLAB中画图是十分容易的.只要任何对向量的长度相同,那么它就可以就能可视化地画出任何一对向量的长度相同来。
但是这还不是最后的结果,因为它还没有标题,坐标轴标签,网格线。
y 给图增加标题和坐标轴标签将会用到title, xlabel, ylable函数。
调用每个函数时将会有一个字符串,这个字符串包含了图象标题和坐标轴标签的信息用grid 象标题和坐标轴标签的信息。
用 id命令可使网格线出现或消失在图象中,grid on代表在图象中出现网格线,grid off代表去除网格线。
3给图增加标题和坐标轴标签将会用到title, xlabel, ylable函数。
调用每个函数时将会有一个字符串,这个字符串包含了图象标题和坐标轴标签的信息。
用grid命令可使网格线出现或消失在图象中,grid on代表在图象中出现网格线 grid 网格线, id off ff代表去除网格线。
代表去除网格线 x 0:1:10; x=0:1:10; y=x.^2-10*x+15; plot(x,y); title ('Plot of y=x.^2-10*x+15'); xlabel ('x'); ylabel l b l ('y'); (' ') grid on;4打印图象y 一个图象一旦建立,我们就可以用print命令在打印机上打印出这幅图,也可以单击图象窗口的打印图标或者在文件印出这幅图也可以单击图象窗口的打印图标或者在文件菜单中选择打印项打印。
MATLAB应用第五章-MATLAB图形和3D可视化
th=[0:pi/50:3*pi]'; a=[0.5:0.5:5.5] Y=cos(th)*a; X=sin(th)*sqrt(25-a.^2); plot(X,Y) axis('equal') xlabel('X') ylabel('Y') title('a group of Ellipse lines')
F5运行结果如图 Eg 5-5
若没有axis(‘equal’)则显示如下: equal 将x和y轴的坐标进行比例协调,使其显 示相等。
5.2.2 线型、顶点标记和颜色
色彩(c) 说明 数据点(m) r g b c m y k w 红色 绿色 蓝色 青色 洋红 黄色 黑色 白色 + O * . x s d ^ v > < p h 说明 加号 圆圈 星号 点 十字 矩形 菱形 上三角 下三角 右三角 左三角 五边形 六边形 Eg 5-6 线型( ) 线型(l) -: -. 说明 实线 虚线 点线 点划 线
Eg 5-11 pie(x):对所有向量x中的元素进行总计,显示每一部 分所占比例 pie(x,explode):定义一个与x同长度向量explode,对 应于非零元素的x值被抽出显示 pie(…,labels):标注扇形图,labels必须与前面向量具 有相同长度
Eg 5-12
在命令窗口输入下列命令” 在命令窗口输入下列命令” >> x=1:12; >> y=[-12 -6 4 11 23 26 36 30 21 17 10 3]; >> bar(x,y) >> xlabel('month'),ylabel('tempereature'); >> title('relationship')
MATLAB8.5教程第5章 绘图及可视化
在x-y平面上的矩形定义域数据点矩阵X和Y • [X,Y,Z]=meshgrid(x,y,z) %生成三元函数u=f(x,y,z)中
立方体定义域中的数据点矩阵X、Y和Z
• 2.多峰函数的数据点矩阵
• 格式:[X,Y,Z]=peaks(n) % X、Y的定义区域为[-
3,3]×[-3,3],生成n×n的矩阵Z, n的默认值为49
第五章 绘图及可视化
• MATLAB不仅具有强大的数值运算功能,同时具备非常
便利的绘图功能。尤其擅长将数据、函数等各种科学运 算结果可视化,使枯燥乏味的数字变成赏心悦目的图片。
本章重点
• 二维图形绘制 • 三维图形绘制 • 特殊图形绘制
5.1 二维图形绘制
•二维图形的绘制是MATLAB语言图形处理的基础。本 节较全面的介绍二维绘图函数的种类和格式,以及如何 设置线条属性和标注图形等方法。
• • •
5.1.3 图形控制命令
• (2)坐标轴刻度设置 • 对一些问题有时需要用户自己选择刻度位置,或在刻度处 需要用字符串标出,这就要求用户自己设计坐标轴刻度。 • 格式:gca %获取当前坐标轴对象句柄值 • XTick/YTick %设置刻度位置 • XTickLabel/XTickLabel %设置坐标轴标签 • set(gca, 'XTick', [0 1 2]) %设置X坐标轴刻度数据点 位置 • set(gca,'XTickLabel',{'a','b','c'}) % 设置X坐标轴刻度处 显示的字符 • set(gca, 'YTick', [0 0.5 0.75 1]) %设置Y坐标轴刻度数 据点位置 • set(gca,'YTickLabel', {'a','b','c','d'}) %设置 Y坐标轴刻度 处显示的字符
数学实验MATLAB第五章
学习方法与建议
学习方法
通过理论学习和实践操作相结合的方式,深入理解MATLAB高级编程技术的原 理和应用。
建议
在学习本章之前,读者应该已经具备一定的MATLAB基础知识和编程经验。同 时,建议读者在学习过程中多进行实践操作,通过编写代码来加深对知识点的 理解和掌握。
02 MATLAB基础知识回顾
数学实验matlab第五章
目 录
• 第五章概述 • MATLAB基础知识回顾 • 数组与矩阵操作 • 数值计算与数据分析 • 程序设计与优化 • 综合应用与案例分析
01 第五章概述
章节内容与目标
内容
介绍MATLAB中的高级编程技术 ,包括脚本和函数编程、数据结 构和算法、面向对象编程等。
目标
通过学习本章,读者应该能够熟 练掌握MATLAB的高级编程技术 ,并能够灵活运用这些技术解决 复杂的数学问题。
运算符与函数
运算符
详细讲解MATLAB中的运算符, 包括算术运算符、关系运算符、 逻辑运算符等。同时介绍运算符
的优先级和结合性。
函数
阐述函数的概念,以及如何在 MATLAB中定义和使用函数。同时 介绍函数的输入和输出参数,以及 函数的返回值。
常用函数
介绍MATLAB中常用的函数,包括 数学函数、字符串处理函数、文件 操作函数等。同时给出函数的语法 和使用示例。
矩阵的乘法
按照矩阵乘法的规则进行运算 ,结果矩阵的维数可能发生变
化。
矩阵的转置
将矩阵的行和列互换,得到转 置矩阵。
矩阵的逆
对于方阵,若其逆矩阵存在, 则可以通过特定的运算求得逆
矩阵。
数组与矩阵的应用举例
线性方程组求解
数据分析与处理
MATLAB基础习题第五章习题答案
case{-1,2}
disp('您赢了');
end
%%
%是否继续判别模块
n=input('是否继续玩该游戏?否(0),是(1)');
while n~=0&n~=1
disp('您输入的不是正确数字,请正确输入');
n=input('是否继续玩该游戏?否(0),是(1)');
end
(3)程序要具有友好性
答:
%%
%该模块实现的功能是:求解六元线性方程组,方程组的系数矩阵由用户通过键盘输入;得到系数矩阵后给出方程的解;
clc;
clear all;
close all;
%%
%方程输入模块
x=inputdlg({'第一个方程系数','第二个','第三个','第四个','第五个','第六个'});
end
>>
请选择,石头(1),剪刀(2),布(3):1
您的选择是:
石头
电脑的选择是:
、剪
您赢了
是否继续玩该游戏?否(0),是(1)1
请选择,石头(1),剪刀(2),布(3):2
您的选择是:
、剪
电脑的选择是:
石头
您输了
是否继续玩该游戏?否(0),是(1)0
>>
5.编写一个日程提醒程序实现如下功能:
(1)如果当前时间为7-8点则提醒用户,该吃早饭了;
end
end
%%
%%显示模块
disp('90分以上的人有: Nhomakorabea)disp(x)
第五章 MATLAB绘图
p=[22,60,88,95,56,2 3,9,10,14,81,56,23]; plot(p)
实例分析 用不同线型和颜色在同一坐标内绘制曲线y=2e例5.3 用不同线型和颜色在同一坐标内绘制曲线 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); x1=(0:12)/2; y3=2*exp(-0.5*x1).*sin(2*pi*x1); plot(x,y1,'g:',x,y2,'b--',x1,y3,'rp');
第一节 二维图形
gtext('字符串 :利用鼠标在图形的某一位置标示字符串 字符串'): 字符串 legend('字符串 字符串 字符串1','字符串 字符串n'): 字符串 字符串2',…,'字符串 :在屏幕上开启 字符串 一个小视窗,然后依据绘图命令的先后次序, 一个小视窗,然后依据绘图命令的先后次序,用对应的字符 串区分图形上的线。 串区分图形上的线。 输入特殊的文字需要用反斜杠( ) 输入特殊的文字需要用反斜杠(\)开头 选择图像 figure(1); figure(2); …; figure(n) 打开不同的图形窗口, 打开不同的图形窗口,以便绘制不同的图形
第一节 二维图形 2. 线型和颜色 plot 函数可设置曲线的线段类型、定点标记和线段颜色 函数可设置曲线的线段类型 线段类型、 常用的线段、 常用的线段、颜色与定点标记参数
实例分析
例5.1 在0≤X≤2π区间内,绘制曲线 π区间内,绘制曲线y=2e-0.5Xsin(2πx)。 。
5MATLAB绘图资料PPT课件
程序如下:
t=-pi:pi/100:pi; x=t.*cos(3*t); y=t.*sin(t).*sin(t); plot(x,y);
2020年9月28日
6
2020年9月28日
7
以上提到plot函数的自变量x,y为长度相同的向量,这是最 常见和最基本的情况。实际应用中还有一些变化。 (1)当x是向量,y是有一维与x同维的矩阵时,则绘制出多 根不同色彩的曲线。曲线条数等于y矩阵的另一维数,x被 作为这些曲线共同的横坐标。
2.含多个输入参数的plot函数 含多个输入参数的plot函数调用格式为: plot(x1,y1,x2,y2,…,xn,yn) (1)当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分 别组成一组向量对,每一组向量对的长度可以不同。每 一向量对绘制出一条曲线,这样可以在同一坐标内绘制 多条曲线
plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标和y坐标 数据。
2020年9月28日
3
例5.1 在0≤X≤2区间内,绘制曲线y=2e-0.5xsin(2πx)。 程序如下:
x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y)
高层绘图操作简单明了、方便高效,是用户最常使用的绘 图方法。而低层绘图操作控制和表现图形的能力更强,为用户 更加自主地绘制图形创造了条件。事实上,MATLAB的高层绘 图函数都是利用低层绘图函数而建立起来的。
2020年9月28日
2
5.1 二维图形
二维图形是将平面坐标上的数据点连接起来的平面图形。 可以采用不同的坐标系,除直角坐标系外,还可采用对数 坐标、极坐标。数据点可以用向量或矩阵形式给出,类型 可以是实型或复型。 1. 绘制二维曲线的基本函数—— plot函数 plot函数的基本调用格式为:
Matlab绘图-很详细,很全面
Matlab绘图强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。
此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。
这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。
本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。
一.二维绘图二维图形是将平面坐标上的数据点连接起来的平面图形。
可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。
二维图形的绘制是其他绘图操作的基础.一.绘制二维曲线的基本函数在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。
1.plot函数的基本用法plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。
plot函数的应用格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。
例51 在[0 ,2pi]区间,绘制曲线程序如下:在命令窗口中输入以下命令〉〉x=0:pi/100:2*pi;>〉y=2*exp(-0。
5*x).*sin(2*pi*x);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。
例52 绘制曲线这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线:〉〉t=-pi:pi/100:pi;〉> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>〉plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。
MATLAB第五章(刘卫国编)
4/72
说明: (1)当x,y是同维矩阵时,则以x,y对应列元素为 横、纵坐标分别绘制曲线,曲线条数等于矩阵 的列数。 (2)当x是向量,y是有一维与x同维的矩阵时, 则绘制出多根不同色彩的曲线。曲线条数等于 y矩阵的另一维数,x被作为这些曲线共同的横 坐标。 (3)plot函数最简单的调用格式是只包含一个输 入参数:plot(x)。
16/72
5.1.3 绘制二维图形的其他函数 1. 其他形式的线性直角坐标图 在线性直角坐标系中,其他形式的图形有 条形图、阶梯图、杆图和填充图等,所 采用的函数分别是: bar(x,y,选项) stairs(x,y,选项) stem(x,y,选项) fill(x1,y1,选项1,x2,y2,选项2,…)
18/72
2.极坐标图 polar函数用来绘制极坐标图,其调用格式为: polar(theta,rho,选项) 其中theta为极坐标极角,rho为极坐标矢径,选 项的内容与plot函数相似。 例5.9 绘制ρ=sin(2θ)cos(2θ)的极坐标图。 程序如下: theta=0:0.01:2*pi; rho=sin(2*theta).*cos(2*theta); polar(theta,rho,'k');
8/72
例5.4 用不同标度在同一坐标内绘制曲线y1=e0.5xsin(2πx)及曲线y2=1.5e-0.1xsin(x)。 程序如下: x1=0:pi/100:2*pi; x2=0:pi/100:3*pi; y1=exp(-0.5*x1).*sin(2*pi*x1); y2=1.5*exp(-0.1*x2).*sin(x2); plotyy(x1,y1,x2,y2);
10/72
2. 坐标控制 函数的调用格式为: axis([xmin xmax ymin ymax zmin zmax]) axis函数功能丰富,常用的用法还有: axis equal 纵、横坐标轴采用等长刻度 axis square 产生正方形坐标系(缺省为矩形) axis auto 使用缺省设置 axis off 取消坐标轴 axis on 显示坐标轴 grid on/off命令控制是画还是不画网格线,不带 参数的grid命令在两种状态之间进行切换。 box on/off命令控制是加还是不加边框线,不带 参数的box命令在两种状态之间进行切换。 11/72
5matlab绘图V2.
例 3:
t=0:0.1:2*pi; y=sin(t); y1=sin(t+0.25); y2=sin(t+0.5); y3=cos(t); y4=cos(t+0.25); y5=cos(t+0.5); plot(t,[y',y1',y2',y3',y4',y5'])
3. 单窗口多曲线分图绘图
例:t=0:0.1:10 y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--'); x=[1.7*pi;1.6*pi]; y=[-0.3;0.8]; s=['sin(t)';'cos(t)']; text(x,y,s); title('正弦和余弦曲线'); legend('正弦','余弦') xlabel('时间t'),ylabel('正弦、余弦') gtext('here your mouse hitted'); grid
(12) area –––– 区域图
Y = [1, 5, 3; 3, 2, 7; 1, 5, 3; 2, 6, 1];
area(Y) grid on colormap summer set(gca,'Layer','top') title 'Stacked Area Plot'
(13) pie –––– 饼图
t=0:0.1:2*pi y=sin(t); y1=sin(t+0.25); y2=sin(t+0.5); subplot(3,1,1); plot(t,y) subplot(3,1,2); plot(t,y1) subplot(3,1,3); plot(t,y2)
matlab数学实验胡良剑第五章
第五章%Exercise 1x=[0 4 10 12 15 22 28 34 40];y=[0 1 3 6 8 9 5 3 0];trapz(x,y)%Exercise 2x=[0 4 10 12 15 22 28 34 40];y=[0 1 3 6 8 9 5 3 0];diff(y)./diff(x)%Exercise 3xa=-1:0.1:1;ya=0:0.1:2;[x,y]=meshgrid(xa,ya);z=x.*exp(-x.^2 -y.^3);[px,py] = gradient(z,xa,ya);px%Exercise 4t=0:0.01:1.5;x=log(cos(t));y=cos(t)-t.*sin(t);dydx=gradient(y,x)plot(x,dydx) %dydx函数图,作图观察x=-1时,dydx的值约0.9 %以下是更精确的编程计算方法[x_1,id]=min(abs(x-(-1)));%找最接近x=-1的点,id为这个点的下标dydx(id)%Exercise 5(1)fun=@(x)1/sqrt(2*pi)*exp(-x.^2/2);quadl(fun,0,1)或用trapzx=linspace(0,1,100);y=1/sqrt(2*pi)*exp(-x.^2/2);trapz(x,y)%Exercise 5(2)fun=inline('exp(2*x).*cos(x).^3');quadl(fun,0,2*pi)或用trapzx=linspace(0,2*pi,100);y=exp(2*x).*cos(x).^3;trapz(x,y)%Exercise 5(3)fun=@(x)x.*log(x.^4).*asin(1./x.^2);quadl(fun,1,3)或用trapzx=1:0.01:3;y=feval(fun,x);trapz(x,y)%Exercise 5(4)fun=@(x)sin(x)./x;quadl(fun,1e-10,1) %注意由于下限为0,被积函数没有意义,用很小的1e-10代替%Exercise 5(5)fun=inline('x.^(-x)','x');quadl(fun,1e-10,1) %注意由于下限为0,被积函数没有意义,用很小的1e-10代替%Exercise 5(6)fun=inline('sqrt(1+r.^2.*sin(th))','r','th');dblquad(fun,0,1,0,2*pi)%Exercise 5(7)%先在Editer窗口建立90页函数dblquad2,再在Command窗口clear;fun=@(x,y)1+x+y.^2;clo=@(x)-sqrt(2*x-x.^2);dhi=@(x)sqrt(2*x-x.^2);dblquad2(fun,0,2,clo,dhi,100)%Exercise 6t=linspace(0,2*pi,100);x=2*cos(t);y=3*sin(t);dx=gradient(x,t);dy=gradient(y,t);f=sqrt(dx.^2+dy.^2);trapz(t,f)%Exercise 6另一解法%先写参数方程x=2*cos(t);y=3*sin(t);%计算x'(t)=-2*sin(t),y'(t)=3*cos(t)%4*sin(t)^2+9*cos(t)^2=4+5*cos(t)^2fun=@(t)sqrt(4+5*cos(t).^2);quadl(fun,0,2*pi)%Exercise 7%先算出z的梯度dz/dx=(1-2*x^2)*exp(-x^2-y^2),dz/dy=(1-2*y^2)*exp(-x^2-y^2);%根据曲面面积公式fun=@(x,y)sqrt(1+((1-2*x.^2).*exp(-x.^2-y.^2)).^2+((1-2*y.^2)*exp(-x.^2-y.^2)).^2);dblquad(fun,-1,1,0,2)%或者用下列纯粹离散化解法xa=linspace(-1,1);ya=linspace(0,2);[x,y]=meshgrid(xa,ya);z=x.*exp(-x.^2-y.^2);[zx,zy]=gradient(z,xa,ya);f=sqrt(1+zx.^2+zy.^2);s=0;for i=2:length(xa)for j=2:length(ya)s=s+(xa(i)-xa(i-1))*(ya(j)-ya(j-1))*(f(i,j)+f(i-1,j)+f(i,j-1)+f(i-1,j-1))/4;%每个近似长方体高用四顶点平均值endends%Exercise 8funl=inline('-(-x).^0.2.*cos(x)');funr=inline('x.^0.2.*cos(x)');quadl(funl,-1,0)+quadl(funr,0,1)%Exercise 9 (以I32为例)fun=@(x)abs(sin(x));h=0.1;x=0:h:32*pi;y=feval(fun,x);t1=trapz(x,y)h=pi;x=0:h:32*pi;y=feval(fun,x);t2=trapz(x,y)%步长与周期一致,结果失真q1=quad(fun,0,32*pi)q2=quadl(fun,0,32*pi)%Exercise 10(1)先在Editer窗口建立88页函数deriv,再在Command窗口fun=inline('x.^2.*sin(x.^2+3*x-4)','x');deriv(fun,[1.3 1.5],0.1,1e-3) %取0.1为初始步长%注:书后习题答案错,1.3处导数应为2.4177,1.5处导数应为-11.3330%Exercise 10(2)%先在程序编辑器,写下列函数,保存为ex5_10_2ffunction d=ex5_10_2f(fname,a,h0,e)h=h0;d=(fname(a+h)-2*fname(a)+fname(a-h))/(h*h);d0=d+2*e;while abs(d-d0)>ed0=d;h0=h;h=h0/2;d=(fname(a+h)-2*fname(a)+fname(a-h))/(h*h);end%再在指令窗口执行fun=@(x)x.^2*sin(x.^2-x-2);d=ex5_10_2f(fun,1.4,0.1,1e-3)%Exercise 11%提示:f上升时,f'>0;f下降时,f'<0; f极值,f'=0.%Exercise 12在程序编辑器,写下列函数,保存为ex5_12function I=ex5_12(fname,a,b,n)h=(b-a)/n;x=a:h:b;f=fname(x);I=f(1)+f(n+1);for i=2:nif i-2*floor(i/2)==0I=I+4*f(i);elseI=I+2*f(i);endendI=h/3*I;%再在指令窗口执行ex5_12(inline('1/sqrt(2*pi)*exp(-x.^2/2)'),0,1,50) %注:原题n=5改为偶数n=50%更加符合Matlab风格的编程ex5_12function I=ex5_12f(fname,a,b,n)x=linspace(a,b,n+1);f=fname(x);I=(b-a)/n/3*(f(1)+f(n+1)+2*sum(f(3:2:n))+4*sum(f(2:2:n)));%Exercise 13fun=inline('5400*v./(8.276*v.^2+2000)','v');quadl(fun,15,30)%Exercise 14重心不超过凳边沿。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
nuist
二维绘图
应用举例:
采用图形保持,在同一坐标内绘制曲线 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,'r') hold on pause y2=2*exp(-0.5*x).*cos(pi*x); plot(x,y2,'g-square'); hold off
第五章 matlab绘图
guangguang4992@
Company
LOGO
简介
matlab语言的绘图功能:
• 不仅能绘制几乎所有的标准图形,而且其表现 形式也是丰富多样的。 • matlab语言不仅具有高层绘图能力,而且还具 有底层绘图能力——句柄绘图方法。 • 在面向对象的图形设计基础上,使得用户可以 用来开发各专业的专用图形。
TEXT
TEXT
TEXT
TEXT
TEXT
Table
Company Logo
Title Title Title Title O O O
Title O O O
Title O O O
Title O O O
Title O O O
Title
Title Title
O
O O
nuist
二维绘图
2. 单窗口多曲线绘图 (2) 当x,y是同维矩阵时,则以x,y对应列元素为 横、纵坐标分别绘制曲线,曲线条数等于矩阵的 列数。 x=magic(3) y=[1 2 3;4 5 6;7 8 9] plot(x,y)
nuist
二维绘图
3. 含多个输入参数的plot函数
调用格式为:plot(x1,y1,x2,y2,…,xn,yn) (1) 当输入参数都为向量时,x1和y1,x2和y2,…, xn和yn分别组成一组向量对,每一组向量对的长度可以 不同。每一向量对可以绘制出一条曲线,这样可以在同 一坐标内绘制出多条曲线。 (2) 当输入参数有矩阵形式时,配对的x,y按对应列元素 为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
nuist
二维绘图
应用举例:
1. 单窗口单曲线绘图 例1:x=[0, 0.48,0.84,1,0.91,0.6,0.14] plot (x) plot函数最简单的调用格式是只包含一个输入参数: plot(x) 在这种情况下,当x是实向量时,以该向量元素的下标为 横坐标,元素值为纵坐标画出一条连续曲线,这实际上 是绘制折线图。 x=[2 3 1 2 5] plot(x)相当于 x=1:5 y=[2 3 1 2 5] plot(x,y)
Title
ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.
Block Diagram
Company Logo
TEXT
TEXT
TEXT
Diagram
Company Logo
Title
ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.
Title
ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.
nuist
二维绘图
应用举例:
y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5); plot(t,y3);hold on; plot(t,y4); plot(t,y5);
4.图形保持 hold on/off命令控制是保持原有图形还是刷新原有 图形,不带参数的hold命令在两种状态之间进行切换。
nuist
简介
句柄:
句柄,是整个windows编程的基础。一个句柄是 指使用的一个唯一的整数值,即一个四字节长的数值, 来标识应用程序中的不同对象和同类对象中的不同的实 例,诸如,一个窗口,按钮,图标,滚动条,输出设备, 控件或者文件等。应用程序能够通过句柄访问相应的对 象的信息,但是句柄不是一个指针,程序不能利用句柄 来直接阅读文件中的信息。句柄是windows用来标志应 用程序中建立的或是使用的唯一整数,windows使用了 大量的句柄来标志很多对象。
nuist
二维绘图
字母颜色标点线型
y 黄色 · 点线 square 正方形 m 粉红 ○ 圈线 diamond 菱形 c 亮蓝 × ×线 pentagram 五角星 r 大红 + +字线 hexagram 六角星 g 绿色 - 实线 b 蓝色 * 星形线 w 白色 : 虚线 k 黑色 -· (--) 点划线
Diagram
Company Logo
1
ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.
2
ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.
nuist
二维绘图
应用举例:
t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2)
nuist
二维绘图
应用举例:
y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5); plot(t,[y',y1',y2',y3',y4',y5'])
nuist
Marketing Diagram
Company Logo
Diagram
Company Logo
Add Your Text
Add Your Text
Add Your Text
Text
Add Your Text
Add Your Text
Add Your Text
3
ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.
Diagram
Company Logo
2001
2002
2003
2004
nuist
二维绘图
(一)plot ——最基本的二维图形指令 plot的功能: • plot命令自动打开一个图形窗口Figure
• 用直线连接相邻两数据点来绘制图形 • 根据图形大小自动缩扩坐标轴,将数据标尺及 单位标注自动加到坐标轴上,可自定坐标轴,可 用对数坐标表示 • 如果已经存在一个图形窗口,plot命令则清除 当前图形,绘制新图形
nuist
二维绘图
(一)plot ——最基本的二维图形指令
plБайду номын сангаасt的功能:
•可单窗口单曲线绘图;可单窗口多曲线绘图;可 单窗口多曲线分图绘图;可多窗口绘图 • 可任意设定曲线颜色和线型 • 可给图形加坐标网线和图形加注功能
nuist
二维绘图
(一)plot ——最基本的二维图形指令 plot的调用格式:
concept
Concept
Concept
Concept
Company
LOGO
O
O X
O
O O
O
O X
O
O O
3-D Pie Chart
Company Logo
Text2 Text3
Text1 Text4 Text5
Block Diagram
Company Logo
Add Your Text
Add Your Text
nuist
二维绘图
2. 单窗口多曲线绘图 1.plot函数的输入参数是矩阵形式 (1) 当x是向量,y是有一维与x同维的矩阵时, 则绘制出多根不同颜色的曲线。曲线条数等于y 矩阵的另一维数,x被作为这些曲线共同的横坐 标。 x=[3 1 8] ; y=magic(3); z=[x;y] plot(x,z)
nuist
二维绘图
应用举例: 1. 单窗口单曲线绘图 例 在0≤x≤2p区间内,绘制曲线 y=2e0.5xcos(4πx) 程序如下: x=0:pi/100:2*pi; y=2*exp(0.5*x).*cos(4*pi*x); plot(x,y)
nuist
二维绘图
应用举例: 1. 单窗口单曲线绘图 t=0:0.1:2*pi; x=t.*sin(3*t); y=t.*sin(t).*sin(t); plot(x,y);