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

时间:2015-04-13 17:17:15

标签: matlab

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

我有函数[feature]=hog(image)。如何在另一个.m脚本中初始化它?

1 个答案:

答案 0 :(得分:0)

您正确地将功能定义和功能调用分开。该定义位于您描述的第一个.m文件中。重要的是每个文件只有一个函数(不包括本地函数,匿名函数和嵌套函数),并且该文件与函数同名。在您的情况下,必须将包含函数hog的文件称为hog.m

在脚本中,您运行调用函数。假设您有一张图片I,您可以通过以下方式调用您的函数hog myFeatures = hog(I);。现在,您可以使用新变量myFeatures。请注意,脚本必须与函数位于同一文件夹中(或者必须通过addpath('/path/to/function/folder')添加函数的路径。要从命令窗口调用脚本,只需键入脚本的名称。 / p>

结构示例:

内部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