ical.m

来自「计量工具箱」· M 代码 · 共 65 行

M
65
字号
function obs = ical(year,period,cstructure)% PURPOSE: finds observation # associated with a year,period %          given a cal() structure% -----------------------------------------------------% USAGE: obs = ical(year,period,c_str)% where:  year   = year (4-digit)%       period   = period ( <= frequency)%         c_str  = a structure returned by cal() function% -----------------------------------------------------% RETURNS: obs = # of observation associated with year,period% e.g., cstr = cal(1982,1,12) %        obs = ical(1986,1,cstr) would return 48% e.g., cstr = cal(1982,1,12)%        obs = ical(1982,1,cstr) would return 1% ------------------------------------------------------% SEE ALSO: cal() a function to set up a time-series calendar%           that associates observation #'s with dates%           tsdate() that returns a string for the date associated%           with observation #          % written by:% James P. LeSage, Dept of Economics% University of Toledo% 2801 W. Bancroft St,% Toledo, OH 43606% jpl@jpl.econ.utoledo.eduif nargin ~= 3error('Wrong # of inputs to ical');end;% check that user input 4-digit year    [junk strsize] = size(num2str(year));    if strsize ~= 4; error('input a 4-digit year to ical'); end;% check that begin_per not negativeif period < 0error('period < 0 in ical');end;if isstruct(cstructure)  begin_yr = cstructure.beg_yr;  begin_per = cstructure.beg_per;  freq = cstructure.freq;   if period > freq % check that period not > freq   error('period > freq in ical');   end;   if year < begin_yr % check that year not > beg_yr   error('year > beg_yr in ical');   end; if year > begin_yr obs1 = length(begin_per:freq); obs2 = length(begin_yr+1:year-1)*freq; obs3 = length(1:period); obs = obs1+obs2+obs3; else obs = length(begin_per:period); end;elseerror('ical requires a structure returned by cal');end;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?