plus.m

来自「Interval Arithmetic Toolbox for Matlab」· M 代码 · 共 58 行

M
58
字号
function r = plus(a,b)

%PLUS (interval) overloades plus for interval matrices. a+b.
%
%b4m - datatype interval    Version 1.02    (c) 26.2.1998 Jens Zemke
%
%   DESCRIPTION:
%     'plus' is called
%
%         r = a + b
%
%     or
%
%         r = plus(a,b)
%
%     and computes the sum of given interval/double
%     matrices a, b.
%
%     The operations on the datatype interval
%     are based on BIAS by Olaf Knueppel.
%
%   SEE ALSO:
%     interval: uplus, minus, uminus, mtimes, mrdivide.
%     double: plus.

global b4m_DouBLe b4m_INTerval

if isa(a, 'double')      % then b must be of type interval
   if imag(a)
      error('Complex intervals are not supported.');
   elseif isa(a, 'sparse')
      error('Sparse intervals are not supported.');
   end;

   r.val = bias_add(b4m_DouBLe, a, b4m_INTerval, b.val);

elseif isa(a, 'interval') & isa(b, 'interval')
   r.val = bias_add(b4m_INTerval, a.val, b4m_INTerval, b.val);

elseif isa(b, 'double')  % then a must be of type interval
   if imag(b)
      error('Complex intervals are not supported.');
   elseif isa(b, 'sparse')
      error('Sparse intervals are not supported.');
   end;

   r.val = bias_add(b4m_INTerval, a.val, b4m_DouBLe, b);

else
   error(['No addition ''' class(a) ''' plus ''' class(b) ''' possible.'])
end;

if isa(r.val, 'char')
   error(r.val);
else
   r = class(r, 'interval');
end

⌨️ 快捷键说明

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