我知道很多人会认为这应该很容易解决。但是,我对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格式的日期,另一个用于每天的库存状态
答案 0 :(得分:1)
可以使用以下方法获取字符串:
ticker{:}
或者行中的比较
aadate = aadate(strcmp(aaticker,ticker));
aaret = aaret(strcmp(aaticker,ticker));
将在字符串和单元格数组之间。
以下是访问单元格数组元素的documentation。