1
我知道你們許多人會認爲這應該很容易解決。但是,我對MATLAB沒有任何線索。初學者 - 「未定義的函數'ReadIndexndexDailyLogreturn'輸入參數類型'cell'。」 - 錯誤
這裏去我的問題:試圖通過命令
getLogReturnExcel('ALL.xls', {'ALL'}, 37000, 38000)
出現的細胞類型錯誤這個功能在命令窗口中執行下面的例子時。然而,據我所知,當使用{}時,函數應該抓住{}(這裏是String)中的類型,而不是單元格本身,如果我們要使用(),它會被抓住,所以應該有沒有錯誤?或者,我可能會監督一些更基本的東西嗎?提前感謝您的每一點幫助;你可以告訴我非常需要它。
乾杯, 本
這裏去功能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 {:}'代替這兩行中的'ticker',但它仍顯示相同的錯誤。我誤解了什麼?此外,我從別人那裏複製了比較線,但我不完全理解它是如何工作的,以及當我將它們等同於'aadate(0/1)'或'aaret'時嘗試訪問什麼'aadate'和'aaret' (0/1)」。我會非常感謝更多的幫助...... – user3097259