我想在matlab腳本中創建一個帶有變量名稱的結構。這個想法是提取用戶填充的輸入字符串的一部分,並創建一個具有該名稱的結構。例如:Matlab:結構的動態名稱
CompleteCaseName = input('s');
USER WRITES '2013-06-12_test001_blabla';
CompleteCaseName = '2013-06-12_test001_blabla'
casename(12:18) = struct('x','y','z');
在這個例子中,casename(12:18)給我的結果test001。
我想這樣做可以讓我輕鬆地比較兩個案例,通過連續導入每個案例的結果。所以,我可以寫,例如:
plot(test001.x,test001.y,test002.x,test002.y);
的問題是,該線casename(12時18分)=結構( 'X', 'Y', 'Z');對於Matlab來說,是無效的,因爲它使我將一個字符串更改爲一個結構體。所有我找實例與結構是基於一個定義,就像
S = struct('x','y','z');
而且我不能找到一種方法,使一個動態名稱小號基於字符串。
我希望有人能理解我寫的東西:)我檢查了FAQ和Google,但是我無法找到同樣的問題。
如果您有100次測試,該怎麼辦?你會硬編碼plot(test001.x,...,test100.y)嗎?相反,使用單元陣列或結構例如's.test001.data'或更好的矩陣,如果長度重合。 – Oleg