文档库 最新最全的文档下载
当前位置:文档库 › Matlab绘制两列正弦波的叠加

Matlab绘制两列正弦波的叠加

Matlab绘制两列正弦波的叠加
Matlab绘制两列正弦波的叠加

Matlab绘制两列正弦波的叠加

1.问题描述

如下图1,图2所示,为两列任意的正弦波,其中y1=A1*cos(w1*x+t), y2=A2*cos(w2*x-t),当输入这两列正弦波的参数w1,w2,A1,A2,t时,利用Matlab 绘制出两列波振荡时的动态叠加波y3=y1+y2。

图1 y1的波动图像

图2 y2的波动图像

2. 解题方案

根据题目要求只需绘制出两列波振荡时的叠加波的运动图像,所以比较简单,只要编写一个绘图程序WA VE.m就可以了。WA VE.m的作用是当输入参数值w1,w1,t,A1,A2,x后,输出y1,y2,y3的值。反复给出x的值,会得到一系列的y1,y2,y3的值,从而得到了t时刻下的y1,y2,y3的波动图,保留该图像,不断改变时间t,就可以得到不同时间下一系列的波动图像,通过将它们连续放映,就如老式的电影一样,从而使波动图像动起来了。其流程图如下:

输入w1 w2 A1 A2 t

输入x

调用W A VE.m

绘制y1 y2 y3在t时刻的波形图

改变t

调用W A VE.m

绘制y1 y2 y3的动态波动图

完成

3. 绘图结果与分析

叠加波的图像受两列波的振幅,频率,初相位的影响

3.1 振幅的影响

如图3所示,w1=2,w2=2,A1=3,A2=4,t=0,即频率和初相位相同,仅振幅不同,由图可知,y3仍为正弦波,且初相位相同,振幅仅影响叠加波的振幅。

图3 振幅不同的波的叠加

3.2 频率的影响

如图4所示,w1=2,,w2=3,A1=3,A2=3,t=0,即振幅和初相位相同,频率不同,y3成不规则的周期波,所以频率不同时,无法形成正弦波。

图4 频率不同的波的叠加

3.3 初相位的影响

如图5所示,w1=2,w2=2,A1=3,A2=3,即频率和振幅相同,初相位不同,由图可知,y3仍为正弦波,振幅和初相位都发生变化。

图5 初相位不同的波的叠加

3.4 一般情况下的波的叠加

一般情况下,两列波的频率、振幅和初相位都不会相同,由下图6可知,此种情况下,叠加波的波动图像不规则,还有可能出现多个波峰波谷

图6 一般情况下的波的叠加

3.5 叠加波的运动图形

由于本文档不能显示动态图像,所以此处仅作说明,下图7为任意两列波在任一时刻时的波动图形,在接下的时间里,将会呈周期性出现。

图7 任一时刻的波动图

4. 心得体会

通过这几天对Matlab的学习,让我感受到Matlab这个软件的强大功能和广泛适应性,它能解决我们在物理,数学,电工等各个方面的问题,学好Matlab 的操作,对我们以后的学习具有很大的好处。

在学习Matlab的过程中,由于没有人指导,遇到了很多这样那样的问题都不能得到很好的解决,只有自己通过查资料,上网等手段解决,所以就感觉做起来很是艰难。值得庆幸的是,在通过的对这也问题的探索和解决,让我对Matlab 的使用有了一个初步的掌握。尤其是因为要做动态的图像,这方面是班上大部分同学都不涉及的,只能全靠自己看书,让我翻了大半本书,终于了解了它的设计方法,很是让人开心。

虽然遇到了很多的问题,但总算是完成了自己的设计要求,这个软件真的很实用。本次的基础强化训练既让我对以前的知识有了一个巩固,也让我学到了一个强大软件的基本操作方法!

5. 参考文献:

(1)施小红,周佳,精通GUI图形界面编程,北京大学出版社,2003.1 (2)葛哲学,精通MATLAB,电子工业出版社,2008.1

(3)汪晓元,廖红,大学物理学(下),2008.1

(4)飞思科技产品研发中心,MATLAB7基础与提高,电子工业出版社,2005.5

(5)王正林,刘明,精通MATLAB7,电子工业出版社,2006

(6)龚纯,王正林,MATLAB语言常用算法程序集,电子工业出版社,2008 6. 附录:Matlab参考原程序

Matlab绘图程序:

x=0:0.1:4*pi;

w1=input('输入w1=');

w2=input('输入w2=');

A1=input('输入A1=');

A2=input('输入2=');

t=input('输入t=');

y1=A1*cos(w1*x+t);

y2=A2*cos(w2*x-t);

y3=y1+y2;

fp1=plot(x,y1,'k');

hold on;

fp2=plot(x,y2,'b');

fp3=plot(x,y3,'r');

for t=t:0.05:1000;

y1=A1*cos(w1*x+t);

y2=A2*cos(w2*x-t);

y3=y1+y2;

set(fp3,'YData',y3); set(fp2,'YData',y2); set(fp1,'YData',y1); xlabel('x(m)');

ylabel('y(m)');

pause(0.01);

end

Matlab 特殊图形和高维可视化

Matlab 特殊图形和高维可视化 2009-10-20 01:06 7.4 特殊图形和高维可视化 7.4.1 特殊图形指令例示 7.4.1.1 面域图area 【* 例7.4.1 .1-1 】面域图指令area 。该指令的特点是:在图上绘制多条曲线时,每条曲线(除第一条外)都是把“前”条曲线作基线,再取值绘制而成。因此,该指令所画的图形,能醒目地反映各因素对最终结果的贡献份额。注意:( 1 )area 的第一输入宗量是单调变化的自变量。第二输入宗量是“各因素”的函数值矩阵,且每个“因素”的数据取列向量形式排放。第三输入宗量是绘图的基准线值,只能取标量。当基准值为0 (即以x 轴为基准线)时,第三输入宗量可以缺省。(2 )本例第<4> 条指令书写格式x' , Y' ,强调沿列方向画各条曲线的事实。 clf;x=-2:2 % 注意:自变量要单调变化 Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5] % 各因素的相对贡献份额 Cum_Sum=cumsum(Y) % 各曲线在图上的绝对坐标 area(x',Y',0) %<4> legend(' 因素A',' 因素B',' 因素C'),grid on,colormap(spring) x = -2 -1 0 1 2 Y = 3 5 2 4 1 3 4 5 2 1 5 4 3 2 5 Cum_Sum = 3 5 2 4 1 6 9 7 6 2 11 13 10 8 7

图 7.4.1 .1-1 面域图表现各分量的贡献 7.4.1.2 各种直方图bar, barh, bar3, bar3h 【 * 例 7.4.1 .2-1 】二维直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。本例选其两种加以表现。 x=-2:2; % 注意:自变量要单调变化 Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额 subplot(1,2,1),bar(x',Y','stacked') % “累计式”直方图 xlabel('x'),ylabel('\Sigma y'),colormap(cool)% 控制直方图的用色legend(' 因素 A',' 因素 B',' 因素 C') subplot(1,2,2),barh(x',Y','grouped') % “分组式”水平直方图 xlabel('y'),ylabel('x') 图 7.4.1 .2-1 二维直方图 clf;x=-2:2; % 注意:自变量要单调变化 Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; % 各因素的相对贡献份额 subplot(1,2,1),bar3(x',Y',1) % “队列式”直方图 xlabel(' 因素 ABC'),ylabel('x'),zlabel('y') colormap(summer) % 控制直方图的用色 subplot(1,2,2),bar3h(x',Y','grouped') % “分组式”水平直方图 ylabel('y'),zlabel('x')

如何用Matlab绘制曲线图

如何用M a t l a b绘制曲 线图 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

各位同学:在写论文和报告时,为了很好地表达你研究和开发的结果,不仅要用文字详细地描述你方法、步骤和结果,还必须配以各种图来说明问题。下面是我们实验室张媛媛老师申请博士学位论文中的部分曲线图、硬件框图、软件流程图和实验装置原理框图。她将在部分曲线图下面给出绘制图形的Matlab程序和相关步骤,供大家学习和参考。 例一: 图2-3-6 动态线性环节的输入输出信号图2-3-7 模型输出和消噪后实验时数据比较1,输入信号u(k);2,输出信号y(k) 1,实验数据;2,模型输出 绘图程序如下: figure(1) plot(t,y,'k',t,x,'k','LineWidth', xlabel('Time(s)','fontname','宋体','Fontsize',9);%绘制横坐标 ylabel('Voltage(v)','fontname','宋体','Fontsize',9); %绘制纵坐标 %xlabel('时间(s)','fontname','宋体','Fontsize',9); %ylabel('电压(v)','fontname','宋体','Fontsize',9); %设置合适的图框大小.可将下面四句变为子程序,以便调用。 set(gcf,'color',[1,1,1]); set(gca,'xcolor',[0,0,0],'ycolor',[0,0,0]); set(gcf,'units','centimeters','position',[5,10,,]); set(gca,'box','on','fontname','宋体','Fontsize',9);

Matlab图形绘制经典案例

Matlab图形绘制经典案例 1、 三维曲线 >> t=0:pi/50:10*pi; >> plot3(sin(2*t),cos(2*t),t) >> axis square >> grid on

2、一窗口多图形>> t=-2*pi:0.01:2*pi; >> subplot(3,2,1)

>> plot(t,sin(t)) >> subplot(3,2,2) >> plot(t,cos(t)) >> subplot(3,2,3) >> plot(t,tan(t)) >> axis([-pi pi -100 100]) >> subplot(3,2,4) >> plot(t,cot(t)) >> axis([-pi pi -100 100]) >> subplot(3,2,5) >> plot(t,atan(t)) >> subplot(3,2,6) >> plot(t,acot(t))

3、图形样式、标注、题字(也可以利用菜单直接Insert) >> x=0:pi/20:2*pi;

>> plot(x,sin(x),'b-.') >> hold on >> plot(x,cos(x),'r--') >> hold on >> plot(x,sin(x)-1,'g:') >> hold on >> plot(x,cos(x)-1) >> xlabel('x'); >> xlabel('x轴'); >> ylabel('y轴'); >> title('图形样式、标注等'); >> text(pi,sin(pi),'x=\pi'); >> legend('sin(x)','cos(x)','sin(x)-1','cos(x)-1'); >> [x1,y1]=ginput(1) %利用鼠标定位查找线上某点的值x1 = 2.0893 y1 = -0.5000 >> gtext('x=2.5') %鼠标定位放置所需的值在线上

matlab作图

MATLAB受到了广大理工科学生和学者青睐,除了Matlab强大的矩阵计算功能和功能齐全的toolbox以外,一个重要原因是因为它提供了方便的绘图功能。下面我们将详细介绍2维图形对象的生成函数及图形控制函数的使用方法以及一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的方法. 一、图形窗口与坐标系; A.图形窗口 1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸. 2.在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的句 柄.MATLAB通过管理图形窗口的句柄来管理图形窗口; 3.当前窗口句柄可以由MATLAB函数gcf获得; 4.在任何时刻,只有唯一的一个窗口是当前的图形窗口(活跃窗口); figure(h)----将句柄为h的窗口设置为当前窗口; 5.打开图形窗口的方法有三种: 1)调用绘图函数时自动打开; 2)用File---New---Figure新建; 3)figure命令打开,close命令关闭. 在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形. 6.窗口中的图形打印:用图形窗口的File菜单中的Print项. 7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit菜单中选择Properties项,打开图形对象的参数设置窗口,可以设置对象的属性. B.坐标系; 1.一个图形必须有其定位系统,即坐标系; 2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系; 3.每个坐标系都有唯一的标识符,即句柄值; 4.当前坐标系句柄可以由MATLAB函数gca获得; 5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指定坐标系句柄值.

用MATLAB画曲线族

用MATLAB画曲线族 (y-c)^2-2/3*(x-c)^3=0的包络线 1 求包络线的方程 syms x y c; f = (y-c)^2-2/3*(x-c)^3 dfc = diff(f, c) S = solve(f,dfc) S1x = S.x S1y = S.y 计算结果: 该曲线族有两条包络线: ① x1 = c1 ; y1 = c1 ; ② x1 = c1 + 2/3; y1 = c1 + 4/9; 2 画线 close all clear,clc warning('off') figure % 曲线族 hold on for c = -10:0.5:10 x = -10:0.1:10; y = (2/3)^0.5.*(x-c).^1.5 + c; plot(x,y) end % 包络线 c1 = -10:0.1:10; x1 = c1 ; y1 = c1 ; plot(x1,y1,'r','LineWidth',2)

figure % 曲线族 hold on for c = -10:0.5:10 x = -10:0.1:10; y = -(2/3)^0.5.*(x-c).^1.5 + c; plot(x,y) end % 包络线 c1 = -10-2/3:0.1:10-2/3; x1 = c1 + 2/3; y1 = c1 + 4/9; plot(x1,y1,'r','LineWidth',2)

............................ 包络线 跳转到:导航, 搜索

在几何学,某个曲线族的包络线(Envelope),是跟该曲线族的每条线都有至少一点相切的一条曲线。(曲线族即一些曲线的无穷集,它们有一些特定的关系。) 设一个曲线族的每条曲线C s可表示为 ,其中s是曲线族的参数,t是特定曲线的参数。若包络线存在,它是由 得出,其中h(s)以以下的方程求得:

实验二 matlab图形绘制

实验二matlab图形绘制 一、实验目的 1、学习MATLAB图形绘制的基本方法; 2、熟悉和了解MATLAB图形绘制程序编辑的基本指令; 3、熟悉掌握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注; 二、实验原理 1.二维数据曲线图 (1)绘制单根二维曲线plot(x,y); (2)绘制多根二维曲线plot(x,y) 当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。当x,y是同维矩阵时,则以x,y对应列 元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。 (3)含有多个输入参数的plot函数plot(x1,y1,x2,y2,…,xn,yn) (4)具有两个纵坐标标度的图形plotyy(x1,y1,x2,y2) 2.图形标注与坐标控制 1)title (图形名称) 2)xlabel(x轴说明) 3)ylabel(y轴说明) 4)text(x,y图形说明) 5)legend(图例1,图例2,…) 6)axis ([xmin xmax ymin ymax zmin zmax]) 3.图形窗口的分割 subplot(m,n,p) 4.三维曲线 plot3(x1,y1,z1,选项1,x2,y2,选项2,…,xn,yn,zn,选项n)

5.三维曲面 mesh(x,y,z,c) 与surf(x,y,z,c)。一般情况下,x ,y ,z 是维数相同的矩阵。X ,y 是网格坐标矩阵,z 是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。 三、实验内容及步骤 1.绘制下列曲线: (1) 2 1100 x y += x=0:0.02:10; y=100./(1+x.^2); plot(x,y) title('my first plot'); xlabel('x'); ylabel('y'); grid on 截图:

MATLAB中bode图绘制技巧(精)

Matlab中Bode图的绘制技巧学术收藏2010-06-04 21:21:48 阅读54 评论0 字号:大中小订阅我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。譬如我们要画出下面这个传递函数的伯德图: 1.576e010 s^2 H(s= ------------------------------------------------------------------------------------------ s^4 + 1.775e005 s^3 + 1.579e010 s^2 + 2.804e012 s + 2.494e014 (这是一个用butter函数产生的2阶的,频率范围为[20 20K]HZ的带通滤波器。我们可以用下面的语句:num=[1.576e010 0 0]; den=[1 1.775e005 1.579e010 2.804e012 2.494e014]; H=tf(num,den; bode(H 这样,我们就可以得到以下的伯德图: 可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。下面,我们来看看如何定制我们自己的伯德图风格:在命令窗口中输入:bodeoptions 我们可以看到以下

内容:ans = Title: [1x1 struct] XLabel: [1x1 struct] YLabel: [1x1 struct]TickLabel: [1x1 struct]Grid: 'off' XLim: {[1 10]}XLimMode: {'auto'}YLim: {[1 10]} YLimMode: {'auto'}IOGrouping: 'none'InputLabels: [1x1 struct]OutputLabels: [1x1 struct]InputVisible: {'on'} OutputVisible: {'on'}FreqUnits: 'rad/sec'FreqScale: 'log' MagUnits: 'dB' MagScale: 'linear'MagVisible: 'on' MagLowerLimMode: 'auto'MagLowerLim: 0PhaseUnits: 'deg'PhaseVisible: 'on'PhaseWrapping: 'off' PhaseMatching: 'off'PhaseMatchingFreq: 0 PhaseMatchingValue: 0我们可以通过修改上面的每一 项修改伯德图的风格,比如我们使用下面的语句画我 们的伯德图:P=bodeoptions;P.Grid='on'; P.XLim={[10 40000]};P.XLimMode={'manual'};P.FreqUnits='HZ'; num=[1.576e010 0 0];den=[1 1.775e005 1.579e010 2.804e012 2.494e014];H=tf(num,den; bode(H,P 这时,我们将会看到以下的伯德图: 上面这张图相对就比较好了,它的横坐标单位 是HZ,范围是[10 40K]HZ,而且打开了网格,便于我 们观察-3DB处的频率值。当然,你也可以改变bodeoptions中的其它参数,做出符合你的风格的伯

MATLAB画图入门篇--各种基本图形绘制的函数与实例

MATLAB画图入门篇--各种基本图形绘制的函数与实例【来自网络】 一.二维图形(Two dimensional plotting) 1.基本绘图函数(Basic plotting function):Plot,semilogx,semilogy,loglog,polar,plotyy (1).单矢量绘图(single vector plotting):plot(y),矢量y的元素与y元素下标之间在线性坐标下的关系曲线。 例1:单矢量绘图 y=[00.62.358.311.71517.719.420];plot(y) 可以在图形中加标注和网格, 例2:给例1的图形加网格和标注。 y=[00.62.358.311.71517.719.420];plot(y) title('简单绘图举例');xlabel('单元下标');ylabel('给定的矢量');grid (2).双矢量绘图(Double vector plotting):如x和y是同样长度的矢量,plot(x,y)命令将绘制y元素对应于x元素的xy曲线图。 例:双矢量绘图。 x=0:0.05:4*pi;y=sin(x);plot(x,y) (3).对数坐标绘图(ploting in logarithm coordinate):x轴对数semilogx,y轴对数semilogy,双对数loglog, 例:绘制数组y的线性坐标图和三种对数坐标图。 y=[00.62.358.311.71517.719.420]; subplot(2,2,1);plot(y);subplot(2,2,2);semilogx(y) subplot(2,2,3);semilogy(y);subplot(2,2,4);loglog(y) (4)极坐标绘图(Plotting in polar coordinate): polar(theta,rho)theta—角度,rho—半径 例:建立简单的极坐标图形。 t=0:.01:2*pi;polar(t,sin(2*t).*cos(2*t)) 2.多重曲线绘图(Multiple curve plotting) (1)一组变量绘图(A group variable plotting) plot(x,y) (a)x为矢量,y为矩阵时plot(x,y)用不同的颜色绘制y矩阵中各行或列对应于x的曲线。 例1: x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=0.6*sin(x);y(3,:)=0.3*sin(x);plot(x,y) (b)x为矩阵,y为矢量时绘图规则与(a)的类似,只是将x中的每一行或列对应于y进行绘图。。 例2: 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=sin(x(1,:));plot(x,y) (c)x和y是同样大小的矩阵时,plot(x,y)绘制y矩阵中各列对应于x各列的图形。 例3: 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(:,1));y(:,3)=0.3*sin(x(:,1)); plot(x,y) 这里x和y的尺寸都是101×3,所以画出每条都是101点组成的三条曲线。如行列转置后就会画出101条曲线,每条线

matlab中绘制多个图形

绘图功能是Matlab的一个强大的功能。 subplot是MATLAB中常用的的函数。在绘图过程中经常要在一个页面中绘制几张图 它的使用格式:subplot(m,n,p)或者subplot(m n p)。 函数subplot是将多个图画到一个平面上的工具。括号中的m表示是图排成m行,n 表示图排成n列,也就是整个figure中有n个图是排成一列的,一共m行,如果m=3就是表示3行图。p表示图所在的位置,p=3表示从左到右从上到下的第3个位置。 以下是对它的一些应用,还用到了其它的一些函数 程序的代码如下 x=0:0.01:10; y1=sin(x); subplot(3,3,1); plot(x,y1); xlabel('x'); ylabel('y1'); title('y1=sin(x)');axis([0 pi*2 -1 1]); y2=cos(x+2); subplot(3,3,2); plot(x,y2); xlabel('x'); ylabel('y2');title('y2=cos(x+2)');axis([0 pi*2 -1 1]); y3=sin(x)+y2;subplot(3,3,3); plot(x,y3); xlabel('x'); ylabel('y3');title('y3=sin(x)+y2'); y4=sin(x).^3+cos(x);subplot(3,3,4);axis([0 pi*2 -1 2]); plot(x,y4); xlabel('x'); ylabel('y4');title('y4=sin(x).^3+cos(x)');axis([0 pi*2 -1 2]); y5=9*x.^5+3*x.^4+x.^3+2*x.^2;

Matlab绘制频散曲线程序代码(20210119130722)

Matlab绘制频散曲线 程序代码 -CAL-FENGHAI-(2020YEAR-YI function disper %绘制平板频散曲线 %tic

clc;clear; cl=5790;%材料纵波波速(钢板) cs=3200;%材料横波波速(钢板) dfd=*le3; fdO=:dfd/le3:2O)*le3;%频厚积(MHz*mm) d_Q235二6; cps_mi n二2700; cpa_min=100; cp_max=10000; mode=3;%绘制的模式数 precision=le-8; cpa=zeros(length(fdO),mode); cps=zeros(le ng th(fdO),mode); for i=l:length(fdO) fd=fdO(i); [cpl2 n]=ss(cps_min/cp_max/fd/cl,cs,mode); for j=l:n cpl=cpl2(j,l); cp2=cpl2(j,2); cps(i,j)=serfe n(cpl,cp2,fctcl£S'precisi on); end [cpl2 n]=aa(cpa_min,cp_max/fd/cl/cs,mode); for j=l:n cpl=cpl2(j,l); cp2=cpl2(j,2); cpa(ij)=aerfe n(cpbcp2,fd£l‘cs,precisi on); end end h=zeros(mode,2); %相速度 figure(l) for j=l:2 ifj==l cp=cps; color=,b,; else cp=cpa; color二T; end for i=l:mode cpp=cp(:,i); in d=fi nd(cpp==0); if ^isempty(ind) h(i/j)=plot((fdO(ind(end)+l:end))/d_Q235/cpp(ind(end)+l:end),color); else h(i/j)=plot(fdO/d_Q235,cpp/color); end hold on end ifj==2 xlabel('f/(KHz)') ylabel('C_{p}/(km-sA{-l})')

MATLAB绘制平滑曲线

MATLAB绘制平滑曲线 x=[0.1 0.16 0.27 0.41 0.48 0.59 0.8]; y=[8 70 118 100 9 0 5]; 以上是每一个X和Y对应的坐标,请问如何编程能够绘制平滑曲线,这个图形就像二次函数一样的如果要在图中绘制一条直线加上y=70的直线,用不同颜色区分! x=[0 0.1 0.16 0.27 0.41 0.48 0.59 0.8]; y=[5 9 70 118 100 17 0 5]; y1=[22.8 22.8 22.8 22.8 22.8 22.8 22.8 22.8]; values1=spcrv([[x(1) x x(end)];[y(1) y y(end)]],3,1000); values2=spcrv([[x(1) x x(end)];[y1(1) y1 y1(end)]],3,1000); plot(values1(1,:),values1(2,:),'r',values2(1,:),values2(2,:),'b') ans2: 代码如下: x=[0.1 0.16 0.27 0.41 0.48 0.59 0.8]; y=[8 70 118 100 9 0 5]; xp=0:0.1:1; yp=interp1(x,y,xp); plot(x,y,'b-',xp,yp,'r-')%红色为差值后的平滑图像 hold on y1=70; plot(xp,y1,'c-') % 自己试一下

ans3: x=[0.1 0.16 0.27 0.41 0.48 0.59 0.8]; y=[8 70 118 100 9 0 5]; X=linspace(0,.9); Y=spline(x,y,X); plot(x,y,'ro',X,Y,X,70+0*X) another file: >help smooth自己查一下帮助 another question: x有90个值,Y也有90个值,一一对应,用PLOT(x,y)后是折线,请问怎样把它改为平滑曲线,谢谢! ans: 平滑曲线的话,建议你用 样条插值。 比方说,已知的数据是X,Y 你将X的间隔变小一些赋于xi

MATLAB中绘图命令介绍

MATLAB中绘图命令介绍 本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制。 plot是绘制一维曲线的基本函数,但在 使用此函数之前,我们需先定义曲线上每一 点的x 及y座标。 下例可画出一条正弦曲线: close all; x=linspace(0, 2*pi, 100); % 100个点的x坐标 y=sin(x); % 对应的y坐标 plot(x,y); 小整理:MATLAB基本绘图函数 plot: x轴和y轴均为线性刻度(Linear scale) loglog: x轴和y轴均为对数刻度(Logarithmic scale) semilogx: x轴为对数刻度,y轴为线性刻度 semilogy: x轴为线性刻度,y轴为对数刻度 若要画出多条曲线,只需将座标对依次放入plot函数即可: hold on 保持当前图形,以便继续画图到当前坐标窗口 hold off 释放当前图形窗口 title(’图形名称’)(都放在单引号内) xlabel(’x轴说明’) ylabel(’y轴说明’)

text(x,y,’图形说明’) legend(’图例1’,’图例2’,…) plot(x, sin(x), x, cos(x)); 若要改变颜色,在座标对後面加上相关字串即 可: plot(x, sin(x), 'c', x, cos(x), 'g'); 若要同时改变颜色及图线型态,也是在座标对後 面加上相关字串即可: plot(x, sin(x), 'co', x, cos(x), 'g*'); 小整理:plot绘图函数的叁数字元、颜色元、 图线型态, y 黄色 .点k 黑色o 圆w 白色x xb 蓝色+ +g 绿色* *r 红色- 实线c 亮青色: 点线m 锰紫色-. 点虚线-- 虚线plot3 三维曲线作图 图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围: axis([0, 6, -1.2, 1.2]); axis函数的功能丰富,其常用的用法有: axis equal :纵横坐标轴采用等长刻度 axis square:产生正方形坐标系(默认为矩形)

Matlab绘制频散曲线程序代码

function disper %绘制平板频散曲线 %tic clc;clear; cl=5790;%材料纵波波速(钢板) cs=3200;%材料横波波速(钢板) dfd=0.01*1e3; fd0=(0.01:dfd/1e3:20)*1e3;%频厚积(MHz*mm)d_Q235=6; cps_min=2700; cpa_min=100; cp_max=10000; mode=3;%绘制的模式数 precision=1e-8; cpa=zeros(length(fd0),mode); cps=zeros(length(fd0),mode); for i=1:length(fd0) fd=fd0(i); [cp12 n]=ss(cps_min,cp_max,fd,cl,cs,mode); for j=1:n cp1=cp12(j,1); cp2=cp12(j,2); cps(i,j)=serfen(cp1,cp2,fd,cl,cs,precision); end [cp12 n]=aa(cpa_min,cp_max,fd,cl,cs,mode); for j=1:n cp1=cp12(j,1); cp2=cp12(j,2); cpa(i,j)=aerfen(cp1,cp2,fd,cl,cs,precision); end end h=zeros(mode,2); %相速度 figure(1) for j=1:2 if j==1 cp=cps; color='b'; else cp=cpa; color='r'; end for i=1:mode cpp=cp(:,i); ind=find(cpp==0);

如何能用Matlab绘制曲线图

各位同学: 在写论文和报告时,为了很好地表达你研究和开发的结果,不仅要用文字详细地描述你方法、步骤和结果,还必须配以各种图来说明问题。下面是我们实验室张媛媛老师申请博士学位论文中的部分曲线图、硬件框图、软件流程图和实验装置原理框图。她将在部分曲线图下面给出绘制图形的Matlab 程序和相关步骤,供大家学习和参考。 例一: -0.5 00.511.52 2.5Time(s) V o l t a g e (V ) -0.5 0.511.52 2.5时间(s) 电压(V ) 图2-3-6 动态线性环节的输入输出信号 图2-3-7 模型输出和消噪后实验时数据比 较 1,输入信号u(k);2,输出信号y(k) 1,实验数据;2,模型输出 绘图程序如下: figure(1) plot(t,y,'k',t,x,'k','LineWidth',1.4) xlabel('Time(s)','fontname','宋体','Fontsize',9);%绘制横坐标 ylabel('Voltage(v)','fontname','宋体','Fontsize',9); %绘制纵坐标 %xlabel('时间(s)','fontname','宋体','Fontsize',9); %ylabel('电压(v)','fontname','宋体','Fontsize',9); %设置合适的图框大小.可将下面四句变为子程序,以便调用。 set(gcf,'color',[1,1,1]); set(gca,'xcolor',[0,0,0],'ycolor',[0,0,0]); set(gcf,'units','centimeters','position',[5,10,6.8,5.2]); set(gca,'box','on','fontname','宋体','Fontsize',9); %设置指向线的位置 annotation1 = annotation(figure(1),'line',[0.5585 0.6038],[0.7225 0.6459]); annotation1 = annotation(figure(1),'line',[0.4755 0.4453],[0.7129 0.6651]); %标注数字“1”“2” annotation1 = annotation(...

MATLAB绘制图形实验目的与内容

实验二MATLAB绘制图形 【实验目的】 1、熟悉Matlab运行环境,会在窗口操作和运行一些命令。 2、掌握二维和三维绘图命令 3、熟练在计算机上操作绘图命令,并能将图复制粘贴到word文档中 【实验仪器】一台电脑,要求安装matlab 软件 【实验内容】 MATLAB实现内容 1、绘制二维图形 2、绘制三维图形 【实验步骤】 1.打开matlab桌面和命令窗口,方式一,双击桌面快捷方式,方法二,程序里单击matlab图标,方式三,找到matlab文件夹,双击图标 2.在matlab命令窗口输入命令 3.运行,可以直接回车键,F5键 【注意事项】 1.命令的输入要细心认真,不能出错 2.尤其是分号,逗号等符号的区别 3.注意数学上的运算和matlab中的不同,尤其是括号 【实验操作内容】 以下的例题都是在命令窗口输入源程序,然后运行,或回车就可以得到结果。 一、二维绘图 1、plot(x,y):

基本格式,x和y可为向量或矩阵. 1. 如果x,y是同维向量,以x元素为横坐标,以y元素为纵坐标绘图. 2. 如果x是向量,y是有一维与x元素数量相等的矩阵,则以x为共同横坐标,y元素为纵坐标绘图,曲线数目为y的另一维数. 3. 如果x,y是同维矩阵,则按列以x,y对应列元素为横、纵坐标绘图,曲线数目等于矩阵列数. 例1 x,y是同维向量时, plot(x,y) clear x=(0:pi/10:2*pi); y=sin(x); plot(x,y) 2、函数plot(x,y,’s’) plot(x,y,’s’) ---开关格式,开关量字符串s设定曲线颜色、线型及标示符号,由一对单引号括起来. plot(x1,y1,’s1’,x2,y2,’s2’,…) 例2 绘制y1=sin(2*x),y2=sin(x.^2), y3=(sin(x)).^2图形 x=linspace(0,7); >> y1=sin(2*x); %曲线1:红色实线,+号显示数据点 >> y2=sin(x.^2); %曲线2:黑色点线,*号显示数据点 >> y3=(sin(x)).^2; %曲线3:蓝色虚线,上三角形显示数据点

使用matlab绘制三维图形的方法

matlab 绘制三维图形的方法 plot3函数与plot 函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n),其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。当x,y,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。 例 绘制三维曲线。 程序如下: t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); plot3(x,y,z);grid title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); 如下图: -1 1 X Line in 3-D Space Y Z 三维曲面

1.产生三维数据 在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。其格式为: x=a:d1:b; y=c:d2:d; [X,Y]=meshgrid(x,y); 语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每一列都是向量y ,列数等于向量x 的元素的个数。 2.绘制三维曲面的函数 surf 函数和mesh 函数的调用格式为: mesh(x,y,z,c):画网格曲面,将数据点在空间中描出,并连成网格。 surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。 一般情况下,x,y,z 是维数相同的矩阵。x,y 是网格坐标矩阵,z 是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。 例 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: [x,y]=meshgrid(0:0.25:4*pi); %在[0,4pi]×[0,4pi]区域生成网格坐标 z=sin(x+sin(y))-x/10; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); 如下图: -2.5 -2-1.5-1-0.500.51 此外,还有带等高线的三维网格曲面函数meshc 和带底座的三维网格曲面函数meshz 。其用法与mesh 类似,不同的是meshc 还在xy 平面上绘制曲面在z 轴方向的等高线,meshz 还在xy 平面上绘制曲面的底座。 例 在xy 平面内选择区域[-8,8]×[-8,8],绘制4种三维曲面图。 程序如下:

MATLAB中的绘图程序

MATLAB中的绘图程序 2011-03-25 12:45:48| 分类:matlab | 标签:绘图 matlab |字号大中小订阅 matlab中如何在指定一点画一个填充颜色的小圆 plot(1,1,'r.','markersize',50) §4.1二维作图 绘图命令plot绘制x-y坐标图;loglog命令绘制对数坐标图;semilogx和semilogy命令绘制半对数坐标图;polar命令绘制极坐标图. §4.1.1 基本形式 如果y是一个向量,那么plot(y)绘制一个y中元素的线性图.假设我们希望画出 y=[0., 0.48, 0.84, 1., 0.91, 6.14 ] 则用命令:plot(y) 它相当于命令:plot(x, y),其中x=[1,2,…,n]或x=[1;2;…;n],即向量y的下标编号, n为向量y 的长度 Matlab会产生一个图形窗口,显示如下图形,请注意:坐标x和y 是由计算机自动绘出的. 图4.1.1.1 plot([0.,0.48,0.84,1.,0.91,6.14]) 上面的图形没有加上x轴和y轴的标注,也没有标题.用xlabel,ylabel,title命令可以加上.如果x,y是同样长度的向量,plot(x,y)命令可画出相应的x元素与y元素的x-y坐标图.例:x=0:0.05:4*pi; y=sin(x); plot(x,y) grid on, title(' y=sin( x ) 曲线图' ) xlabel(' x = 0 : 0.05 : 4Pi ') 结果见下图.

图4.1.1.2 y=sin(x)的图形 表4.1.1.1 Matlab图形命令 §4.1.2 多重线 在一个单线图上,绘制多重线有三种办法. 第一种方法是利用plot的多变量方式绘制: plot(x1,y1,x2,y2,...,xn,yn) x1,y1,x2,y2,...,xn,yn是成对的向量,每一对x, y在图上产生如上方式的单线.多变量方式绘图是允许不同长度的向量显示在同一图形上. 第二种方法也是利用plot绘制,但加上hold on/off命令的配合: plot(x1,y1) hold on plot(x2,y2) hold off 第三种方法还是利用plot绘制,但代入矩阵: 如果plot用于两个变量plot(x,y),并且x,y是矩阵,则有以下情况: (1)如果y是矩阵,x是向量,plot(x,y)用不同的画线形式绘出y的行或列及相应的x向量,y的行或列的方向与x向量元素的值选择是相同的. (2)如果x是矩阵,y是向量,则除了x向量的线族及相应的y向量外,以上的规则也适用.(3)如果x,y是同样大小的矩阵,plot(x,y)绘制x的列及y相应的列. 还有其它一些情况,请参见Matlab的帮助系统. §4.1.3 线型和颜色的控制 如果不指定划线方式和颜色,Matlab会自动为您选择点的表示方式及颜色.您也可以用不同的符号指定不同的曲线绘制方式.例如:

matlab中的图形处理功能(很全)

第六章图形处理功能 Chapter 6: The function of Image processing 一.二维图形(Two dimensional plotting) 1. 基本绘图函数(Basic plotting function):Plot, semilogx, semilogy, loglog, polar, plotyy (1). 单矢量绘图(single vector plotting):plot(y),矢量y的元素与y元素下标之间在线性坐标下的关系曲线。 例1:单矢量绘图 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; plot(y) 可以在图形中加标注和网格, 例2:给例1 的图形加网格和标注。 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; plot(y) title('简单绘图举例'); xlabel('单元下标'); ylabel('给定的矢量'); grid(标注网格) (2). 双矢量绘图(Double vector plotting):如x和y是同样长度的矢量, plot(x,y)命令将绘制y 元素对应于x元素的xy曲线图。 例:双矢量绘图。 x=0:0.05:4*pi; y=sin(x); plot(x,y) (3). 对数坐标绘图(ploting in logarithm coordinate):x轴对数semilogx, y轴对数semilogy, 双对数loglog, 例:绘制数组y的线性坐标图和三种对数坐标图。 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; subplot(2,2,1); plot(y); subplot(2,2,2); semilogx(y) subplot(2,2,3); semilogy(y); subplot(2,2,4); loglog(y) (4)极坐标绘图( Plotting in polar coordinate): polar(theta,rho) theta—角度, rho—半径 例:建立简单的极坐标图形。 t=0:.01:2*pi; polar(t,sin(2*t).*cos(2*t)) 2. 多重曲线绘图(Multiple curve plotting) (1)一组变量绘图(A group variable plotting) plot(x,y) (a) x为矢量,y为矩阵时plot(x,y)用不同的颜色绘制y矩阵中各行或列对应于x的曲线。 例1: x=0:pi/50:2*pi; y(1,: )=sin(x); y(2,:) =0.6*sin(x); y(3, :)=0.3*sin(x); plot(x,y) (b) x为矩阵,y为矢量时绘图规则与(a)的类似,只是将x中的每一行或列对应于y进行绘图。。 例2: 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=sin(x(1,: )); plot(x,y) (c) x和y是同样大小的矩阵时, plot(x,y)绘制y矩阵中各列对应于x各列的图形。 例3:

相关文档