初学者 - “未定义函数'ReadIndexndexDailyLogreturn'用于'cell'类型的输入参数。” - 错误

时间:2013-12-12 22:11:10

标签: matlab

我知道很多人会认为这应该很容易解决。但是,我对MATLAB没有任何线索。

这就是我的问题:尝试通过命令

在命令窗口中执行以下示例时
getLogReturnExcel('ALL.xls', {'ALL'}, 37000, 38000)

此功能出现单元格类型错误。然而,根据我的理解,当使用{}时,函数应该抓取{}(在这种情况下的字符串?)中的类型而不是单元格本身,如果我们使用()那么它将被抓取,所以应该有没有错误?或者我可能会监督哪些更基本的东西?提前感谢您的帮助;你可以说我非常需要它。

干杯, 本

这里是函数getLogReturnExcel:

function [logreturn, datearray] = getLogReturnExcel( datafilename, ticker, begindate, enddate )

    [aanumber, aatext] = xlsread(datafilename);
    aaticker = aatext(:,1);
    aadate = aanumber(:,2);
    aaret = zeros(length(aaticker),1);
    aaret(1,1) = 0;
    for i = 2:length(aaret)
        aaret(i,1) = ln(aanumber(i,3))-ln(aanumber(i-1,3));
    end    

    aadate = aadate(strcmp(aaticker,ticker));
    aaret = aaret(strcmp(aaticker,ticker));

    logreturn = aaret(aadate>=begindate & aadate<=enddate);
    datearray = aadate(aadate>=begindate & aadate<=enddate);

return

文件'ALL.xls'包含3列,一个包含字符串(股票的首字母缩写),两个包含数字(我假设为双倍),一个用于Excel格式的日期,另一个用于每天的库存状态

1 个答案:

答案 0 :(得分:1)

可以使用以下方法获取字符串:

ticker{:}

或者行中的比较

aadate = aadate(strcmp(aaticker,ticker));
aaret = aaret(strcmp(aaticker,ticker));

将在字符串和单元格数组之间。

以下是访问单元格数组元素的documentation