mrdivide.m

来自「计算动力学系统的分岔图」· M 代码 · 共 24 行

M
24
字号
function x = mrdivide(x,y)
% Division x/y for ADTAYL objects, ONLY for case where Y is a scalar
% (number or ADTAYL).

if ~(numel(y)==1)
  error('X/Y for ADTAYL objects currently requires Y scalar')
end
% We now have 3 cases:
% 1.  (ADTAYL array)/(numeric scalar)
% 2.  (numeric array)     /(ADTAYL scalar)
% 3.  (ADTAYL array)/(ADTAYL scalar)
if ~isa(y,'adtayl') %assume Y is a number so Case 1.
  x.tc = x.tc / y;
elseif ~isa(x,'adtayl') %assume X is a numeric array so Case 2.
   
  p1 = size(y.tc,3);
  xdup = x; x=y; %to make X a ADTAYL
  x.tc = zeros([size(xdup) p1]); %give it the 3rd dimension
  x.tc(:,:,1) = xdup; %now we've reduced it to Case 3.
  x.tc = filter(1, y.tc, x.tc, [],3); %work along 3rd dimension of x.tc
else %both ADTAYLs so Case 3.
  x.tc = filter(1, y.tc, x.tc, [],3); %work along 3rd dimension of x.tc
end

⌨️ 快捷键说明

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