簡體   English   中英

matlab變量共享給另一個函數

[英]matlab variable shared to another function

在一個父函數中,我有一個與gui上的按鈕相關的回調函數。

當按下按鈕時,它要做的一件事就是定義一個需要持久的變量(比方說X),以便以后,父函數的另一個子函數可以使用X。(即回調函數A創建變量X。稍后,functionB要求知道變量X,以知道要采用的特定路徑)

有什么辦法可以解決嗎? 我已經讀過使用句柄將其傳遞給第二個函數的信息,但是我似乎無法找到一種方法來實現。

間接來自Matlab guidata文檔

在第一個回調函數中:

function first_Callback(hObject, eventdata, handles)

% add some additional data as a new field called x
handles.x = 1;
% Save the change you made to the structure
guidata(hObject, handles)

在第二個回調函數中,只需使用handles.x因為如果句柄屬於同一父圖形,則它們已作為參數傳遞給第二個回調。

function second_Callback(hObject, eventdata, handles)

% a will have the value 1
a = handles.x;

注意:即使將句柄保存到hObject (這是調用了回調函數的當前對象)中,該句柄結構對於同一圖上的其他對象也是可見的。 handles結構保存到hObject和保存到父圖形實際上是相同的。 另外,如果對handles結構進行更改,則僅需要使用guidata 如果僅讀取handles成員的值,則此后無需保存它。

暫無
暫無

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

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