簡體   English   中英

如何在另一個.m腳本中在matlab中調用用戶定義的函數

[英]how to call a user defined function in matlab in another .m script

我對MATLAB很陌生。 我已經在.m文件中定義了一個函數,並且想在另一個.m文件中使用該函數。 我想從命令窗口中運行最后一個.m文件的內容。

我有功能[feature]=hog(image) 如何在另一個.m腳本中初始化它?

您正在正確地分離函數定義和函數調用 該定義在您描述的第一個.m文件中。 重要的是每個文件只有一個函數(不包括本地,匿名和嵌套函數之類的東西),並且文件與函數具有相同的名稱。 在您的情況下,包含功能hog的文件必須稱為hog.m

在腳本內部,您可以運行調用函數。 假設您有一個圖像I ,則可以通過編寫例如myFeatures = hog(I);來調用函數hog myFeatures = hog(I); 現在,您可以使用新變量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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM