初学者 - "Undefined function 'ReadIndexndexDailyLogreturn' for input arguments of type 'cell'." - 错



我知道你们中的许多人会认为这应该很容易解决。然而,我对MATLAB一无所知。

我的问题是:当试图通过命令在命令窗口中执行以下示例时

getLogReturnExcel('ALL.xls', {'ALL'}, 37000, 38000)

出现此函数的单元格类型错误。然而,据我所知,当使用{}时,函数应该抓取{}内部的类型(在这种情况下是字符串?),而不是单元格本身,如果我们使用(),就会抓取单元格本身,所以应该不会有错误?或者,我可能会监督一些更初级的事情吗?提前感谢您的每一点帮助;正如你所知,我非常需要它。

干杯,Ben

下面是函数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格式的日期,一列显示每天的库存情况。

字符串可以通过使用:获得

ticker{:}

或者行中的比较

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

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

以下是一些访问单元数组元素的文档。

相关内容

最新更新