1
我有數據集存儲到幾個變量,如:p1_5,p1_7,p1_9 .... p1_19,我想計算每個數據集的std()。現在如何在matlab for循環中做到這一點?如何連接'p1_'到n,但仍然保持它作爲一個變量,但不是字符串?連接字符串作爲matlab中的變量?
for n = 5:2:19
std(p1_??);
end
我有數據集存儲到幾個變量,如:p1_5,p1_7,p1_9 .... p1_19,我想計算每個數據集的std()。現在如何在matlab for循環中做到這一點?如何連接'p1_'到n,但仍然保持它作爲一個變量,但不是字符串?連接字符串作爲matlab中的變量?
for n = 5:2:19
std(p1_??);
end
您可以使用eval
此:
for n = 5:2:19
eval(['std(p1_', num2str(n), ')']);
end
但你可能應該考慮重組你的代碼沒有。你可以將所有的p1
s存儲在3D矩陣或單元陣列中嗎?
你可以把它們放在單元陣列中。更好的是,如果它們具有相同的尺寸,則將它們堆疊在矩陣中。
我強烈建議重構你的數據,所以你不必像丹在他的回答中推薦的那樣使用'eval'命令。 – MZimmerman6