我在Matlab中创建了自己的类文件。
classdef Impact
%IMPACT Summary of this class goes here
% Detailed explanation goes here
properties
V
end
methods(Static)
function Imp=Func(A)
B=V*A^2;
end
end
end
可以像Func
而不是out=Func(input)
一样调用out=Impact.Func(input)
函数。我听说过import
命令,但是当课程不在包中时,我不知道如何使用它。
非常感谢提前。问候。
答案 0 :(得分:4)
根据import
和Importing Classes进一步阅读的文档:
import Impact.*
将Impact
的所有公共静态方法导入基础工作区。将导入专用静态方法,但无法调用。
例如,使用以下类定义:
classdef testcode
methods(Static)
function test
disp('hi')
end
end
end
以下命令:
import testcode.*
test
返回:
>> test
hi
话虽如此,将函数导入您的命名空间是非常像不一个好主意,很容易导致命名空间冲突和混淆。
根据文件:
避免使用此语法,因为导入包带来了未指定的内容 一组名称到本地范围,可能与名称冲突 MATLAB工作区。此语法的一种可能用途是导入a 部分包名称。然后当你调用一个函数时,你会使用更短的函数 包名称与简单函数名称不冲突。对于 例如,
matlab.io.hdf4.sd
包具有close
功能,可以 与MATLABclose
函数冲突。
您还可以导入特定的静态方法,这对上述方法略有改进,但IMO仍然适用。
例如:
import testcode.test
test
返回与上一个示例相同的内容。