matlab画时间序列图折线图,有数据

查看: 1252|回复: 1
如何将一列时间序列数据分拆成多列数据折线图?
阅读权限10
在线时间 小时
本帖最后由 bonniehzl 于
10:53 编辑
此前发过一次帖子,现补上EXCEL数据重发一次:
有一列很长的时间序列数据,比如从年的生猪价格周数据,通常只能画一条折线的折线图。
但是,为了要看清季节性效应,想要按照年份分成几组数据,从而画成如附件中的图2的样式,如何实现?
也就是说,需要的效果是,横轴是1月1日-12月31日,然后每年一条折线,而且需要EXCEL自动实现,不想每次都手动。。。。
(23.83 KB, 下载次数: 3)
10:46 上传
一条折线的图
(23.3 KB, 下载次数: 5)
10:46 上传
几条折线的图
阅读权限90
在线时间 小时
透视图。。。。。。。。。
最新热点 /1
当当网每满200-100元,京东每满100-50元,ExcelHome畅销书均参与本次优惠大促,当当活动时间:即日起至6月2日,京东活动仅限今天,机会不容错过!
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师Matlab画时间序列图/绘制子图 - Z.L.G - 博客园
随笔 - 28, 文章 - 4, 评论 - 0, 引用 - 0
matlab入门阶段,需要用matlab画时间序列图,比较简单,可能以后看起来会感觉很小儿科,但是一些细节上的操作害怕有些遗漏,特此记录。
1、可以利用excel打开时间序列文件,截取需要操作的数据所在的区域,其实在matlab中也可以截取。
2、在Input Data之后,将output Type修改一下
3、Import Selection即可。
4、因为输出的是列向量,所以要在下面的代码中进行转置操作。
5、举一反三,仿照以下代码,进行适当修改即可画出时间序列图。
& & & 可以在画出图的axes properties中进行进一步的完善。
<span style="color: # y = VarName1;
//是某一个列向量
<span style="color: # y = y';
//列向量转化为行向量
<span style="color: # t = <span style="color: #:length(y);
//t是一个从1到y中元素个数的行向量。
<span style="color: # // set(gca,'XTick',[t(1):1:t(end)]); 可以在Axes Properties中设置
<span style="color: # subplot(<span style="color: #,<span style="color: #,<span style="color: #); plot(t,N);
<span style="color: # //subplot(m,n,p)表示有m行子图,n列子图,第p个子图怎么用matlab画一个时间序列的自相关函数图-学路网-学习路上 有我相伴
怎么用matlab画一个时间序列的自相关函数图
来源:互联网 &责任编辑:李志 &
如何用matlab画一个动态图?给举例吧R=3;r=1;u=linspace(0,7*pi/4);v=linspace(0,2*pi);[u,v]=meshgrid(u,v);x=(R+r*cos(v).*sin(u*4/7)).*cos(u);y=(R+r*cos(v).*sin(u*4/7)).*sin(u);z=r*sin(v).*sin(u*4/7);%figur...怎么用MATLAB画出阶跃信号通常,我们用它来表示信号的定义域,简化信号的时域表示形式。例如:可以用两个不同延时的单位阶跃信号来表示一个矩形门信号,即在MATLAB中,可通过多种方法得到单位阶跃...如何用matlab画一组数据的折线图matlab画一组数据的折线图:1、打开Matlab软件,并在命令窗口输入矩阵A和B以及plot(A...它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C...怎么用matlab画出信号频谱分析图在命令窗口输入docfft回车后,可看到例子。%构造出信号(如已有信号,此步可省略)Fs=1000;%SamplingfrequencyT=1/Fs;%SampletimeL=1000;%Lengthofsignalt...怎么用matlab画圆;&&plot(x,y,&#39;-&#39;)&&axisequal&fill(x,y,&#39;r&#39;);&&&&&&&&%用红色填充Matlab画图效果:&...怎么用matlab画一个时间序列的自相关函数图(图2)怎么用matlab画一个时间序列的自相关函数图(图5)怎么用matlab画一个时间序列的自相关函数图(图11)怎么用matlab画一个时间序列的自相关函数图(图15)怎么用matlab画一个时间序列的自相关函数图(图25)怎么用matlab画一个时间序列的自相关函数图(图27)这是用户提出的一个学习问题,具体问题为:怎么用matlab画一个时间序列的自相关函数图我们通过互联网以及本网用户共同努力为此问题提供了相关答案,以便碰到此类问题的同学参考学习,请注意,我们不能保证答案的准确性,仅供参考,具体如下:怎么用matlab画圆;&&plot(x,y,&#39;-&#39;)&&axisequal&fill(x,y,&#39;r&#39;);&防抓取,学路网提供内容。用户都认为优质的答案:请问如何用matlab画出一个三维的正方体?可以先编写个M文件,保存;functionboxplot3(x0,y0,z0,Lx,Ly,Lz)%(x0,y0,z0)是第一个顶点的位置;(Lx,Ly,Lz防抓取,学路网提供内容。求自相关函数并作图如何用matlab来画函数图象最简单的用:ezplot('表达式')例如:画y=x就是:ezplot(&#39;y=x&#39;)画y=3X^2+2X+1就是:ezplot(&#39;y=3*X^2+防抓取,学路网提供内容。dt=.1;怎么用matlab画心形线-cos(2.*t));y=a.*(2.*sin(t)-sin(2.*t));plot(x,y)MATLAB(矩阵实验室)是MATrixLABoratory的缩写,是一款由美防抓取,学路网提供内容。t=[0:dt:100];如何用matlab画平滑的曲线?%使用样条插值就可以画出平滑曲线了,添加这样几行代码X=0:0.001:7.8;Y=spline(x,y,X);plot(X,Y)防抓取,学路网提供内容。x=cos(t);CAD中MA指令是干什么用的如何使用?答:MA是特性匹配快捷键,也就是格式刷,比如你想让B线条和A线条属性一样,那么步骤是,点击A线条,输入ma回车,点击B线条,这样B线条的属性就和A线条一样了防抓取,学路网提供内容。[a,b]=xcorr(x,'unbiased');在法语中,怎样用Ma,mon,mes,急啊答:Mon后面接阳性名词,比如说Monpere,monsoleil等。Ma大部分情况后面接阴性名词,比如说Mamere,Masoeur。但是当遇到名词以元音字防抓取,学路网提供内容。plot(b*dt,a)ma'am的使用对象问:未婚还是已婚,年龄多大左右?还是全可以叫?答:原则上是你看不出来未婚已婚的都可以叫ma'am...但是当年我给大学招办打电话的时候(暗示我才是高中生)人家也都喊ma'am...防抓取,学路网提供内容。详情查看xcorr的Matlab帮助~ma是什么,怎么运用答:MA是特性匹配快捷键,也就是格式刷。比如你想让B线条和A线条属性一样,那么步骤是,点击A线条,输入ma回车,点击B线条,这样B线条的属性就和A线条一样了防抓取,学路网提供内容。请问如何用matlab画出一个三维的正方体?可以先编写个M文件,保存;functionboxplot3(x0,y0,z0,Lx,Ly,Lz)%(x0,y0,z0)是第一个顶点的位置;(Lx,Ly,Lz)是长方体的长宽高.x=[x0x0x0x0x0+Lxx0+Lxx0+Lxx0+Lx];y=...如何用matlab来画函数图象最简单的用:ezplot('表达式')例如:画y=x就是:ezplot(&#39;y=x&#39;)画y=3X^2+2X+1就是:ezplot(&#39;y=3*X^2+2*X+1&#39;),注意*不能省。画X^2+Y^2=1就是:ezplot(&#39...怎么用matlab画心形线-cos(2.*t));y=a.*(2.*sin(t)-sin(2.*t));plot(x,y)MATLAB(矩阵实验室)是MATrixLABoratory的缩写,是一款由美国TheMathWorks公司出品的商业数学软件。MATLAB是一种用于算法...如何用matlab画平滑的曲线?%使用样条插值就可以画出平滑曲线了,添加这样几行代码X=0:0.001:7.8;Y=spline(x,y,X);plot(X,Y)
相关信息:
- Copyright & 2017 www.xue63.com All Rights Reserved后使用快捷导航没有帐号?
只需一步, 快速开始
只需一步,快速开始
查看: 5196|回复: 14
请教如何对时间序列数据进行插值?
在线时间 小时
登录后查看更多精彩内容~
才可以下载或查看,没有帐号?
请教大侠: 现在我的时间序列的数据,其分辨率为5年,我想将其插值为一年的分辨率,请问如何实现啊?
密码修改失败请联系qq:
在线时间 小时
那样这数据是不是也太假了啊&&插值方法很多 以前深深有讨论过 拉格朗日插值之类的都可以
密码修改失败请联系qq:
在线时间 小时
&&#25104;&#38271;&#20540;: 22005
mofangbao 发表于
那样这数据是不是也太假了啊&&插值方法很多 以前深深有讨论过 拉格朗日插值之类的都可以
同意1楼的,5年插值一年的就不要搞的,真的没意义,昨天和朋友讨论的时候还提到这个问题,打上马赛克的影片去掉马赛克是不对的···,当然,如果马赛克很小(分辨2年的,插值1年的···),或许可以还原一点点···
密码修改失败请联系qq:
在线时间 小时
言深深 发表于
同意1楼的,5年插值一年的就不要搞的,真的没意义,昨天和朋友讨论的时候还提到这个问题,打上马赛克的影 ...
谢谢楼上两位专家!
我见人家还用10年的重采样成1年的呢。 这些数据是paleoclimate数据,这样做是为了重建古气候。
你也知道古气候数据很难精确到年分辨率的,所以这个插值还是可行的,就是不知道如何插。用线性吧,但year和data之间不存在关系啊。
请专家指导啊!
密码修改失败请联系qq:
在线时间 小时
言深深 发表于
同意1楼的,5年插值一年的就不要搞的,真的没意义,昨天和朋友讨论的时候还提到这个问题,打上马赛克的影 ...
深深一搞完博士就讨论马赛克啊
密码修改失败请联系qq:
在线时间 小时
&&#25104;&#38271;&#20540;: 22005
liuzf406 发表于
谢谢楼上两位专家!
我见人家还用10年的重采样成1年的呢。 这些数据是paleoclimate数据,这样做是为了重 ...
重建古气候是这么重建吗?ps:研究古气候分辨率或许也不需要那么高···有一点可以肯定的是:这种插值肯定不准确,我很怀疑你说的那篇文章怎么能通过审稿的···建议你换一个思路,重新找资料看看哈,如果你搞古气候候看看资料
密码修改失败请联系qq:
在线时间 小时
&&#25104;&#38271;&#20540;: 22005
mofangbao 发表于
深深一搞完博士就讨论马赛克啊
亲,低调啊,万一被kill了···你就看不见我了···
密码修改失败请联系qq:
在线时间 小时
言深深 发表于
重建古气候是这么重建吗?ps:研究古气候分辨率或许也不需要那么高···有一点可以肯定的是:这种插值肯 ...
呵呵,我用的数据就是来自这里啊。但几千年的东西,很难精确到年啊。所以插值还是必要的,请看这个发在nature geoscience的文章:。他用的线性插值,我觉得不准。
您能指导一下如何进行插值吗?
密码修改失败请联系qq:
在线时间 小时
&&#25104;&#38271;&#20540;: 22005
liuzf406 发表于
呵呵,我用的数据就是来自这里啊。但几千年的东西,很难精确到年啊。所以插值还是必要的,请看这个发在na ...
我没有权限阅读整篇文章,不清楚具体如何操作···
一般这样的时间序列就以线性为好,除此以外的当然有别的差值,比如:,线性插值的程序比较多,论坛自己搜所一下就可以了
密码修改失败请联系qq:
在线时间 小时
言深深 发表于
我没有权限阅读整篇文章,不清楚具体如何操作···
一般这样的时间序列就以线性为好,除此以外的当然有 ...
谢谢,深深同学!
我给你附上了这篇文章!
(464.64 KB, 下载次数: 23)
08:24 上传
点击文件名下载附件
密码修改失败请联系qq:[转载]用matlab从通达信中生成日线与5分钟线数据的时间序列对象
&量化交易,首先要有数据,没有数据,也量化不起来。作为个人,要想收集起必要的数据,形成自己的金融数据库,是非常困难的。尤其这些数据都是变动的,或者不断增加的。所以机构在这些方面本来有很大的优势。
金融数据数据首先就想到到行情数据,这还是比较容易收集的,比如股票行情,因为多数证券公司或者提供商,都免费提供level
I的行情,我们可以比较方便地取得日线数据,分钟线数据,就是每天需要维护一下。有条件的话,还可以收集到实时的数据(可以从行情软件中用接口读取,也可以从一些网站上的实时行情中取得)。
这里,我把从通达信目录下读取日线和5分钟线数据,做成了两个matlab函数:getday('通达信安装目录','市场','股票代码')和get5min('通达信安装目录','市场','股票代码'),其中目录不要最后一个'',市场深圳为'sz',上海为'sh',股票代码为六位字符。
使用时只要放在可以搜索的路径下,就可以直接调用。调用结果生成一个金融时间序列对象,而不是一系列数组。在matlab中金融时间序列对象已经有许多可用的工具函数,可以方便的使用,如果是数组的话,还要考虑日期时间,非常麻烦的。
先说一下通达信的日线的数据结构,这个已经有不少人讨论过,我仅仅列出吧。
通达信日线数据的每个记录为32字节,结构如下:
日期: uint32 %把年月日字符串直接变成了整数字。在金融时间序列中要做处理和转换
开盘价: uint32 %开盘价要除以100
最高价: uint32 %最高价要除以100
最低价: uint32 %最低价要除以100
收盘价: uint32 %收盘价要除以100
成交金额:float %成交金额是有小数的,这里用float,与其它字段不一样,matlab处理有些麻烦
成交量: uint32 %成交量单位是股,如果 要变成手的话要除以每手的单位
备用: uint32&&
%好象在指数的日线中用到,具体作用再研究。
看了一些人写的读取方法,多数使用循环,其实在matlab中循环效率低,可以直接使用矩阵(矢量)读取,不用循环处理,一次就可以读出。但因为矢量或者矩阵都是同一种数据类型(结构和元包除外),这里有uint32和float两种类型,不能一次读取。所以分两次读取,一次用uint32,一次用float,注意读取float时,先用fseek(文件句柄,20,-1)跳过了第一条记录的从日期到收盘价的20个字节,再用fread(文件句柄,数组,'float=&double',28),其中28是每读一次跳过的字节数,因为已经读了4
个字节(float),所以只有32-4=28了。这里跳过的单位一定是字节数,而不是读的时候定义的变量类型,有些文章和书上对此的解释是错的。我上过当,后来还是直接在matlab中查在线帮助才搞清楚的。程序见
再来看5分钟线数据结构,通达信的5分钟线数据结构网上也有人写过,不过是错的,至少在现在版本6下,我发现是错的。下面是我确认是正确的结构。
每个记录仍然为32字节,结构如下:
日期: uint16 %设值为num,则year=floor(num/;
&&&&&&&&&&&&&&&&&&&&&&&&&&&
month=floor(mod(num,);
&&&&&&&&&&&&&&&&&&&&&&&&&&&
day=mod(mod(num,);
时间: uint16 %从00:00:00开始的分钟数。
开盘价: float %有的文章中把四个价格都当成了uint32,是错的
最高价: float
最低价: float
收盘价: float
成交金额: float
成交量: uint32 %这里没有用float,因为没有小数。但数据类型不一,处理也有点麻烦。
备用: uint32
这个处理比较累,我干脆读了两次,一次用uint32读,取得了日期,时间和成交量。再用float读取,得到四个价格和成交金额。最后造成一个金融时间序列变量,date包括了日期和时间。程序为
金融时间序列对象胻民来方便多了,比如可以直接用字串时间来提取一段数据,可以直接用candle做K线图,金融时间序列工具包中的函数都可以用,很方便的了。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 matlab如何画折线图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信