插值法和数据拟合 (2)讲义

上传人:今*** 文档编号:107193875 上传时间:2019-10-18 格式:PPT 页数:150 大小:3.28MB
返回 下载 相关 举报
插值法和数据拟合 (2)讲义_第1页
第1页 / 共150页
插值法和数据拟合 (2)讲义_第2页
第2页 / 共150页
插值法和数据拟合 (2)讲义_第3页
第3页 / 共150页
插值法和数据拟合 (2)讲义_第4页
第4页 / 共150页
插值法和数据拟合 (2)讲义_第5页
第5页 / 共150页
点击查看更多>>
资源描述

《插值法和数据拟合 (2)讲义》由会员分享,可在线阅读,更多相关《插值法和数据拟合 (2)讲义(150页珍藏版)》请在金锄头文库上搜索。

1、2019/10/18,1,数值计算与MATLAB,2,第3章 MATLAB数据的 图形表示,3,3.1matlab二维绘图 Matlab作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给Matlab函数画图.,4,3.1.1基本二维绘图 使用函数(命令)为plot,其基本使用格式为: (1)plot(y) 功能:绘制数组y对应于其元素序数的二维曲线图,如果y为复数向量, 则绘制虚部对于实部的二维曲线图.,5,例: y=0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20; plot(y) 由

2、于y矢量有10个元素,x坐标自动定义为1 2 3 4 5 6 7 8 9 10.,6,(2)plot(x,y) 功能:绘制由x,y所确定的曲线. 1)x,y是两组向量,且它们的长度相等,则plot(x,y)可以直观地绘出以x为横坐标,y为纵坐标的图形.,7,例,作函数 的图象 解x=linspace(0,2*pi); y=sin(x) plot(x,y); 或 x=0:0.001:2*pi y=sin(x) plot(x,y);,8,9,2)当plot(x,y)中,x是向量,y是矩阵时,则绘制y矩阵中各行或列对应于向量x的曲线.如果y阵中行的长度与x向量的长度相同,则以y的行数据作为一组绘图数

3、据;如果y阵中列的长度与x向量的 长度相同,则以y的列数据作为一组绘图数据;如果y阵中行,列均与x向量的长度相同,则以y的每列数据作为一组绘图数据.,10,例:下面的程序可同时绘出三条曲线.MATLAB在绘制多条曲线时,会按照一定的规律自动变化每条曲线的的颜色. x=0:pi/50:2*pi; y(1,:)=sin(x); y(2,:)=0.6*sin(x); y(3,:)=0.3*sin(x);%以上语句生成矩阵y. plot(x,y) 或者还可以这样用: x=0:pi/50:2*pi; y= sin(x); 0.6*sin(x); 0.3*sin(x); plot(x,y),11,12,3

4、) 如果x,y是同样大小的矩阵,则plot(x,y)绘出y中各列相应于x中各列的图形. 例:x(1,:)=0:pi/50:2*pi; x(2,:)=pi/4:pi/50:2*pi+pi/4; x(3,:)=pi/2:pi/50:2*pi+pi/2; y(1,:)=sin(x(1,:); y(2,:)=0.6*sin(x(2,:); y(3,:)=0.3*sin(x(3,:); plot(x,y) x=x; y=y; figure plot(x,y),13,14,15,在这个例子中,x-3x101,y-3x101,所以第一个plot按列画出101条曲线,每条3个点;而x-101x3,y-101x

5、3,所以第二个plot按列画出3条曲线,每条101个点.,16,例2 绘制多条不同线型 x=linspace(0,2*pi); gain=5,10,20,30,50,80,100; for i=1:7 y=gain(i)*(sin(x)./(x.*x+1); plot(x,y); hold on end,17,18,注: 如果已经存在一个图形窗口,则新的plot命令将清除当前窗口的图形,绘制新的图形。 如果在一个图形窗口中同时作多条曲线,则plot自动以不同的颜色画不同的曲线 如果一个参量为矩阵,另一个参量为向量,则plot命令画出矩阵每一列对该向量的曲线,19,(3)plot(x,y,lin

6、e specifiers) 功能:Plot等画图命令(所有的高级画图函数,除了ezplot等以外)可以添加参数line specifiers来确定以下属性: Line style 线条的类型. Color 线条的颜色 Marker symbol 数据点的形状,20,21,注: 1)这些选项可以连在一起用,如:-.g表示绘制绿色的点划线,g+s表示用绿色的+号绘制曲线,数据点用方块标记。 2)表示属性的符号必须放在同一对单引号中, 3)与先后顺序无关; 4)指定的属性中,同一种属性不能有两个以上.,22,例:t=0:0.5:2*pi; y1=sin(t); plot(t,y1, s-r),23,

7、(4)plot(,PropertyName,PropertyValue,.) 功能:设置包括线的宽度(LineWidth)、标记点的边缘颜色(MarkerEdgeColor)、填充颜色(MarkerFaceColor)、标记点的大小(MarkerSize)等其它绘图属性.,24,例:t=0:pi/20:pi; y=sin(4*t).*sin(t)/2; plot(t,y,-bs,LineWidth,2,. MarkerEdgeColor,k,. MarkerFaceColor,y,. MarkerSize,10) 以上画图命令设置线的宽度为2,设置标记点边缘颜色为黑色,设置标记点填充颜色为黄色

8、,设置标记点的尺寸为10,25,26,(5)plot(x1, y1, 选项1, x2, y2, 选项2, ) 功能:多条曲线画在同一个坐标轴下。 例:t=0:0.1:2*pi; y1=sin(t); y2=cos(t); y3=sin(t).*cos(t); plot(t,y1, -r,t,y2, :g,t,y3, *b),27,28,由 MATLAB 绘制的二维图形可以由下面的一些命令简单地修饰。如 grid on加网格线 xlabel(字符串) 给横坐标轴加说明 ylabel(字符串) 给纵坐标轴加说明,并自动旋转90度 title(字符串) 给整个图形加标题 axis(xmin xmax

9、 ymin ymax)手动地设置 x,y 坐标轴范围 plotyy 函数绘制具有两个纵坐标刻度的图形,29,例2 设置默认坐标的colororder与linestyleorder 解 set(0,DefaultAxesColorOrder,0 0 1) set(0,DefaultAxesLineStyleOrder,-*,-o,:s,-.d) x=-pi:pi/10:pi; y1=sin(x); y2=cos(x); y3=sin(x-pi/2); plot(x,y1,x,y2,x,y3); legend(sin(x),cos(x),sin(x-pi/2) set(gcf,Menubar,no

10、ne,position,250 250 400 350),30,31,坐标系的分割在 MATLAB 图形绘制中是很有特色的,比较规则的分割方式是用 subplot 函数定义的,其标准调用格式为 :subplot(n,m,k),其中,n 和 m 为将图形窗口分成的行数和列数,而 k 为相对的编号。例如在标准的 Bode 图绘制中需要将窗口分为上下两个部分 (即n=2, m=1), 分割后上部编号为 1,下部编号为 2。,32,例3 连续函数的可视化用图形表示连续调制波形y=sin(t)sin(9t)。 t1=(0:11)/11*pi; y1=sin(t1).*sin(9*t1); t2=(0:1

11、00)/100*pi; y2=sin(t2).*sin(9*t2); subplot(2,2,1),plot(t1,y1,r.), axis(0,pi,-1,1),title(子图 (1) subplot(2,2,2),plot(t2,y2,r.), axis(0,pi,-1,1),title(子图 (2) subplot(2,2,3),plot(t1,y1,t1,y1,r.) axis(0,pi,-1,1),title(子图 (3) subplot(2,2,4),plot(t2,y2) axis(0,pi,-1,1),title(子图 (4),33,34,(6)具有两个纵坐标标度的图形 在M

12、ATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。 基本调用格式为:plotyy(x1,y1,x2,y2) 其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。,35,例:用不同标度在同一坐标内绘制曲线y1=0.2e-0.5*x*cos(4x) 和y2=2e-0.5xcos(x)。 程序如下: x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); plotyy(

13、x,y1,x,y2);,36,例:用不同标度在同一坐标内绘制曲线y1=0.2e-0.5*x*cos(4x) 和y2=2e-0.5xcos(x)。 程序如下: x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); plotyy(x,y1,x,y2);,37,38,3.1.2二维特殊函数 area填充绘图;bar条形图;barh水平条形图;comet彗星图;ezpolar简单绘制极坐标图;feather矢量图; hist直方图;pie饼状图;rose极坐标系下的柱状图等等,以上各函数均有不同的调

14、用方法,详细内容同学们可以通过MATLAB在线帮助获得。,39,二维特殊函数图,表:Matlab中常见二维特殊图形函数,40,例 绘制矩形图 y=3 2 -2 2 1;-1 3 3 7 2;-7 5 5 9 3; area(y),41,例 绘制多组长条图 x=0 1 2 3 4 5; y=2 1 3 5 4 0.5; bar(x,y) set(gcf,MenuBar,none,Position,400,350,250,150);,42,【例】 subplot(2,1,1) x=1:10; y=rand(10,1); bar(x,y) subplot(2,1,2) x=11 12 34 35 3

15、6 58 59 54 80 81 82 83 84 85 86; hist(x),bar,hist,43,用绘制直方图的几种命令绘制直方图。 X=-2:2; Y=3,5,2,4,1;5,4,2,3,5;3,4,5,2,1; subplot(2,2,1) bar(X,Y,r) xlabel(x) ylabel(y) colormap(cool) subplot(2,2,2) barh(X,Y,grouped) xlabel(y) ylabel(x) colormap(cool) subplot(2,2,3) bar(X,Y,stacked) xlabel(x) ylabel(Sigma y) colormap(summer),subplot(2,2,4) barh(X,Y,stacked) xlabel(y);ylabel(Sigma x) colormap(summer),44,离散数据图形绘制,x = 0:0.25:(3*pi); stem(x,sin(x); %stem(x,sin(x),sr,fill); title(stem(x,sin(x); xlabel(x);,x = 0:0.25:(3*pi); stem(x,sin(x),sr,fill); title(st

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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