查看: 134|回复: 13|关注: 0

[已解决] 元胞中,年-月-日,时:分:秒转矩阵

[复制链接]

新手

19 麦片

财富积分


050


26

主题

66

帖子

0

最佳答案
变量中的cell的datetime是年月日
'2017-05-23'
'2017-05-23'
'2017-05-23'
'2017-05-23'
'2017-05-23'
'2017-05-23'
'2017-05-23'
'2017-05-23'
'2017-05-23'
'2017-05-23'

每一行都是一个胞元

变量中的cell的cell是时分秒
'12:43:46'
'12:43:47'
'12:43:48'
'12:43:49'
'12:43:50'
'12:43:51'
'12:43:52'
'12:43:53'
'12:43:54'
'12:43:55'
'12:43:56'
'12:43:57'

每一行都是一个胞元

我要怎么将年月日,时分秒转换成矩阵啊
谢了谢了啊

论坛优秀回答者

8

主题

1194

帖子

200

最佳答案
  • 关注者: 53
发表于 6 天前 | 显示全部楼层
转成什么矩阵?char矩阵?
两种方法
  1. cell2mat(A)
复制代码

  1. datestr(datenum(A))
复制代码

____________________________
double矩阵
先用split分割字符串。
然后再cell2num / cell2double
兴趣是最好的导师——让Matlab入门从游戏开始
http://www.ilovematlab.cn/thread-546885-1-1.html

新手

19 麦片

财富积分


050


26

主题

66

帖子

0

最佳答案
 楼主| 发表于 6 天前 | 显示全部楼层
悟得 发表于 2018-7-11 11:34
转成什么矩阵?char矩阵?
两种方法

double矩阵

错误使用 split (line 76)
第一个参数 必须为字符串数组、字符矢量或字符矢量元胞数组。

论坛优秀回答者

8

主题

1194

帖子

200

最佳答案
  • 关注者: 53
发表于 6 天前 | 显示全部楼层 |此回复为最佳答案
vvtdnb 发表于 2018-7-11 13:13
double矩阵

错误使用 split (line 76)

必须把代码送到手上是吧…………

  1. a={'2017-05-23'
  2. '2017-05-23'
  3. '2017-05-23'
  4. '2017-05-23'
  5. '2017-05-23'
  6. '2017-05-23'
  7. '2017-05-23'
  8. '2017-05-23'
  9. '2017-05-23'
  10. '2017-05-23'};

  11. str2double(split(a,'-'))
复制代码
兴趣是最好的导师——让Matlab入门从游戏开始
http://www.ilovematlab.cn/thread-546885-1-1.html

新手

19 麦片

财富积分


050


26

主题

66

帖子

0

最佳答案
 楼主| 发表于 6 天前 | 显示全部楼层
悟得 发表于 2018-7-11 16:09
必须把代码送到手上是吧…………

text=split{text1,'-'};
报错:未定义变量 "split" 或类 "split"。

text=split(text1,'-');
报错:第一个参数 必须为字符串数组、字符矢量或字符矢量元胞数组。

text=str2double(split{text1,'-'});
报错:未定义变量 "split" 或类 "split"。

text1=str2double(split(text1,'-'));
报错:第一个参数 必须为字符串数组、字符矢量或字符矢量元胞数组。

split有安装啊:>> which split
D:\R2017a\toolbox\matlab\strfun\split.m

论坛优秀回答者

8

主题

1194

帖子

200

最佳答案
  • 关注者: 53
发表于 6 天前 | 显示全部楼层
vvtdnb 发表于 2018-7-11 19:17
text=split{text1,'-'};
报错:未定义变量 "split" 或类 "split"。

我的代码你不能运行?

你的text1不是胞元吧。你看下你变量
兴趣是最好的导师——让Matlab入门从游戏开始
http://www.ilovematlab.cn/thread-546885-1-1.html

新手

19 麦片

财富积分


050


26

主题

66

帖子

0

最佳答案
 楼主| 发表于 6 天前 | 显示全部楼层
悟得 发表于 2018-7-11 19:30
我的代码你不能运行?

你的text1不是胞元吧。你看下你变量

text1   1*1 cell
打开text1是,149*1 datetime
                 将149*1 datetime 改成 149*1 cell
   
错误还是一样啊

论坛优秀回答者

8

主题

1194

帖子

200

最佳答案
  • 关注者: 53
发表于 6 天前 | 显示全部楼层
vvtdnb 发表于 2018-7-11 19:55
text1   1*1 cell
打开text1是,149*1 datetime
                 将149*1 datetime 改成 149*1 cell

你把你变量发上来。
兴趣是最好的导师——让Matlab入门从游戏开始
http://www.ilovematlab.cn/thread-546885-1-1.html

新手

19 麦片

财富积分


050


26

主题

66

帖子

0

最佳答案
 楼主| 发表于 6 天前 | 显示全部楼层
20170523.txt (9.72 KB, 下载次数: 2)

论坛优秀回答者

8

主题

1194

帖子

200

最佳答案
  • 关注者: 53
发表于 6 天前 | 显示全部楼层

你text胞元矩阵的第一个子胞元不是cell ,后面的是。

第一个是datetime。可以直接用year month day提取。

还有胞元矩阵提取子胞元不是你那么写。
用法
  1. text1=text{1,1};
  2. year(text1)
  3. text2=text{1,2};
  4. split(text2,':');
复制代码
兴趣是最好的导师——让Matlab入门从游戏开始
http://www.ilovematlab.cn/thread-546885-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表