matlab实验四 数据可视化方法

合集下载

如何进行MATLAB地图数据处理和可视化

如何进行MATLAB地图数据处理和可视化

如何进行MATLAB地图数据处理和可视化地图数据处理和可视化在很多领域中都是很重要的一项任务,如地理信息系统(GIS)、城市规划、气象学等。

MATLAB作为一种功能强大的科学计算软件,提供了丰富的地图数据处理和可视化工具,能够帮助用户快速、准确地处理和展示地理数据。

本文将介绍如何使用MATLAB进行地图数据处理和可视化。

一、导入地图数据在MATLAB中,我们可以通过导入地理数据文件的方式来获取地图数据。

常见的地理数据文件格式包括Shapefile、GeoTIFF等。

运用MATLAB的Mapping Toolbox中的函数,我们可以轻松地读取这些文件,并将其转换成MATLAB能够处理的数据结构。

例如,如果我们有一个Shapefile文件,可以使用shaperead()函数将其读取为MATLAB中的结构体。

该结构体包含了Shapefile中所有的属性和几何信息。

我们可以通过访问这些属性和几何信息,进行进一步的数据处理和可视化操作。

二、地图数据处理与分析在导入地图数据之后,我们可以进行一系列的数据处理和分析操作。

MATLAB 提供了丰富的地理数据处理函数,如计算地理距离、邻近分析、空间插值等。

下面,我们将介绍两个常用的地图数据处理方法。

1. 计算地理距离MATLAB中使用distance()函数可以计算两点之间的地理距离。

这对于一些需要考虑地球曲率的应用非常重要。

例如,在城市规划中,我们可以使用该函数计算出两个位置之间的实际距离,从而帮助规划交通路线、确定最佳布局等。

2. 空间插值空间插值是指根据有限的采样点数据,通过数学方法推算未知点的数值。

在地图数据处理中,空间插值经常用于填充缺失值、生成连续的等值线图等。

MATLAB中的griddata()函数可以对地理数据进行插值,并生成高质量的连续地图。

三、地图数据可视化地图数据可视化是将处理后的地理数据以图形的形式展示出来。

MATLAB提供了多种可视化方式,如制作等高线图、色彩填充地图、散点图等。

Matlab数据拟合与数据可视化技巧

Matlab数据拟合与数据可视化技巧

Matlab数据拟合与数据可视化技巧数据拟合和数据可视化是数据分析和研究中至关重要的环节。

Matlab作为一种广泛使用的数值计算工具,提供了多种数据拟合和可视化技巧,能够帮助研究者更好地分析和展示数据。

本文将介绍几种常用的Matlab数据拟合和数据可视化技巧,希望对读者有所启发。

一、数据拟合1. 多项式拟合多项式拟合是一种常用的数据拟合方法,可以通过多项式函数拟合数据的曲线关系。

在Matlab中,可以使用polyfit函数进行多项式拟合。

该函数的输入参数为x和y,分别代表自变量和因变量的数据,我们可以选择拟合的多项式阶数n。

比如,我们可以通过以下代码进行二次多项式拟合:```matlabx = 1:10;y = [1.5, 2.3, 3.1, 4.1, 5.2, 6.5, 7.9, 9.4, 11.0, 12.7];p = polyfit(x, y, 2);```拟合结果p将得到二次多项式的系数。

我们可以使用polyval函数对新的x值进行拟合:```matlabx_new = 1:0.1:10;y_new = polyval(p, x_new);```这样,我们就可以得到新的x_new和对应的拟合曲线y_new。

2. 曲线拟合除了多项式拟合,Matlab还提供了其他的曲线拟合方法。

其中,最小二乘法是常用的一种方法。

在Matlab中,可以使用fit函数进行曲线拟合。

该函数能够拟合多种类型的曲线,如指数函数、幂函数等。

我们可以根据数据的特点选择合适的类型进行拟合。

```matlabx = 1:10;y = [1.5, 2.3, 3.1, 4.1, 5.2, 6.5, 7.9, 9.4, 11.0, 12.7];f = fit(x', y', 'exp1');```在上述代码中,我们选择了指数函数进行拟合。

拟合结果f将给出各个参数的估计值。

我们可以使用这些参数绘制拟合曲线:```matlabx_new = 1:0.1:10;y_new = feval(f, x_new);```类似地,x_new和y_new将给出新的x值和拟合曲线。

Matlab中常用的数据可视化工具与方法

Matlab中常用的数据可视化工具与方法

Matlab中常用的数据可视化工具与方法MATLAB是一种强大的数值计算和数据分析工具,具有丰富的数据可视化功能。

本文将介绍MATLAB中常用的数据可视化工具与方法,帮助读者更好地利用MATLAB进行数据可视化分析。

一、绘图函数在MATLAB中,绘图函数是实现数据可视化的基础。

MATLAB提供了多种绘图函数,包括plot、scatter、bar等。

这些函数能够绘制线图、散点图、柱状图等不同类型的图形,便于展示各种数据的分布和趋势。

1. 线图线图是常用的一种数据可视化方式,它通过连接数据点来展示数据的变化趋势。

在MATLAB中,可以使用plot函数创建线图。

例如,以下代码可以绘制一个简单的线图:```matlabx = 1:10;y = sin(x);plot(x, y);```通过设置不同的线型、颜色和标记,我们可以进一步定制线图的样式,使其更具辨识度。

2. 散点图散点图用于展示数据点的分布情况,常用于观察数据之间的关系。

在MATLAB中,可以使用scatter函数创建散点图。

以下是一个简单的例子:x = rand(100, 1);y = rand(100, 1);scatter(x, y);```通过调整点的大小、颜色和形状,我们可以更好地展示多维数据之间的关系。

3. 柱状图柱状图用于比较不同类别或组之间的数据大小差异。

在MATLAB中,可以使用bar函数创建柱状图。

以下是一个示例:```matlabdata = [3, 5, 2, 7];bar(data);```通过设置不同的颜色和样式,我们可以使柱状图更加直观、易于理解。

二、图形属性设置为了使数据可视化更具吸引力和表达力,MATLAB提供了丰富的图形属性设置功能。

通过调整这些属性,我们可以改变图形的样式、颜色、标记等,使其更好地展示数据。

1. 图形样式设置MATLAB允许用户自定义图形的样式,包括线形、线宽、颜色等。

例如,以下代码可以绘制一条红色的虚线:x = 0:0.1:2*pi;y = sin(x);plot(x, y, '--r');```通过设置不同的样式,我们可以使图形更具辨识度和美观度。

matlab实验心得总结

matlab实验心得总结

matlab实验心得总结在通过完成一系列的Matlab实验后,我对这个强大的数学计算软件有了更深入的认识。

通过这些实验,我不仅学到了如何使用Matlab进行数据处理和分析,还体会到了它在科学研究和工程应用中的广泛使用。

实验一:Matlab基础操作在第一次接触Matlab时,我首先学习了它的基本操作。

Matlab提供了友好的用户界面和丰富的命令工具,使得数据处理变得简单且高效。

在实验中,我学会了如何定义变量、进行基本的数学运算和使用矩阵操作等。

这些基础操作为后续的实验打下了坚实的基础。

实验二:数据可视化数据可视化在科学研究和工程领域中起着重要的作用。

在这个实验中,我学会了如何利用Matlab绘制各种图形,如折线图、散点图和柱状图等。

通过调整图形的样式和颜色,使得数据更加直观和易于理解。

同时,我还学会了如何添加标题、坐标轴标签和图例,使得图形具有更好的可读性。

实验三:模拟与仿真Matlab不仅可以进行数据处理和图形绘制,还可以进行模拟和仿真。

在这个实验中,我学会了如何使用Matlab进行数学模型的建立和仿真。

通过设定合适的参数和方程,我可以模拟出各种现实世界中的物理、生物和工程现象。

这对于科学研究和工程设计具有重要的意义。

实验四:信号处理信号处理是Matlab的一个重要应用领域。

在这个实验中,我学会了如何使用Matlab对信号进行分析和处理。

通过应用不同的滤波器,我可以去除信号中的噪声和干扰,提取出感兴趣的信息。

同时,我还学会了如何进行频域分析,通过傅里叶变换将信号转换到频率域,进一步分析信号的频谱特性。

实验五:数值计算Matlab还提供了强大的数值计算功能。

在这个实验中,我学会了如何使用Matlab进行数值计算和优化。

通过使用不同的数值求解方法,我可以解决复杂的数学方程和优化问题,得到精确的计算结果。

这对于科学研究和工程计算具有重要的价值。

总结起来,通过这些实验,我对Matlab的应用能力有了明显的提升。

实验4、matlab的计算可视化和GUI设计

实验4、matlab的计算可视化和GUI设计

p345subplot(2,2,1)t1=0:0.1:2;y1=sin(2*pi*t1);plot(t1,y1);title('y=sin(2\pit)')练习:subplot(2,2,2)t2=0:0.1:2;y2=[exp(-t2);exp(-2*t2);exp(-3*t2)]; plot(t2,y2)axis([0 2 -0.2 1.2]);title('y=e-t,y=e-2t,y=e-3t')练习:subplot(2,2,3);t3=[0 1 1 2 2 3 4]; y3=[0 0 2 2 0 0 0]; plot(t3,y3);axis([0 4 -0.5 3]); title('脉冲信号')练习:subplot(2,2,4);t4=0:0.1:2*pi;plot(sin(t4),cos(t4));axis([-1.2 1.2 -1.2 1.2]);axis equal;title('圆')练习:P346x=0:0.1:20;zeta=0y1=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta));plot(x,y1)zeta=0.3;y2=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta));hold onplot(x,y2,'r:')zeta=0.5;y3=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta));plot(x,y3,'g*')zeta=0.707;y4=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta));plot(x,y4,'m-')title('二阶系统曲线')legend('\zeta=0','\zeta=0.3','\zeta=0.5','\zeta=0. 707')grid ongtext('\zeta=0')gtext('\zeta=0.3')gtext('\zeta=0.5')gtext('\zeta=0.707')ginput(3)zeta =ans =2.6037 0.903513.1106 2.00294.2166 1.0380P347h_fig=gcfh_axis=gcah_line1=gcoh_title=get(gca,'title')h_text2=findobj(h_fig,'string','\zeta=0.3') h_fig =1h_axis =151.0018h_line1 =1h_title =152.0018h_text2 =Empty matrix: 0-by-1set(h_line1,'linewidth',5)set(h_axis,'xgrid','off')set(gca,'ytick',[0 0.25 0.5 1.0 1.25 1.5 1.75 2.0])set(h_title,'color','red','fontsize',13)set(h_text2,'color','red')??? Undefined function or variable 'h_axis'.P349x=0:0.1:20;y1=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta));y2=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta));y3=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta));y4=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta));y=[y1;y2;y3;y4];z=[ones(size(x))*0;ones(size(x))*0.3;ones(siz e(x))*0.5;ones(size(x))*0.707];plot(x,x,x,x)surf(x,x,x,x)??? Input argument "n" is undefined.Error in ==> zeta at 12Z = double(zeta(sym(n),sym(X)));P350x=0:0.3:2*pi;y=sin(x);subplot(2,2,1)bar(x,y,0.5)axis([0,2*pi,-1.2,1.2])subplot(2,2,2)fill(x,y,'r')subplot(2,2,3)stairs(x,y)subplot(2,2,4)stem(x,y)P350guide。

利用Matlab进行数据可视化和交互式绘图的指南

利用Matlab进行数据可视化和交互式绘图的指南

利用Matlab进行数据可视化和交互式绘图的指南数据可视化和交互式绘图是现代科学与工程领域中不可或缺的工具。

近年来,Matlab成为了许多研究人员和工程师首选的软件平台,其强大的绘图和可视化功能得到了广泛的认可。

本文将为您介绍一些利用Matlab进行数据可视化和交互式绘图的指南。

一、Matlab的基本绘图功能Matlab是一种矩阵计算引擎软件,其具有丰富而强大的绘图功能。

通过简单的命令,您可以生成各种各样的静态图表,如折线图、散点图、饼图等。

在Matlab 中,您可以使用plot函数来生成折线图,scatter函数来生成散点图,pie函数来生成饼图等。

这些基本的绘图函数可以通过调整参数来实现不同的效果,例如改变线条的颜色、粗细和样式,设置图表的标题和坐标轴标签等。

二、Matlab的高级绘图功能除了基本的绘图功能,Matlab还提供了许多高级绘图功能,如三维图形绘制、图像绘制、等高线图等。

在通过plot函数绘制三维图形时,您可以利用meshgrid 函数生成网格数据,并使用surf函数将数据映射到三维图形上。

对于图像绘制,您可以使用imshow函数显示图像,并通过imcontour函数绘制图像的等高线。

Matlab还支持对图形进行自定义颜色映射以及添加图例、文本和注释等操作,以满足不同绘图需求。

三、Matlab的交互式绘图功能除了静态图表,Matlab还提供了丰富的交互式绘图功能,使用户能够在图表上进行交互和操作。

通过使用figure函数,您可以创建一个图形窗口,并在窗口上绘制图表。

在图表窗口中,您可以使用鼠标进行缩放、平移和旋转等操作,以便更好地查看和分析数据。

此外,Matlab还支持用户自定义交互式工具栏和菜单,以及使用键盘和鼠标事件来响应用户的操作。

四、Matlab的数据可视化工具箱为了满足不同用户的需求,Matlab还提供了丰富的数据可视化工具箱,如Statistics and Machine Learning Toolbox、Image Processing Toolbox、Signal Processing Toolbox等。

在Matlab中进行高维数据可视化的方法和工具

在Matlab中进行高维数据可视化的方法和工具

在Matlab中进行高维数据可视化的方法和工具高维数据集是当今科学研究和工程领域中的一个重要问题。

理解和分析这些数据对于发现潜在模式和规律非常关键。

然而,高维数据的可视化是一个具有挑战性的任务,因为人类眼睛只能直观地感知三维空间。

为了克服这个问题,Matlab提供了多种方法和工具,用于高维数据可视化。

首先,一种常用的方法是降维。

降维可以将高维数据转换为低维空间,使得数据的可视化变得可行。

常见的降维方法包括主成分分析(PCA)和多维尺度分析(MDS)。

PCA通过找到数据中的主要特征来减少维度,并通过绘制数据在主成分空间中的投影来可视化数据。

MDS是一种基于距离矩阵的降维方法,它试图在低维空间中保持数据点之间的原始距离关系。

其次,另一种常用的方法是使用散点图矩阵。

散点图矩阵是一个用于可视化多个变量之间关系的矩阵。

在Matlab中,可以使用“scattermatrix”函数来创建散点图矩阵。

该函数将每个变量两两组合,以散点图的形式呈现。

这样,我们可以通过观察散点图矩阵中的模式和相关性来获得关于高维数据的洞察。

此外,Matlab还提供了一些特定领域的可视化工具。

例如,在生物领域中,可使用Bioinformatics Toolbox的heatmap函数创建热图。

热图可以将高维数据以矩阵的形式呈现,其中颜色表示不同数据点的值。

通过调整颜色映射和标签,我们可以直观地观察到数据之间的模式和趋势。

另一个常用的高维数据可视化工具是t-SNE。

t-SNE是一种在低维空间中可视化高维数据的非线性方法。

Matlab中可使用tsne函数实现t-SNE。

t-SNE通过在高维空间中保持数据点之间的距离关系,将数据投影到二维或三维空间中。

通过观察t-SNE图,我们可以发现数据中的集群和分布模式。

除了这些方法和工具之外,还有许多其他可供选择的方法和工具。

例如,可以使用Matlab的surfc函数创建三维曲面图,该函数允许在三维空间中可视化多个变量之间的关系。

如何利用MATLAB进行数据可视化

如何利用MATLAB进行数据可视化

如何利用MATLAB进行数据可视化引言:随着大数据时代的到来,数据可视化变得越来越重要。

数据可视化能够将复杂的数据以图形的方式展现出来,使得用户能够快速准确地理解数据中的信息和模式。

MATLAB是一种强大的工具,能够帮助用户进行数据可视化分析。

在本文中,我们将探讨如何利用MATLAB进行数据可视化。

一、选择适合的图表类型数据可视化的第一步是选择适合的图表类型。

MATLAB提供了丰富多样的图表类型供用户选择,包括折线图、散点图、柱状图、饼图等。

对于不同类型的数据,选择合适的图表类型能够更好地展现数据的特征和关系。

二、数据导入与准备在进行数据可视化之前,需要将数据导入到MATLAB环境中并进行相应的准备。

MATLAB支持多种数据格式的导入,如Excel、CSV、TXT等。

用户可以使用MATLAB提供的数据导入工具或者编写代码来实现数据的导入。

导入数据后,需要对其进行必要的清洗和预处理,例如去除空值、处理异常值等。

三、基本图形绘制当数据导入到MATLAB环境中并进行了准备后,便可以开始进行基本图形的绘制。

例如,可以使用plot函数绘制折线图,scatter函数绘制散点图,bar函数绘制柱状图等。

通过调整图表的颜色、线型、点型等属性,可以使得图表更加美观清晰。

四、高级图形绘制除了基本图形之外,MATLAB还提供了许多高级图形绘制的函数和工具箱。

例如,使用histogram函数可以绘制直方图,boxplot函数可以绘制箱线图,heatmap函数可以绘制热力图等。

这些高级图形可以更加全面地呈现数据的分布、变化和关系,帮助用户更深入地理解数据。

五、图表的注释与标记为了使得图表更加易懂和具有解释性,可以对图表进行注释和标记。

MATLAB 提供了多种方式来实现图表的注释和标记,如添加标题、轴标签、图例、文字说明等。

这些注释和标记可以帮助用户更好地传达数据的含义和结论。

六、动态数据可视化为了更好地展现数据的变化和趋势,可以利用MATLAB的动态数据可视化功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四数据可视化方法[实验目的]1.掌握曲线绘制的基本技法和指令,会使用线形、色彩、数据点标记表现不同数据的特征,掌握生成和运用标识注释图形。

2.进一步掌握函数编写及数据可视化方法。

[实验原理]MATLAB 提供了相当强大的可视化指令,通过这些指令,我们可以非常简单地实现数据的可视化。

首先我们来看离散数据和离散函数的可视化方法。

对于离散实函数y n=f(x n),当x n以递增(或递减)次序取值时,根据函数关系可以求得同样数目的y n,当把这两组向量用直角坐标中的点次序图示时,就实现了离散函数的可视化。

当然这种图形上的离散序列所反映的只是某确定的有限区间内的函数关系,不能表现无限区间上的函数关系。

通常我们可以采用plot 或者stem 来实现。

只是需要注意的是使用plot 时,需要使用星号或者点等标识来表示数据点,比如plot(x n,y n,’r*’,’MarkerSize’,20),就表示用字号20的红色星点来标识数据点,此时为了便于观察,通常随后加上一条语句“grid on”,即给图形加上坐标方格。

而采用stem 标识数据点的格式是stem(x n,y n)。

连续函数的可视化与离散函数可视化类似,也必须先在一组离散自变量上计算相应的函数值,并把这一组“数据点”用点图示。

但这些离散的点不能表现函数的连续性。

为了进一步表示离散点之间的函数函数情况,MATLAB 有两种常用处理方法:一是对区间进行更细的分割,计算更多的点,去近似表现函数的连续变化;或者把两点用直线连接,近似表现两点间的(一般为非线性的)函数形状。

但要注意,倘若自变量的采样点不足够多,则无论哪种方法都不能真实地反映原函数。

对于二维数据,常用指令仍旧是plot。

对于离散数据,plot指令默认处理方法是:自动地把这些离散数据用直线(即采用线性插值)连接,使之成为连续曲线。

对于三维图形的表示,通常有plot3 等指令。

通常,绘制二维或三维图形的一般步骤如下表所示:说明:●步骤1、3 是最基本的绘图步骤,一般来说,由这两步所画出的图形已经具备足够的表现力。

至于其他步骤,并不完全必需。

●用户可根据自己需要改变上面绘图步骤,并不必严格按照执行。

●步骤2 一般在图形较多情况下使用,此时需要指定图形窗、指定子图。

●步骤8 涉及图柄操作,需要对图形对象进行属性设置,较为复杂。

●MATLAB 提供了交互式图形编辑功能,可方便地对图形精细修饰。

plot 等绘图指令的典型调用格式为:plot(t,y,’s’)。

其中s 是用来指定线型、色彩、数据点形的选项字符串。

S 的合法取值如下所示,格式形如’r+’。

如果缺省,此时线型、色彩、数据点形将由MATLAB 默认设置确定。

plot 进一步的使用可参看帮助文档。

s 可用来指定的线形分别有:“-”实线,“:”虚线,“-.”点划线,“--”双划线。

s 可用来指定的色彩分别有:b-蓝,g-绿,r-红,c-青,y-黄,w-白,k-黑。

s 可用来指定的数据点形有:“.”实心黑点,“+”十字符,“^”朝上三角符,“v”朝下三角符,“d”菱形符,“p”五角星符等。

常用的坐标控制指令axis 使用是最多的,比如axis([x1,x2,y1,y2])可人工设定坐标范围,axis off 可取消轴背景,axis equal 横纵轴采用等长刻度等。

其他使用见帮助。

需要特别指出的是,当遇到在已经存在的图上再绘制一条或多条曲线,可使用hold on 指令,可保持当前轴及图形保持不被刷新,并准备接收此后绘制的新曲线,hold off 则 取消此功能。

对于想画多个独立的图形,则会用到figure(n)指令,这里n 为整数,可顺 序从1 向后排。

如果想在特定图形中布置几幅独立的子图,则会用到subplot(m,n,k), 即在(m ×n )幅子图中的第k 幅成为当前图;subplot(‘position ’,[left botton width height]),表示在指定位置上开辟子图,并成为当前图。

使用clf 指令可清除图 形窗的内容。

另外MATLAB 还提供了ginput 、gtext 、legend 等交换指令。

[x,y]=ginput(n),可用鼠标从二维图形上获取n 个点的数据坐标(x,y),该指令只 适用于二维图形,在数值优化、工程设计中十分有用。

通常在使用前先对图进行局部放大处 理。

[实验内容]一.仿照运行,体会数据可视化方法。

1.已知n=0,1,⋯⋯,12,y=|(n-6)|-1,运行下面程序,体会离散数据可视化方法。

% 用plot 实现离散数据可视化n=0:12; %产生一组自变量数据 y=1./abs(n-6); %计算相应点的函数值plot(n,y,'r*','MarkerSize',20) %用红花标出数据点 grid on %画坐标方格% 用stem 实现离散数据可视化 n=0:12;y=1./abs(n-6); stem(n,y)2.下面时用图形表示连续调制波形y = sin(t )sin(9t ) ,仿照运行,分析表现形式 不同的原因。

cleart1=(0:11)/11*pi; y1=sin(t1).*sin(9*t1);t2=(0:100)/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)')二.编程实现。

1.用图形表示连续调制波形y = sin(t)sin(9t) ,过零点及其包络线,如下图所示。

t=(0:pi/100:pi)';y1=sin(t)*[1,-1];y2=sin(t).*sin(9*t);t1=pi*(0:9)/9;y3=sin(t1).*sin(9*t1);plot(t,y1,'r:',t,y2,'b--',t1,y3,'go');title('sin(t1).*sin(9*t1);');2. 励条件下二阶系统归一化响应可表现为)sin(11)(θββξ+-=-t e t y t ,其中ξ为阻尼系数, 21ξβ-= ,)1(2ξξθ-=arctg 。

请用不同的颜色或线型,在同一张图上,绘制ξ= 0.2 : 0.2 : 2.0取值下系统在t ∈[0,18] 区间内的响应曲线,并要求用ξ= 0.2和ξ=2.0对它们相应的两条曲线进行醒目的文字标志。

syms k;t=0:0.1:18; hold on;%kz={'-r' '.g' 'b' 'c' 'm' 'y' 'k' 'w' ':r' ':g'}; kz='r g :b c m y k w r g r:'; i=0;for k=0:0.2:2; i=i+1; clear y;a=sqrt(1-k^2);b=atan(sqrt(1-k^2)/k); if k==1y=(exp(t)-t-1)./exp(t); %plot(t,y,kz(i)) elsey=1-1/a*exp(-k*t).*sin(a*t+b); plot(t,y,kz(i)) end%plot(t,y,kz(i))text(14,0.9,'阻尼系数是2') endxlabel('t'); ylabel('y(t)');hold off3. 编写函数[x,n]=stepseq(n0,n1,n2),实现: ⎩⎨⎧<≤≤≤=021001)(n n n n n n n u n 为整数并编写脚本文件实现:x (n ) = n ⋅[u (n ) − u (n −10)] +10e -0.3(n-10) [u (n −10) − u (n − 20)], 0 ≤ n ≤ 20要求在脚本文件中调用stepseq 函数,最后绘出序列x (n ) 在给定区间的波形图。

function [x,n]=stepseq(n0,n1,n2) n=n1:n2; x=n>n0;[u:n1]=stepseq(0,0,20); [u10,n10]=stepseq(10,0,20); [u20,n20]=stepseq(20,0,20); n=0:20;x=n.*(u-u10)+(10*exp(-0.3*(n-10))).*(u10-u20);stem(x)4.编写一个函数文件[y,n]=sigadd(x1,n1,x2,n2),实现两个对应样本之间的相加,其中x1 是长度为n1 的序列,x2 是长度为n2 的序列,n1、n2 分别是x1、x2 的位置信息(n1、n2 均为整数),如:n1={ -3,-2,-1,0,1,2,3,4},对应的x1={ 2, 3, 1,4,1,3,1,2};n2={-4,-3,-2,-1,0,1,2},对应的x2={ 1, 3, 2, 5,1,3,4}。

当调用函数[y,n]=sigadd(x1,n1,x2,n2)时,我们应该得到:n={-4,-3,-2,-1,0,1,2,3,4},对应的y={ 1, 5, 5, 6,5,4,7,1,2}。

仔细观察sigadd 函数的功能。

编好函数文件程序后,请在命令窗口调用,验证正确性,记录验证结果。

function [y,n]=sigadd(x1,n1,x2,n2)n=(min(n1(1),n2(1)):max(n1(end),n2(end));y1=zeros(1,length(n));y2=y1;y1=(find((n>=n1(1)&(n<=n1(end))==1))=x1;y2=(find((n>=n2(1)&(n<=max(n2))==1))=x1;y=y1+y2;end。

相关文档
最新文档