我想使用在Matlab函數中加載到我的工作區中的數據。這是我的功能的開始。在Matlab函數中使用工作區變量
function [totalProfit] = compute(p,exit)
%% Declaration of variables
entry=0;
T = length(data);
.
.
.
end
我得到一個錯誤:
Undefined function or variable 'data'.
哪裏錯誤?
我想使用在Matlab函數中加載到我的工作區中的數據。這是我的功能的開始。在Matlab函數中使用工作區變量
function [totalProfit] = compute(p,exit)
%% Declaration of variables
entry=0;
T = length(data);
.
.
.
end
我得到一個錯誤:
Undefined function or variable 'data'.
哪裏錯誤?
變量數據可能是在函數之外定義的,所以它超出了範圍。
通過data
作爲compute
的參數,然後它將在函數內部可用。
Ran是正確的,但我想提一些別的。通常,只有作爲參數傳遞給函數的變量才能在該函數中使用,因此如果要在函數內使用現有變量,請將它們作爲輸入參數傳遞。
可以創建全局變量,允許您在函數內部使用它們而不用將它們作爲參數傳遞,但它通常不是編寫代碼的最佳方式。我使用全局變量的時間是我從一個腳本調用多個函數的地方,我有一些常量將被所有函數使用(例如重力是常見的)。全局變量的一個替代方法是使用一個結構體,以及要傳遞給其中的函數的變量,因此您只需要一個額外的輸入參數,但仍需要小心。