如何用matlab画离散的函数图像

如何用matlab画离散的函数图像,第1张

第一步、打开matlab,在命令行窗口中输入“

x=[1 6 7 9 10 12]

y=[2 7 9 12 16 19]

”创建离散点数据,需要搭行卖注意x,y长度一致,如下图所示:

第二步、输入plot(x,y,'r.'),其中r是代表红色,后面的知逗点是绘制的离散点形状,如下图所示:

第三步、按回车键之后,可以看到已经画出了离散点图,如下图所示:

方法二:通过带毁scatter函数画离散点图

第一步、在命令行窗口中输入“scatter(x,y,'k*')”,如下图所示:

第二步、按回车键之后,可以看到生成了离散点图,如下图所示:

摘要:在MATLAB上,用傅立叶高中变换、自相关函数法以及最大熵估计法对一组离散的时间序列进行谱分析,并作出对应的频谱图,进行比较。关键词:离散时间序列,MATLAB,傅立叶变换,自相关函数法,最大熵估计(MESE) 1.概述:利用傅立叶变换,自相关函数法以及最大熵估计法对离散数据进行谱分析,找到数据的相关特性,并比较几种方法的特点。 2.谱分析原理: 时间序列是以时间为参考基准进行记录的,从直观图上无法获得数据内部的基本特性,通过谱分析的方法,将时域的数据转换到频域上去,通过分析频域的特征来获取数据的特性,从而达到分析数据的目的。 可以用傅立叶变换、自相关函数法、最大熵估计三种方法,将时域的数据转换到频域上进行分析。 利用MATLAB的相关工具来实现。 3.MATLAB实现:3.1数据说明:程序中所用的数据是由xn=A1*sin(f1*2*pi*n)+A2*sin(f2*2*pi*n)+e (e为白噪声)来产生的,其中:n=0:0.001:1A1=4A2=4f1=25f2=503.2MATLAB计算源程序 1)创建.M文件,对离散时间序列用傅立叶变换和自相关法进行谱分析,代码如下: function FXi(data) figure(1)Fs=1000subplot(3,1,1)t=0:1/Fs:1plot(1000*t(1:50),data(1:50))xlabel('time(mm)')title('一元时间序列直观图') Y=fft(data,512)Pyy2=Y.*conj(Y)/512f2=1000*(0:256)/512subplot(3,1,2)plot(f2,Pyy2(1:257))title('离散数据的傅立叶频谱图')xlabel('频率(Hz)') Fs=1000NFFT=1024Cx=xcorr(data,'unbiased')Cxk=fft(Cx,NFFT)Pxx=abs(Cxk)t=0:round(NFFT/2-1)k=t*Fs/NFFTP=10*log10(Pxx(t+1))subplot(3,1,3)plot(k,P)title('谱估计的自相关函数法')xlabel('频率(Hz)') 2)创悔庆建.M文件,用最大熵法(MESE)对数据进行谱分析,代码如下: function MESE(data)figure(2)Fs=500NFFT=1024pyulear(data,20,NFFT,Fs)3)载入数据(要具有一定的长度),则输出结果为:4.结果与讨论: 由三种方法得到的频谱图表达的信息是类似的,明确的指出了离散数据中的信号特点,可以从谱分析图中得到数据的周期,与数戚前山据的原函数拟和的很好。但从图形的直观效果来看,用傅立叶转换的方法得出来的谱分析图对于数据特性的表达更明确,直观。

运行没有错误呀,让旁我直接复制过去的,可以直接运行胡滑早,你看我运行的结果贴在下边。对了,你是不是把function 函数也输入了command window了?不是在file中的M文件中建立的,或者是建立了M文件裤雀而没有保存就在command window中运行下面的subplot 221 以后的程序了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12562808.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存