0
필자의 지식을 향상시키기 위해 일부 MATLAB 코드를 읽었습니다. 제 3 행에서 아래의 NaN
사용을 이해하지 못합니다.왜 NaN을 곱 하시겠습니까?
나는 N-by-N 행렬의 행렬을 알고 있으므로 왜 복수 행을 NaN
으로 바꾸고 싶습니까? 또한 ret_usdvec
이 다시 사용되는 행을 이해하지 못합니다 : ret_usdvec(sline(1,1):sline(1,2), :)... = tdata
.
int_cos = length(usedolchk);
int_obs = length(pricedatew);
ret_usdvec = num2cell(NaN * ones(int_cos * int_obs, 4));
sline = ones(1, 2);
int_count_max = 400000;
int_count = 0;
for t = 1:int_obs
if (int_count == 0)
QES_DB = SEdatabase(data_base, '', '');
end
sql_statement = ['select idchk, co_name, pdatew, ret from D_RAWRETS'];
cursor = exec(QES_DB, sql_statement);
cursor = fetch(cursor);
tdata = cursor.data;
sline(1, 2) = sline(1, 1) + length(tdata(:, 1)) - 1;
ret_usdvec(sline(1, 1):sline(1, 2), :)...
= tdata;
sline(1, 1) = sline(1, 2) + 1;
int_count = int_count + length(tdata(:, 1));
if (int_count >= int_count_max) || t == int_obs
close(QES_DB);clear QES_DB
int_count = 0;
end
end
덧붙여 말하면, 「NaN * ones (int_cos * int_obs, 4)」는 간단하게 「NaN (int_cos * int_obs, 4)」와 같습니다. 아, 그리고 그것은 N-by-N이 아니라 오히려 N^2-by-4입니다. – Dan