2014-01-08 90 views
0

我需要創建一個matlab mfile,它將運行另一個matlab文件,並在txt文件中給出默認值。這對於測試程序非常有用,以便用戶可以在txt文件中指定值,而不是每次啓動程序時都輸入值,我的腳本會給程序默認值,用戶只會看到結果。用於運行(測試)另一個matlab腳本的腳本?

我的想法是將測試文件加載到一個變量中,改變'variable = input('...');'對於variable = default_variable;將其保存到tmp文件中,執行並刪除tmp文件。這是否會完成這項工作?

我只有兩個問題:

1)如何消除重複的變量名的問題 - 我的意思是,必須對所有腳本的工作,我不知道在測試腳本中使用的變量名。

2)正如我之前寫的 - 這是否會正常工作?或者,也許我錯過了一個更簡單的方法來做到這一點 - 例如,也許我不必創建一個tmp文件?

我真的需要你的幫助! 在此先感謝!

+0

我有3條建議:(1)使用函數代替腳本。 (2)看看[MATLAB的單元測試框架](http://www.mathworks.com/help/matlab/matlab-unit-test-framework.html)。 (3)考慮爲輸入文件使用JSON風格的文本文件;你可以使用[JSONlab](http://iso2mesh.sourceforge.net/cgi-bin/index.cgi?jsonlab)將它們加載爲[MATLAB結構](http://www.mathworks.com/help/matlab/) structures.html)將輸入參數傳遞給你的函數。 –

+0

無論如何,這可能會更容易,無論如何,我必須創建一個腳本來處理腳本。那是我的任務。 – AdamPL

回答

0

如果編輯默認值的人有權訪問Matlab,我會在需要時推薦使用墊子文件中的值和load。否則,你可以寫一個包含賦值給某些變量的小型cript,但一定要保持這個小。例如:

maxRuns = 100; 
clusters = 12; 

這麼多設置的默認值。關於這個過程,我的主要建議是將你想測試的東西包裝到一個函數中。這樣,代碼中用來調用'腳本'的變量不會因爲函數獲得自己獨立的工作區而受到干擾。如果您不熟悉它們,請檢查​​。

+0

無論如何,這可能會更容易,我必須創建一個SCRIPT來處理SCRIPTS。無論如何,將腳本轉換爲函數是一個聰明的想法。 – AdamPL

相關問題