楼主: 子_涓
1740 7

[有偿编程] 求助一段matlab程序 [推广有奖]

  • 9关注
  • 8粉丝

副教授

7%

还不是VIP/贵宾

-

TA的文库  其他...

城镇化与金融

威望
0
论坛币
3170 个
通用积分
0.1950
学术水平
17 点
热心指数
22 点
信用等级
18 点
经验
12787 点
帖子
710
精华
0
在线时间
318 小时
注册时间
2009-11-25
最后登录
2018-1-29

100论坛币
小妹matlab初学者,向大牛请教一段程序。
现有的数据是excel的,排列的方式如下:
2.jpg
我需要把它们重新排列成如下所示:

3.jpg

即纵向按时间排列,横向按股票代码排列,其中000024的股票2009年9月3日无价格,用0补上(由于实际数据不是仅有4天的价格,所以时间也请用程序生成,如2009-9-1至2010-9-1,而非手动输入)。时间变量和股票代码变量均可省去(如果要保留的话是不是得创建cell数据?这种数据我还不太会用)。
请各位大牛支招啊,小妹先行谢过!另附论坛币奖励!

1.jpg (37.92 KB)

1.jpg

最佳答案

fayestat 查看完整内容

如果时间或股票代码储存的是字符型的话,是需要用cell的, 用上面两位大哥提到的reshape 可以解决你提到的问题,但可能会产生一个问题,就是出现不匹配的情况,原因是数据有缺失的情况,比如你上面提到股票代码 000024 9月3号的没有。 我想有两种方法可以解决这个问题: 1.可以对数据预处理。可以看看哪些数据是缺失的,需要用0补齐,然后用reshape搞定。 2.用循环。首先要知道大概有股票数目和日期数目,这样可以确定矩阵 ...
关键词:MATLAB程序 MATLAB matla atlab Lab 程序 股票代码 Tencent Documents matlab

回帖推荐

缓缓,归 发表于8楼  查看完整内容

用reshape函数就可以啦!

amitacn 发表于7楼  查看完整内容

这个简单,先EXLREAD到MATLAB , 再取第三列data(:,3); 用reshape函数把你的向量转成你想要的矩阵OK.

本帖被以下文库推荐

沙发
fayestat 发表于 2013-4-30 15:31:44 |只看作者 |坛友微信交流群
如果时间或股票代码储存的是字符型的话,是需要用cell的,

用上面两位大哥提到的reshape 可以解决你提到的问题,但可能会产生一个问题,就是出现不匹配的情况,原因是数据有缺失的情况,比如你上面提到股票代码 000024 9月3号的没有。

我想有两种方法可以解决这个问题:
1.可以对数据预处理。可以看看哪些数据是缺失的,需要用0补齐,然后用reshape搞定。
2.用循环。首先要知道大概有股票数目和日期数目,这样可以确定矩阵的维数,最后只需用一个循环就可以搞定啦(里面需要判断哪个日期是缺失的)。

希望对你能有帮助。

使用道具

藤椅
子_涓 发表于 2013-4-30 17:41:52 |只看作者 |坛友微信交流群
为什么总是待审核啊~~~版主放假了吗?我的帖子没有敏感词汇啊。。。

使用道具

板凳
子_涓 发表于 2013-4-30 19:13:22 |只看作者 |坛友微信交流群
版主啊~~~赶快求通过啊

使用道具

报纸
子_涓 发表于 2013-4-30 22:45:46 |只看作者 |坛友微信交流群
自己顶一下

使用道具

地板
子_涓 发表于 2013-5-1 09:50:56 |只看作者 |坛友微信交流群
没有人会么,还是大家都过节啦。。。。

使用道具

7
amitacn 发表于 2013-5-15 14:27:36 |只看作者 |坛友微信交流群
这个简单,先EXLREAD到MATLAB ,
再取第三列data(:,3);
用reshape函数把你的向量转成你想要的矩阵OK.
我喜欢真诚的朋友。

使用道具

8
缓缓,归 发表于 2013-5-15 14:57:31 |只看作者 |坛友微信交流群
用reshape函数就可以啦!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-27 01:51