为什么MATLAB在使用ode求解器时会改变矩阵尺寸?

时间:2012-11-01 19:42:04

标签: matlab

我已经为一些嵌套for循环编写了一些代码可以正常工作。它使用列向量,行向量和3x2矩阵的组合,但所有维度都是一致的。现在,当我将这些循环作为微分方程并使用ode15s时,突然它甚至不能在t的单次迭代中工作。它说

  

"试图访问MP(2,1);索引超出界限因为   大小(MP)= [1,6]"

当实际MP应该是3x2矩阵时,当然是在我没有使用ode求解器测试代码时。有没有人知道导致改变矩阵尺寸的颂歌解算器的不同之处?

任何帮助都会受到严厉的评价, 提前谢谢!

1 个答案:

答案 0 :(得分:2)

ode例程假定向量输入y01xn)并给出向量输出y。在致电ode15s后,您可以立即转换回矩阵,例如y = reshape(y,[3 2]);,其他代码应该有效。