我在Matlab中有一個相當簡單的問題。我想複製n個結構數組(sumRT.P)到一個矩陣(m)。在C,我只想用一個for循環,像這樣:Matlab - 沒有For循環的複製結構數組
for i = 1:n
m(i) = sumRT(i).P;
end
但我敢打賭,有一個簡單的複製在Matlab中的數組的方式(這是語言的權利整點?)。我嘗試這樣做:
m = sumRT(1:n).P;
但這只是拷貝sumRT.P的第一個項目到m,導致1×1矩陣。請注意,如果我鍵入sumRT(2).P例如,我可以看到第二個項目。相同的任何數字高達n。爲什麼這是錯的,我該如何解決?
太棒了!使用你的例子,這是我的問題的解決方案:m = cell2mat({sumRT(1:n).P});實際上我並不完全清楚某些結構數組如何變成單元格。這在我的Matlab生活中造成了一些問題。有什麼建議?我有一本關於Matlab的書 - 但它不是很全面。有沒有一個很好的Matlab「聖經」(例如,像Schildt的C手冊)? – Nick 2014-10-26 23:27:38
太棒了!無論如何,我確實在我的答案中混淆了符號,看起來像你已經完成了。 – David 2014-10-26 23:31:13