52matlab技术网站,matlab教程,matlab安装教程,matlab下载

标题: 如何通过A变量的值B来访问B变量的内容 [打印本页]

作者: 每天3点    时间: 2015-6-13 15:28
标题: 如何通过A变量的值B来访问B变量的内容
大家好  请教个问题  我有一个name的cell,里面包含很多个table的名字,我现在想通过name来访问table内的列  怎么做啊?  


作者: 每天3点    时间: 2015-6-13 15:30
数据文件位置为链接:http://pan.baidu.com/s/1hqB0EC8 密码:j0eh
作者: matlab的小调    时间: 2015-6-13 16:08
你要通过name来访问的话比较麻烦一点,比如你你取name{1,1}就可以得到SH600000,但是这是个字符串,所以你要取SH600000某一个元素不能直接用SH600000{m,n},而是eval([name{i,j},'{',num2str(m),',',num2str(n),'}']),比如你要操作SH600000{2,3},你可以输入eval([name{1,1},'{',num2str(2),',',num2str(3),'}']).
作者: 每天3点    时间: 2015-6-13 16:24
那么我要访问比如SH600000.VarName1列的数据怎么弄呢?
作者: matlab的小调    时间: 2015-6-13 16:39
eval([name{1,1},'{:,', num2str(1),'}'])这样就可以了
作者: 每天3点    时间: 2015-6-14 18:11
[f g]=size(name);
for i=1:f
   i_close=eval([name{1,1},'{:,', num2str(5),'}']);
   [short,long]=movavg(i_close,5,10);

Short=num2cell(short);
SHORT=cell2table(Short);
Long=num2cell(long);
LONG=cell2table(Long);
name{i,1}=[eval(name{i,1}),SHORT,LONG]
  save m
end

大神, 我要计算数据移动平均值  然后把移动平均值的列加到原来的表中,可是提示
错误使用 MA5 (line 3)
所有输入参数都必须为表。
代码错在哪里啊?




欢迎光临 52matlab技术网站,matlab教程,matlab安装教程,matlab下载 (http://www.52matlab.com/) Powered by Discuz! X3.2