mrdivide.m
来自「张量分析工具」· M 代码 · 共 38 行
M
38 行
function C = mrdivide(A,B)
%MRDIVIDE Slash right division for sparse tensors.
%
% MRDIVIDE(A,B) is called for the syntax 'A / B' when A is a sparse
% tensor and B is a scalar.
%
% Example
% X = sptenrand([4 3 2],5);
% X / 3
%
% See also SPTENSOR.
%
%MATLAB Tensor Toolbox.
%Copyright 2007, Sandia Corporation.
% This is the MATLAB Tensor Toolbox by Brett Bader and Tamara Kolda.
% http://csmr.ca.sandia.gov/~tgkolda/TensorToolbox.
% Copyright (2007) Sandia Corporation. Under the terms of Contract
% DE-AC04-94AL85000, there is a non-exclusive license for use of this
% work by or on behalf of the U.S. Government. Export of this data may
% require a license from the United States Government.
% The full license terms can be found in tensor_toolbox/LICENSE.txt
% $Id: mrdivide.m,v 1.2 2007/01/10 01:27:31 bwbader Exp $
if isscalar(B)
newsubs = A.subs;
newvals = A.vals / B;
if B == 0
nansubs = setdiff(allsubs(A),newsubs,'rows');
newsubs = [newsubs; nansubs];
newvals = [newvals; repmat(NaN,size(nansubs,1),1)];
end
C = sptensor(newsubs,newvals,A.size);
return;
end
error('MRDIVIDE only supports the scalar case for sparse tensors');
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?