erorr with the function

8 次查看(过去 30 天)
Maciek
Maciek 2015-2-1
评论: Maciek 2015-2-1
Hi I'm trying understand why the following notification of an error appears on the command window ">> fillMissingData Index exceeds matrix dimensions.
Error in fillMissingData (line 17) tday=varargin(1);" but I can not . Can Somebody show what is wrong with this function
function my_prices=fillMissingData(prices, varargin)
% my_prices=fillMissingData(prices) fills missing price with previous
% day's price
% my_prices=fillMissingData(prices, tday, cday) fills missing prices with previous day's price including non-trading days
% as specified in cday
if (nargin == 1)
my_prices=prices;
for t=2:size(my_prices, 1)
missData=~isfinite(my_prices(t, :, :));
my_prices(t, missData)=my_prices(t-1, missData);
end
else
% We deal only with 2 dim prices array here.
tday=varargin(1);
cday=varargin(2);
my_prices=NaN*zeros(size(cday, 1), size(prices, 2));
tdayIdx=find(tday==cday(1));
if (~isempty(tdayIdx))
my_prices(1, :)=prices(tdayIdx, :);
end
for t=2:size(my_prices, 1)
tdayIdx=find(tday==cday(t));
if (~isempty(tdayIdx))
my_prices(t, :)=prices(tdayIdx, :);
missData=find(~isfinite(my_prices(t, :)));
my_prices(t, missData)=my_prices(t-1, missData);
else
my_prices(t, :)=my_prices(t-1, :);
end
end
end

回答(1 个)

Matt J
Matt J 2015-2-1
I imagine you meant to do
tday=varargin{1};
cday=varargin{2};
  1 个评论
Maciek
Maciek 2015-2-1
i can not set the breakpoints to understand acting of the function but i can not because of the bug

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by