xdata.m

来自「Matlab Financial Toolbox」· M 代码 · 共 48 行

M
48
字号
% Copyright (c) 2007 the authors listed at the following URL, and/or% the authors of referenced articles or incorporated external code:% http://en.literateprograms.org/MATLAB_Financial_Toolbox?action=history&offset=20060826024523% % Permission is hereby granted, free of charge, to any person obtaining% a copy of this software and associated documentation files (the% "Software"), to deal in the Software without restriction, including% without limitation the rights to use, copy, modify, merge, publish,% distribute, sublicense, and/or sell copies of the Software, and to% permit persons to whom the Software is furnished to do so, subject to% the following conditions:% % The above copyright notice and this permission notice shall be% included in all copies or substantial portions of the Software.% % THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,% EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF% MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.% IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY% CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,% TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE% SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.% % Retrieved from: http://en.literateprograms.org/MATLAB_Financial_Toolbox?oldid=7473function out = xdata(mode, varargin)
% XDATA - simplest xdata function
% use:
%  val = xdata('get-col', structured_data, names)
switch lower(mode)
    case 'get-col'
        data  = varargin{1};
        names = varargin{2};
        if ~iscell(names)
            names =  regexp(names, '([^;]+)', 'tokens');
            names = cellfun(@(x)(x{1}),names,'UniformOutput', false);
        end
        out = repmat(nan,size(data.value,1),length(names));
        for i=1:length(names)
            idx   = strmatch(names{i}, data.names, 'exact');
            out(:,i) = data.value(:,idx);
        end
        
    otherwise
        error('xdata:mode', 'unknown mode <%s>', mode);
end

⌨️ 快捷键说明

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