如何在另一个.m脚本中调用matlab中的用户定义函数

如何在另一个.m脚本中调用matlab中的用户定义函数,matlab,Matlab,我对MATLAB很陌生。我在一个.m文件中定义了一个函数,我想在另一个.m文件中使用该函数。我想从命令窗口运行最后一个.m文件的内容 我有函数[特征]=hogimage。如何在另一个.m脚本中初始化它?您正确地分离了函数定义和函数调用。定义在您描述的第一个.m文件中。重要的是,每个文件只有一个函数,不包括本地函数、匿名函数和嵌套函数,并且文件与函数具有相同的名称。在您的例子中,包含函数hog的文件必须称为hog.m 在脚本中,可以运行或调用函数。假设您有一个映像I,您可以通过编写例如myFeat

我对MATLAB很陌生。我在一个.m文件中定义了一个函数,我想在另一个.m文件中使用该函数。我想从命令窗口运行最后一个.m文件的内容


我有函数[特征]=hogimage。如何在另一个.m脚本中初始化它?

您正确地分离了函数定义和函数调用。定义在您描述的第一个.m文件中。重要的是,每个文件只有一个函数,不包括本地函数、匿名函数和嵌套函数,并且文件与函数具有相同的名称。在您的例子中,包含函数hog的文件必须称为hog.m

在脚本中,可以运行或调用函数。假设您有一个映像I,您可以通过编写例如myFeatures=hogI;来调用您的函数hog;。现在您可以使用新变量myFeatures。请注意,脚本必须与函数位于同一文件夹中,或者必须通过addpath“/path/to/function/folder”添加函数路径。要从命令窗口调用脚本,只需键入脚本的名称

示例结构:

内部hog.m函数定义:

function [feature] = hog(image)
    % The code of HOG
end
在脚本内部,例如runHogDetection.m、函数调用

% Read some image
I = imread('cameraman.tif');

% Get HOG features
myFeatures = hog(I);

% Do whatever else you need
在命令窗口中,您只需调用

runHogDetection

不要忘记matlab文件夹已经在路径中,这是启动matlab程序时通常打开的文件夹。因此,如果hog.m文件保存在Matlab文件夹中,它可以从Matlab中的任何位置运行environment@hbaderts它给了我一个错误,对uint8类型的输入参数说undefined function hog