查看: 70|回复: 0|关注: 0

[未答复] 请问overload函数怎么用

[复制链接]

新手

9 麦片

财富积分


050


4

主题

7

帖子

1

最佳答案
发表于 2018-8-10 12:36:25 | 显示全部楼层 |阅读模式
在前几年Nicolas的主页上有四元数的代码,里面有一个overload的函数,我看了一下解释可没看懂,请问这个函数怎么用啊,是不是需要新的定义F
function R = overload(F, Q, varargin)
% Private function to implement overloading of Matlab functions. Called to
% apply the function F to the quaternion array Q by operating on components
% of Q with F. F must be a string, giving the name of the function F. The
% calling function can pass this string using mfilename, for simplicity of
% coding. varargin contains optional arguments that are not quaternions.

% Copyright (c) 2008 Stephen J. Sangwine and Nicolas Le Bihan.
% See the file : Copyright.m for further details.

H = str2func(F);        % A handle to the function designated by F.

R = Q;

if ~isempty(R.w)        % Skip the scalar part if it is empty (pure quaternion).
    R.w = H(R.w, varargin{:});
end

R.x = H(R.x, varargin{:});
R.y = H(R.y, varargin{:});
R.z = H(R.z, varargin{:});


原来的函数是cast中的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表