2012-11-01 17 views
1

我已經寫了一些嵌套for循環的代碼,工作得很好。它使用列向量,行向量和3x2矩陣的組合,但所有維度都是一致的。現在,當我將這些循環放入微分方程並使用ode15s時,即使對於t的單次迭代,突然它也不起作用。它說爲什麼MATLAB在使用頌歌求解器時會改變矩陣的尺寸?

「試圖訪問MP(2,1);索引超出範圍,因爲 大小(MP)= [1,6]」

當實際MP被認爲是一個3x2矩陣,當然是當我在沒有求解器的情況下測試代碼的時候。有人知道導致改變矩陣的維度的頌歌解算器有什麼不同嗎?

任何幫助將seriosuly讚賞, 在此先感謝!

回答

2

ode例程假定向量輸入y01xn)並給出向量輸出y。在撥打ode15s後,您可以立即轉換回矩陣。 y = reshape(y,[3 2]);和其他代碼應該可以工作。

+0

謝謝你這是非常有幫助!對我理解發生的事情很有幫助。 – user1792403