创建与MATLAB中内置函数同名的函数
gpuArray是一个用于在matlab中的GPU上创建阵列的函数。在这里,我并不总是想使用gpuArray,因此我编写了一个名为gpuArray的函数(如下所示),以便在必要时返回一个标准矩阵,因此我不需要对代码进行太多更改。我已经将此函数添加到路径中。但是当我调用gpuArray函数时,它仍然返回gpuArray…有人知道为什么吗…非常感谢创建与MATLAB中内置函数同名的函数,matlab,function,Matlab,Function,gpuArray是一个用于在matlab中的GPU上创建阵列的函数。在这里,我并不总是想使用gpuArray,因此我编写了一个名为gpuArray的函数(如下所示),以便在必要时返回一个标准矩阵,因此我不需要对代码进行太多更改。我已经将此函数添加到路径中。但是当我调用gpuArray函数时,它仍然返回gpuArray…有人知道为什么吗…非常感谢 function A = gpuArray(A) 您应该始终能够键入“which gpuArray”来找出Matlab将调用哪个“gpuArray”。
function A = gpuArray(A)
您应该始终能够键入“which gpuArray”来找出Matlab将调用哪个“gpuArray”。我想它不会指向你的 为了让Matlab使用gpuArray,您应该尝试将函数的路径添加到Matlab路径中。尝试以下方法:
%add the path to *my* gpuArray function
addpath('C:\MyDirectory\SomeOtherDirectory\MyMfiles\');
祝你好运 您应该始终能够键入“which gpuArray”来找出Matlab将调用哪个“gpuArray”。我想它不会指向你的 为了让Matlab使用gpuArray,您应该尝试将函数的路径添加到Matlab路径中。尝试以下方法:
%add the path to *my* gpuArray function
addpath('C:\MyDirectory\SomeOtherDirectory\MyMfiles\');
祝你好运 您应该始终能够键入“which gpuArray”来找出Matlab将调用哪个“gpuArray”。我想它不会指向你的 为了让Matlab使用gpuArray,您应该尝试将函数的路径添加到Matlab路径中。尝试以下方法:
%add the path to *my* gpuArray function
addpath('C:\MyDirectory\SomeOtherDirectory\MyMfiles\');
祝你好运 您应该始终能够键入“which gpuArray”来找出Matlab将调用哪个“gpuArray”。我想它不会指向你的 为了让Matlab使用gpuArray,您应该尝试将函数的路径添加到Matlab路径中。尝试以下方法:
%add the path to *my* gpuArray function
addpath('C:\MyDirectory\SomeOtherDirectory\MyMfiles\');
祝你好运 这不是最好的主意。使用相同名称的多个函数最终会导致相当多的歧义,在代码上搜索+替换为具有唯一名称的备用函数不会导致这种歧义。但是如果你坚持这样做,那么你需要意识到MATLAB是如何搜索函数的。订单是(从):
因此,为了确保您的函数优先于内置函数,它需要在该列表中位于更高的位置。可以将函数作为子函数包含在当前文件中(#2或#3)、私有函数(#4)、创建类并使用这些函数(#5和6)、将函数与调用它的代码放在同一文件夹中(#7)或确保函数位于搜索路径中比内置函数更高的文件夹中(#8)。我怀疑您的
\Documents\MATLAB
文件夹或您的gpuArray
函数所在的文件夹路径实际上比内置函数路径低,因此上面的8失败。您可以在搜索路径中移动该文件夹的位置,或者,更好的办法是,将函数名称更改为唯一的名称,并更改调用它的代码。这不是最好的主意。使用相同名称的多个函数最终会导致相当多的歧义,在代码上搜索+替换为具有唯一名称的备用函数不会导致这种歧义。但是如果你坚持这样做,那么你需要意识到MATLAB是如何搜索函数的。订单是(从):
因此,为了确保您的函数优先于内置函数,它需要在该列表中位于更高的位置。可以将函数作为子函数包含在当前文件中(#2或#3)、私有函数(#4)、创建类并使用这些函数(#5和6)、将函数与调用它的代码放在同一文件夹中(#7)或确保函数位于搜索路径中比内置函数更高的文件夹中(#8)。我怀疑您的
\Documents\MATLAB
文件夹或您的gpuArray
函数所在的文件夹路径实际上比内置函数路径低,因此上面的8失败。您可以在搜索路径中移动该文件夹的位置,或者,更好的办法是,将函数名称更改为唯一的名称,并更改调用它的代码。这不是最好的主意。使用相同名称的多个函数最终会导致相当多的歧义,在代码上搜索+替换为具有唯一名称的备用函数不会导致这种歧义。但是如果你坚持这样做,那么你需要意识到MATLAB是如何搜索函数的。订单是(从):