簡體   English   中英

如何使用輸入 arguments 運行多個 matlab function 並具有相似的名稱

[英]How to run multiple matlab function with input arguments and have similar names

我寫了三個 matlab 函數(由 function 我的意思是一個獨立的腳本,以function 開頭,可以直接用於其他 matlab 文件),名稱和輸入 arguments,如: Simulator_m1(folder,numberofparts) Simulator_W(folder,numberofparts) Simulator_m2(folder,numberofparts) s) Simulator_W(folder,numberofparts)

由於每個模擬器都會運行相對較長的時間,所以我想要一個能夠將它們一個一個運行的文件,而不是我手動運行然后在命令中一個一個運行。

輸入 arguments 唯一不同的是文件夾,它將是一個字符串,如“folder_m1”或“folder_m2”。 不同文件夾的數量對應function的數量,因為文件夾是用來存放模擬結果的。

我在想這樣的事情:

names = ['m1','m2', 'W'];
folders = ['m1','m2','W']
for i = 1:3
  Simulator_names(i)(folders(i),numberofparts)
end

上面的代碼只是為了表達我的想法。 我不太熟悉matlab處理這類工作。我想聽聽你能提供的任何建議。 先感謝您!

傑森

看看這是不是你需要的。 它使用feval調用一個 function,其名稱是在運行時構建的。

names = {'m1','m2', 'W'};
folders = {'m1','m2','W'};
for n = 1:3
  feval(['Simulator_' names{n}], ['folder_' folders{n}], numberofparts)
end

暫無
暫無

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

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