2013-11-27 41 views
3

我是MATLAB中的GUIDE新手。我有兩個不同的問題:保存或從指導/工作區加載數據

  1. 我想在一個.MAT文件保存使用在MATLAB GUI的按鈕從工作區中所有變量(約1000)。我能怎麼做?

  2. 我有一個按鈕,在按下按鈕後,我可以從我的路徑加載特定的.mat文件,始終使用GUI,但我希望包含在此文件中的變量成爲基礎工作區。

換句話說,我有一個按鈕,「LOAD」,在MATLAB GUIDE哪裏可以加載一個.MAT文件,以及包含在.MAT文件中的變量必須被裝載到「基地」單擊按鈕時的工作區。

請幫幫我。

+0

請包括你已經嘗試了代碼,爲什麼它不工作。 – shenku

回答

4

對於你的第一個問題,我建議你只需在「保存」按鈕的回調中輸入save('filename.mat');這樣的命令。但是什麼變數?如果他們在基本工作區中,請參閱我對下面第二個問題的回答。

要將數據加載到的基工作區,你可以嘗試evalin命令:

evalin('base','load(''filename.mat'')'); 

'base'參數告訴它在基工作區運行的命令。

如果你的文件名是在一個變量:

fname = 'filename.mat'; 
evalin('base',['load(''' fname ''')']); 

或者,你可以使用sprintf

loadCmd = sprintf('load(''%s'')',fname); 
evalin('base',loadCmd); 
+0

謝謝,但如果我想從編輯文本中獲取文件名? 例如filename = get(handles.file_name,'String'); evalin('base','load(??????)'); – user3043636

+0

@ user3043636答覆已更新。 :)你可以使用橫向連接('[]'),或者你可以像'sprintf('load(%s)',fname)''一樣用'sprintf'來形成字符串。 – chappjc

+0

我不明白。你能告訴我一個例子嗎? – user3043636