1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
% MTIMES [overload base function]
% Copyright Notice
%
% Copyright (C) 2015 CentraleSupelec
%
% Author: Julien Bect <julien.bect@supelec.fr>
% Copying Permission Statement
%
% This file is part of
%
% STK: a Small (Matlab/Octave) Toolbox for Kriging
% (http://sourceforge.net/projects/kriging)
%
% STK is free software: you can redistribute it and/or modify it under
% the terms of the GNU General Public License as published by the Free
% Software Foundation, either version 3 of the License, or (at your
% option) any later version.
%
% STK is distributed in the hope that it will be useful, but WITHOUT
% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
% or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
% License for more details.
%
% You should have received a copy of the GNU General Public License
% along with STK. If not, see <http://www.gnu.org/licenses/>.
function y = mtimes (x1, x2)
if isa (x1, 'stk_dataframe')
x1_data = x1.data;
rownames = x1.rownames;
else
x1_data = x1;
rownames = {};
end
if isa (x2, 'stk_dataframe')
x2_data = x2.data;
colnames = x2.colnames;
else
x2_data = x2;
colnames = {};
end
y = stk_dataframe (x1_data * x2_data, colnames, rownames);
end % function mtimes
%!shared x, y, z, w
%!
%! u = [1 3 4; 2 7 6]; % 2 x 3
%! v = [6 2; 1 7; 9 4]; % 3 x 2
%! w = [45 39; 73 77]; % u * v
%!
%! x = stk_dataframe (u, {}, {'a'; 'b'});
%! y = stk_dataframe (v, {'c' 'd'});
%! z = x * y;
%!assert (isa (z, 'stk_dataframe'));
%!assert (isequal (z.data, w));
%!assert (isequal (z.rownames, x.rownames));
%!assert (isequal (z.colnames, y.colnames));
|