我想運行從不同的文件夾中的多個腳本通過一個腳本通過使用一個腳本
例如運行從不同的文件夾不同的MATLAB腳本我有以下代碼:
Original_AddRun1 = 'F:\UPT\Root\Run\S1.m';
Original_AddRun2 = 'F:\UPT\Root\Run2\S2.m';
Original_AddRun3 = 'F:\UPT\Root\Run3\S3.m';
Original_AddRun4 = 'F:\UPT\Root\Run4\Subfolder\S4.m';
run(Original_AddRun1);
run(Original_AddRun2);
run(Original_AddRun3);
run(Original_AddRun4);
有四個劇本,我想要運行(S1.m,S2.m,S3.m和S4.m)它們位於文件夾(Run4,Run2,Run3和子文件夾Run4內)
上面的Matlab是在具有所有文件夾的「根」文件夾
然而,當我運行的代碼下面的錯誤發生
Undefined function or variable 'Original_AddRun2'.
Error in AllRun (line 7)
run(Original_AddRun2);
第一個腳本運行,我得到的人物情節我想,但是當它試圖運行第二個腳本停止,每一個人腳本的作品完美和之前
記住是S2.m需要通過S1.m產生的變量工作進行了測試,同樣與S3.m需要S2.m的產生變量和S4.m需要S3.m的產生變量...這就是爲什麼這些腳本需要按順序運行,並且Function
不能使用,因爲它使用它自己的工作空間不是一般的工作區
我以前save()
保存一般工作區在每個腳本結束然後清除一般的工作空間,以便能夠運行,那麼在腳本中使用load()
下一個腳本加載我需要的變量再次向廣大工作區使用它們
我覺得有一個更簡單的做這樣的迂迴的方式save()
和load()
也許你叫'clear'在第一個腳本?作爲解決方案,您可以使用功能而不是腳本。 – m7913d
你爲什麼想這樣做?你想達到什麼目的? –
如果您從命令行手動運行腳本,將會有所幫助。假設他們都在你的道路上, 會S1,然後S2(執行S1後)工作?你的S1是否有任何副作用使得S2的執行不可能?我最好的選擇是:例如,你是否在S1的末尾和/或S2的開頭清除了所有的變量?在這種情況下,工作區中不再有任何變量(這就是爲什麼Original_AddRun2沒有定義) –