实验一 数据可视化与绘制函数图像
画函数图像的方法

画函数图像的方法函数图像是用于表达函数关系的一种图表。
它是把函数算式中的变量转换为横纵坐标的点,再把所有点连接起来形成的曲线。
函数图像的特点是把函数关系清晰地表达出来,可作为函数研究的重要参考材料。
二、如何画函数图像1、定画布:在坐标系中设定画布,一般用网格纸或绘图软件。
2、定函数:将函数表达式写入画布,如y=3x+2,x为横纵坐标,y为函数值。
3、出函数的根:函数的根为函数图像的拐点,可以使用试值代入法求出。
4、出函数图像:根据函数表达式可以求出横纵坐标的配对,在坐标系中一点一点的将它们连接起来,画出函数图像。
三、函数图像的类型1、稳函数:函数图像不发生变化,伴随变量x变化而变化,只有一条线。
例如y=2x。
2、函数:函数图像向下弯曲,伴随变量x变化而变化,只有一条线。
例如y=3x的平方。
3、函数:函数图像向上弯曲,伴随变量x变化而变化,只有一条线。
例如y=logx。
4、大值函数:函数图像最高点降低,伴随变量x变化而变化,只有一条线。
例如y=sinx。
5、物线:函数图像存在上拐点或下拐点,两端弯曲向上或向下,只有一条线。
例如y=4x的平方-2x。
四、画函数图像的应用(1)函数图像可以帮助研究函数的性质,从而解决函数的极值问题、求解函数的最大值和最小值的问题;(2)函数图像可以帮助更加直观地理解函数的定义域和值域;(3)函数图像可以帮助求解函数的极限值,以及估算函数斜率。
五、总结画函数图像是数学中常见的一种任务,它可以帮助我们理解函数的定义域和值域,求解函数的极值问题、求解函数的最大值和最小值的问题,以及估算函数斜率。
画函数图像的方法主要分为:确定画布,确定函数,画出函数的根以及画出函数图像,其中画出函数的根需要使用试值代入法求出。
在画函数图像时,应根据函数的特点区分函数的类型,如平稳函数、凹函数、凸函数、最大值函数以及抛物线,以便更加清晰准确地表达函数的关系,发挥画函数图像的最大价值。
报告中实验结果的可视化方法介绍

报告中实验结果的可视化方法介绍概述:实验报告是科学研究中必不可少的一部分,通过合理的可视化方法呈现实验结果能够更加直观地展示数据的趋势、关系和变化规律,帮助读者理解和解读实验结果。
本文将介绍六种常见的可视化方法,分别为折线图、柱状图、散点图、饼图、雷达图和热力图。
一、折线图折线图是常用的展示数据趋势的图表形式。
通过绘制曲线并连接各个数据点,可以直观地展示变量之间的关联关系,观察数据的波动情况。
折线图常用于展示时间序列数据、变量之间的变化趋势等。
二、柱状图柱状图是用长方形的柱子表示数据的图表形式。
柱状图可以直观地比较不同类别或不同时间点的数据差异,适用于展示分类数据和不同组之间的比较。
通过调整柱子的高度和宽度,可以更好地表现数据的分布和变化。
三、散点图散点图通过以点的形式表示不同数据点的位置,显示两个变量之间的关系。
散点图可以观察到数据的分布情况、趋势以及离群点的存在。
散点图常用于关联性和相关性分析,并能帮助确定变量之间的线性或非线性关系。
四、饼图饼图是以扇形的形式将数据分割为不同的部分,展示每个部分在整体中所占的比例。
饼图适用于展示不同类别数据在整体中的占比情况,如不同商品的销售份额、不同学历的人口比例等。
饼图常用于表示数据的相对比例,但不适用于展示精确数值。
五、雷达图雷达图是通过多边形的形式展示多个维度的数据。
每个变量对应雷达图的一个轴,数据通过线或面片表示。
雷达图能够直观地显示不同变量之间的比较和差异。
适用于展示多维度数据的相对关系和差异。
六、热力图热力图通过颜色的变化在二维矩阵中展示数据的密度和分布情况。
颜色的深浅表示不同数值的大小,从而可以观察到数据的空间和时间分布特征。
热力图常用于展示地理信息、时间序列数据和矩阵数据中的模式和规律。
总结:通过合理选择和运用可视化方法,能够直观地展示实验结果中的数据变化和关系,帮助读者更好地理解数据。
折线图、柱状图、散点图、饼图、雷达图和热力图是常见且常用的可视化方法,每种方法都有其适用的场景和特点。
函数图象的绘制方法教案

函数图象的绘制方法教案一、引言函数图象是数学中的重要概念,对于理解和应用各种函数具有重要作用。
本教案旨在介绍函数图象的绘制方法,帮助学生正确理解并掌握这一知识点。
二、直角坐标系与函数图象1. 直角坐标系简介:直角坐标系由x轴和y轴组成,通过给每个点指定一个唯一的坐标,可以描述平面上的点的位置。
2. 函数与函数图象:函数是指一个元素与另一个元素之间存在特定关系的一种规则。
函数图象则是将函数中的元素与坐标系中的点相对应的图形。
三、绘制函数图象的步骤1. 确定定义域和值域:首先确定函数的定义域和值域,以明确函数图象的绘制范围。
2. 制作表格:选择一组定义域内的点,并使用函数的表达式计算每个点的对应值。
3. 绘制坐标系:在纸上绘制好直角坐标系,并标出x轴和y轴。
4. 绘制点:根据表格中的数据,在坐标系上标出对应的点。
5. 连接点:以平滑的曲线将这些点依次连接起来,即可得到函数的图象。
四、常见函数图象的特点及绘制方法(根据具体的函数类型,可以添加小节来分别讲解常见函数的图象特点和绘制方法)五、常见函数图象的应用函数图象不仅能够帮助我们更好地理解和描绘函数的规律,还在实际问题中有着广泛的应用。
以下是几个常见的应用场景:1. 增长模型:利用指数函数图象的特点,可以解决一些增长模型相关的问题。
2. 运动模型:利用线性函数图象的特点,可以表示和分析物体的运动模式。
3. 几何问题:通过绘制各种函数图象,可以解决一些几何问题,如求解交点、求解面积等。
六、练习题与活动为了检验学生对函数图象绘制方法的掌握程度,可以设计一些练习题和活动,如绘制给定函数图像、猜测函数类型等,以培养学生的动手能力和逻辑思维能力。
七、总结通过本教案的学习,相信学生们对函数图象的绘制方法有了更深入的理解。
掌握函数图象的绘制方法,可以帮助学生更好地理解和应用各种函数,在数学学习中取得更好的成绩。
实验一 数据的可视化:光纤横截面上的场分布模拟

实验一数据的可视化:光纤横截面上的场分布模拟一、实验目的MATLAB不仅在数值计算方面独占鳌头,而且在数据可视化方面也是功能强大。
MATLAB可以给出数据的二维、三维甚至四维的图形表现。
通过对图形的线型、立面、色彩、渲染、光线、视角等的控制,可以把数据的特征表现的淋漓尽致。
本次实验拟通过对光纤横截面上的模场分布进行模拟,使大家熟悉MATLAB常用的二维、三维绘图函数以及和绘图有关的命令,学会如何用不同的色彩来表示数值的大小,同时对单模、多模光纤的模场分布规律建立感性认识,为更好的学习后续专业课程打基础。
二、MATLAB的常用绘图函数1. 二维绘图函数MATLAB中最常用的二维绘图函数是plot函数,其调用格式如下:①plot ( X, Y, 's')●若X、Y为同维向量,则分别以X、Y中的元素为横、纵坐标绘制曲线;●若X为向量,Y是有一维和X等维的矩阵,则绘制多个不同色彩的曲线,曲线数等于Y的另一维;●若X为矩阵,Y为向量,情况和上相同;●若X,Y为同维矩阵,则以X,Y对应的列元素为横、纵坐标绘制曲线族,曲线条数等于矩阵的列数;●s是字串,是用来指定线型、色彩的选项。
各种可选项如下表所示②plot ( X1, Y1, 's1',X2, Y2, 's2',…)同时绘制多个曲线,每个绘线三元组(X, Y, 's')的结构和作用与plot(X, Y, 's')相同,不同的是三元组之间可以互不相关。
例1:t=0:0.01:2*pi; y1=t.*sin(t.^2) ; y2=exp(t)+cos(t.^2) ; plot (t, [y1 ; y2], '-r ' ) ;% 或者plot(t, y1,'-r', t, y2,'-.m')其他的二维绘图函数如ezplot,可用于绘制隐函数图、参数绘图,其调用格式:函数说明ezplot(‘f’,[a, b]) 绘制隐函数f(x,y)=0的图形,横坐标范围[a,b] ezplot(‘f’,[xmin,xmax,ymin,ymax]) 绘制隐函数f(x,y)=0的图形,横坐标范围[xmin, xmax], 纵坐标范围[ymin, ymax] ezplot(‘fx’, ‘fy’, [tmin,tmax]) 绘参数图,绘出fx(t), fy(t), t的范围[tmin,tmax]例2:画圆:x2+y2=R2( R=5µm )a=5*1e-06; h1=ezplot('x^2 + y^2 - (5*1e-6)^2',[-a,a]); % h1 返回图形的句柄(标识)2. 三维绘图函数①画三维曲线图—plot3函数调用格式:plot3(X1, Y1, Z1,’s1’, X2, Y2, Z2,’s2’, ...),除包含第三维之外,用法与plot函数相同。
实验1_函数的图形

实验1曲线绘图实验目的•学习Matlab绘图命令;•进一步理解函数概念。
1.曲线图Matlab作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给Matlab函数画图.命令为:PLOT(X,Y,’S’)线型X,Y是向量,分别表示点集的横坐标和纵坐标PLOT(X,Y)--画实线PLOT(X,Y1,’S1’,X,Y2,’S2’,……,X,Yn,’Sn’)--将多条线画在一起例1在[0,2*pi]用红线画sin(x),用绿圈画cos(x). x=linspace(0,2*pi,30);解:y=sin(x);z=cos(x);plot(x,y,'r',x,z,‘g o')G 绿色o 圈表1 基本线型和颜色符号颜色符号线型y黄色.点m紫红0圆圈c青色x x标记r红色+加号g绿色*星号b兰色-实线w白色:点线k黑色-.点划线--虚线2.符号函数(显函数、隐函数和参数方程)画图(1) ezplotezplot(‘f(x)’,[a,b])表示在a<x<b绘制显函数f=f(x)的函数图ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax])表示在区间xmin<x<xmax和ymin<y<ymax绘制隐函数f(x,y)=0的函数图ezplot(‘x(t)’,’y(t)’,[tmin,tmax])表示在区间tmin<t<tmax绘制参数方程x=x(t),y=y(t)的函数图例2 在[0,pi]上画y=cos(x)的图形解输入命令ezplot('cos(x)',[0,pi])解输入命令ezplot('cos(t)^3','sin(t)^3',[0,2*pi])例4 在[-2,0.5],[0,2]上画隐函数0)sin(=+xy e x的图 解输入命令ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2])例3 在[0,2*pi]上画t x 3cos =,t y 3sin =星形图如何利用ezplot画出颜色图(2) fplotfplot(‘fun’,lims)表示绘制字符串fun指定的函数在lims=[xmin,xmax]的图形.注意:[1] fun必须是M文件的函数名或是独立变量为x的字符串.[2] fplot函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形。
数据可视化实验报告之图分析(Gephi与Python的使用)

#画图,节点大小10,边的颜色为蓝色,透明度0.45,节点标签字体大小9 labels=nx.draw_networkx_labels(G8,pos=pos) #绘制网络G8的边图pylab.show()结果展示2.科幻作者关系图(Python与Gephi与实现)代码import csvnodemap={} #创建一个空的列表#此函数功能是:找、添加节点,并计数def addNode(name):if name in nodemap:node=nodemap[name]node["count"]+=1#在nodemap中,假如有此节点,此节点计数+1else:node={"nodeid":name,"count":1}nodemap[name]=node#如果没有该节点,则记录该节点名称,数量记为1,添加到nodemap returnwith open("C:/Users/Administrator/Desktop/科幻作者/SciFiWriters.txt","r") as inputfile:#打开txt文件,把它作为inputfile文件,r为只读模式datareader=csv.reader(inputfile,delimiter="\t")#从csv文件中读取数据,记录为datareader,分隔符:横向制表符next(datareader,None)#跳过第一行数据#过每一行数据,添加起点,和目标点for row in datareader:addNode(row[0])addNode(row[1])with open("node.txt","w",newline="") as nodefile:#打开文件记为nodefile文件,以w的方式,newline=""为不写入空行formatter=csv.writer(nodefile,delimiter="\t")#从csv文件中写入数据,记录为formatter,分隔符:横向制表符formatter.writerow(["Id","Count"]) #第一行写为ID Count#把nodemap内所有节点,名称和数量写入formatter内for name in nodemap:node=nodemap[name]formatter.writerow([node["nodeid"],node["count"],])结果展示。
Python数据可视化实战-pyecharts交互式绘图

系列配置项
参数名称 is_show width opacity curve
type_ color
说明 接收bool,表示是否显示线。默认为True 接收numeric,表示线的宽度。默认为1 接收numeric,表示图形透明度,支持从0到1的数字。默认为1 接收numeric,表示线的弯曲度,0表示完全不弯曲。默认为0 接收str,表示线的类型,常用solid、dashed、dotted。默认为solid 接收str,表示线的颜色。默认为None
er_color=None, border_width=None, border_radius=None, padding=None, shadow_color=N
one, shadow_blur=None, width=None, height=None, rich=None)
5
系列配置项
参数名称
14
全局配置项
参数名称 type_
is_show orient item_gap inactive_color pos_left pos_right pos_top pos_bottom
说明 接收str,表示图例的类型。可选plain、scroll,plain表示普通图例,scroll表示可滚动翻页的图例。 默认为None 接收bool,表示是否显示图例组件,默认为True
表示标签配置项
11
全局配置项
1.标题配置项
➢ 标题配置项是通过options模块中的TitleOpts类实现的,可以使用title_opts作为参数传递给 set_global_opts()方法。TitleOpts类的基本使用格式如下。
➢ class TitleOpts(title=None, title_link=None, title_target=None, subtitle=None, subtitle_link= None, subtitle_target=None, pos_left=None, pos_right=None, pos_top=None, pos_bottom=N one, padding=5, item_gap=10, title_textstyle_opts=None, subtitle_textstyle_opts=None)
数学中的函数图像的绘制与应用

数学中的函数图像的绘制与应用在数学中,函数是一个非常重要的概念。
而函数图像则是对函数进行可视化的一种方式,它可以让我们更加直观地理解函数的特征和性质。
本文将探讨函数图像的绘制方法、常见的函数图像形态及其应用。
一、函数图像的绘制方法函数图像绘制是一种基于函数的可视化表示方法。
为了绘制函数图像,我们需要先确定要绘制的函数。
这样才能在坐标系内绘制出函数的图像。
下面将介绍如何在笛卡尔坐标系中绘制常见的函数图像。
1. 直线函数的图像绘制直线函数方程为y=kx+b(其中k、b为常数),其图像通常是一条斜率为k,截距为b的直线。
这里以y=2x+1为例,绘制其函数图像的步骤如下:(1)构建坐标系:在纸上画一个直角坐标系。
(2)确定坐标:通过设定变量的值进行逐一计算;或设置x轴和y轴的单位间隔,根据方程中的值确定函数图像上的点坐标。
(3)依据坐标绘图:在坐标系中依照前面计算出来的坐标,描绘出直线。
2. 幂函数的图像绘制幂函数的方程通常具有以下形式:y=x^n(其中n为常数)。
幂函数的图像形态与其幂指数的正负有关。
当幂指数为正数时,函数的图像呈现出向上的凸形状;当幂指数为负数时,函数的图像则呈现出向下的凹形状。
以y=x^2为例,绘制其函数图像的步骤如下:(1)构建坐标系:在纸上画一个直角坐标系。
(2)确定坐标:通过设定变量的值进行逐一计算;或设置x轴和y轴的单位间隔,根据方程中的值确定函数图像上的点坐标。
(3)依据坐标绘图:在坐标系中依照计算出来的坐标,连结相邻的点形成一条曲线。
由于幂函数的曲线通常比较平滑,因此绘制时需要分段绘制(例如x<0部分,x=0的位置,x>0部分等),并且需要足够细致。
3. 三角函数的图像绘制三角函数具有周期性的特点,也就意味着可以将函数图像沿周期区间翻折并重叠,以此来推出整个函数图像的形态。
以下以正弦函数y=sin(x)为例,绘制其函数图像的步骤如下:(1)构建坐标系:在纸上画一个直角坐标系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一数据可视化与绘制函数图像1.数据可视化人们很难直接从一大堆原始的离散数据中体会到它们的含义,画出图形却能使人们用视觉器官直接感受到数据的许多内在本质。
因此,数据可视化是人们研究科学、认识世界所不可缺少的手段。
作为一个优秀的科技软件,MATLAB不仅在数值计算上独占鳌头,而且在数据可视化上也有上乘的表现。
MATLAB可以给出数据的二维、三维乃至四维的图形表现,是一种非常方便作函数图像的工具。
信号是消息的载体,是消息的一种表现形式。
信号可以描述范围极为广泛的一类物理现象,在日常生活和科学研究中占有极其重要的地位。
在数学上,信号可以表示为一个或多个变量的函数。
信号按照自变量取值是否连续可以分为连续时间信号和离散时间信号。
若对信号进行时域分析,其中比较重要的就是对信号随时间变化的二维曲线图进行分析。
对于简单的信号来说,我们可以用手工绘制其波形,但是对于复杂的信号来说,手工绘制极其困难,其精度也不尽如人意。
然而这些对于具有强大图形处理功能的MATLAB来说,我们可以比较容易的绘出函数图形,使读者能够对信号的特征有一个比较直观的印象。
2.MATLAB如何表示信号在matlab中有两种方法来表示信号,一种是用向量来表示,另一种是用符号运算的方法。
用适当的方法表示出信号后,我们就可以利用matlab中的绘图命令绘制出直观的信号波形。
下面我们将结合具体的例子,分别简单介绍一下两种不同的方法。
2.1.表示连续时间信号从严格意义上来说,matlab并不能处理连续信号。
因为我们都知道计算机的数值精度有限、内存容量有限,所以没有办法严格的表示在时间上和数值上具有无限精度的连续信号。
但是在工程应用的时候,都允许存在一定的误差,只要满足允许的误差要求,我们可以对连续信号进行近似的处理。
Matlab表示连续时间信号有两种方法,我们分别介绍如下。
2.1.1.向量表示法向量表示法实际上是根据采样定理,使用间隔足够小的等间隔采样值来表示连续时间信号,在matlab中通常都将这些采样值保存在一个数组向量中。
有关matlab中数组与矩阵计算的内容请参看附录,或通过察看demo->matlab->matrices中给出的例子进行学习。
例:表示并画出信号t ttSinc tf)sin( )()(==t = -10:1.5:10 %做图区域为-10到10,采样间隔为1.5f = sin(t)./t %’./’为点除运算,即数组对应元素作除法plot(t,f) %matlab的绘图语句之一title(‘f(t)=Sinc(t)’) %给绘出的图形增加标题xlabel(‘t’) %给横坐标增加文字说明axis([-10,10,-0.4,1.1]) %设置绘图窗口的坐标区域运行结果如图(1)所示,效果不是很好。
我们可以改变采样的间隔t,使间隔更小一点比如:t = -10:0.02:10,再次运行结果如图(2)所示,现在效果就好多了。
在这个例子中我们使用了matlab 的有关绘图语句plot ,title ,xlabel ,axis 它们的用法请查阅matlab 联机帮助,或附录中的内容。
2.1.2. 符号运算表示法首先我们需要知道什么是符号运算,我们先看一个例子,在高等数学中积分运算是经常遇到的,例如我们需要求函数2)(sin )(x x f =的不定积分即⎰dt x 2)(sin ,如果用计算机来求解就只能依靠符号计算方法了。
求解这个积分的matlab 程序如下:f = sym(‘sin(x)^2’); %定义符号变量f ,代表数学公式sin(x)^2intf = int(f) %int()为matlab 中求符号积分的函数结果为intf =-1/2*cos(x)*sin(x)+1/2*x ,即x x x 21)sin(*)cos(21+-,我们还可以化简,使用如下语句:intf = simple(intf) %simple()是用来化简符号公式的函数结果为intf =-1/4*sin(2*x)+1/2*x , 即x x 21)2sin(41+-如果使用符号运算表示法表示信号,则绘图语句应该使用ezplot()函数,我们通过具体的例子来看看它的使用方法。
例:绘出信号f(t) = sin(pi/4*t)的图像f = sym(‘sin(pi/4*t)’) %定义符号表达式,代表f(t)ezplot(f,[-16,16]) %指定t 的范围,绘制函数f(t)的图像结果如图所示:在这个例子中,我们用到了符号预算中的下列函数sym(),int(),simple(),ezplot()有关它们的详细介绍和具体用法请参考matlab帮助,或后面的附录。
2.2.离散信号的表示方法一般说来,离散时间信号可以用f(k)表示(注:这里的记号与《信号与系统》书中不一样,但实质是相同的),其中变量k为整数,代表离散的采样时间点。
例如:f(k)={ …, f(-3), f(-2), f(-1), f(0), f(1), f(2), … }在matlab中使用一个向量f即可以表示一个有限长度的序列,无限长的序列是计算机无法处理的,我们必须将无限长的序列进行截断处理。
但是用一个向量f来表示序列(向量的下标是从1开始的自然数),只是保留了各个采样点的数字,而数值出现的时间点信息被丢失了。
所以要完整表示离散信号需要用两个向量。
如序列:f(k)={ f(-3)=1, f(-2)=2, f(-1)=-1, f(0)=3, f(1)=2, f(2)=4, f(3)=-1}在matlab中应该使用两个向量来表示:k = [-3, -2, -1, 0, 1, 2, 3] 表示时间点f = [1, 2, -1, 3, 2, 4, -1] 表示时间点上的数值绘制离散时间信号的图像应该使用matlab中的stem()函数,例如:stem(k, f, ‘filled’),axis([-4, 4, -1.5, 4.5])结果如下:3.matlab信号表示与绘图举例例(1):绘出连续时间的单位阶越信号u(t)先考虑使用向量法,我们先创建自己一个存在于matlab\work目录下的Heaviside()函数,该文件内容如下:建立了这个函数之后,我们可以使用下列语句绘出图像:t = -2:0.01:5;f = Heaviside(t);plot(t, f);axis([-2, 5, -0.2, 2]);结果如图所示:例(2):画出f(t) = u(t + 3) - 2u(t)第一种方法:利用上面的Heaviside()函数实现f = sym('Heaviside(t+3) - 2*Heaviside(t)') %定义要画的信号hold on %该命令是为了在一个绘图窗口多次绘制图像用的plot([-5,4],[0,0],'k'); %draw x axisplot([0,0],[-3,3],'k'); %draw y axisezplot(f, [-5, 4]); %绘出信号的图像plot([0,0],[-1,1],'b'); %add a vertical line (0,-1)--(0,1)axis([-5, 4, -3, 3]); %设定绘图窗口的大小hold off结果如图所示:第二种方法:分别使用向量f和t表示信号的数值与对应时刻,可以写出一个函数来表示阶跃信号以及它的各种时移。
函数名为jieyue(),代码如下function jieyue(t1, t2, t0) %定义函数%画出阶越函数%t1,t2表示信号的起止时刻%t0表示信号平移的时间,向右为正%其中t1<t0<t2t=t1:0.01:t0; %定义阶越信号的左边时间向量tt=t0:0.01:t2; %定义阶越信号右边的时间向量n=length(t); %求向量的元素个数nn=length(tt);u=zeros(1,n); %信号左边图像uu=ones(1,nn); %信号右边图像plot(tt,uu);hold onplot(t,u);plot([t0,t0],[0,1]); %补上间断点处的竖线hold offtitle('单位阶越信号')axis([t1,t2,-0.2,1.5]);定义了函数之后,我们可以用它很方便的绘出阶越函数u(t-1)的图像jieyue(-1,4,1)运行结果为:4. 信号的时域运算和变换信号的时域运算和变换包括:信号相加、相乘、平移、反转、颠倒、尺度变换等。
下面我们将对连续和离散信号分别介绍它们的实现方法4.1. 连续信号前面讲过,连续信号在matlab 中有两种表示方法,用任何一种方法都能实现上面的运算和变换,但用符号运算的方法则比较简便。
在此我们只介绍符号运算的方法,向量法请参阅离散信号的情况。
下面我们用一个实例来说明。
例:设信号为)]2()2([)21()(--+⋅+=t u t u t t f ,请分别画出f(t),f(t+2),f(t-2),f(-t),f(2t),-f(t)的图像syms t; %定义符号变量f=sym('(t/2+1)*(heaviside(t+2)-heaviside(t-2))'); %原信号subplot(2,3,1), ezplot(f,[-3,3]);y1=subs(f,t,t+2); %变量代换用t+2替换tsubplot(2,3,2), ezplot(y1,[-5,1]);y2=subs(f,t,t-2);subplot(2,3,3), ezplot(y2,[-1,5]);y3=subs(f,t,-t);subplot(2,3,4), ezplot(y3,[-3,3]);y4=subs(f,t,2*t);subplot(2,3,5), ezplot(y4,[-2,2]);y5=-f;subplot(2,3,6), ezplot(y5,[-3,3]);运行结果为:4.2.离散信号在matlab中离散序列的时域运算和变换不能用符号运算来实现,而必须用向量表示的方法。
在离散序列的运算时,要求两个序列的时间维数必须相同。
也就是说,对于两个需要进行运算的序列,要先通过补零的方法使之成为同维的向量。
例如有两个离散序列如下:要画出f1(k) + f2(k)的图像,我们可以考虑写一个下面的函数来完成加法:function [f,k]=ls_add(f1,f2,k1,k2)k= min(min(k1),min(k2)) : max(max(k1),max(k2)); %确定相加后的维数s1=zeros(1,length(k)); %将k1序列扩大s2=s1;s1( find( (k>=min(k1))&(k<=max(k1)) ) )=f1 %将f1的非零区间的值赋给s1s2( find( (k>=min(k2))&(k<=max(k2)) ) )=f2 %将f2的非零区间的值赋给s2f=s1+s2;调用程序为:f1=-2:2; %f1,k1为第一个信号的值与对应时刻k1=-2:2;f2=[1,1,1]; %f2,k2为第二个信号的值与对应时刻k2=-1:1;[f,k]=ls_add(f1,f2,k1,k2); %调用离散序列相加的函数subplot(3,1,1), stem(k1,f1), axis([-4,4,-4,4])subplot(3,1,2), stem(k2,f2), axis([-4,4,-4,4])subplot(3,1,3), stem(k,f);, axis([-4,4,-4,4])运行结果为:离散信号的反转有一个专门的fliplr()函数来完成,fliplr 实际上为flip left right 的缩写,例如信号⎩⎨⎧≤≤-=值其它k 0332)(k k f k图像,与f(-k)的图像如下做出。