作业帮 > 综合 > 作业

matlab的问题:关于Index exceeds matrix dimensions.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/06/06 11:21:42
matlab的问题:关于Index exceeds matrix dimensions.
我在编写matlab程序,求解高解微分方程的解时,写到:
function dy = weifen (t,x)
x=sym('x')
dy=[x(2);x(3);x(4);-8*x(4)-36*x(3)-40*x(2)-10*x(1)+10]
[t,x]=ode45('weifen', [0 20],[0 0])
plot(t,x(:,1))
运行之后,提示说:Index exceeds matrix dimensions.
请问这是问什么呢?是程序哪里出错了吗?
似乎还是不行啊,您试过吗?我试了一下,依然还说超过矩阵维数,是我的版本的问题吗?
1.dy 里是4维,而[t,x]=ode45('weifen',[0,20],[0,0])里面的初值[0,0]是两维的,你改成这样[t,x]=ode45('weifen',[0,20],[0,0,0,0])就就OK了!
2.x=sym('x')这一句一般不用.
问题就是这么解决的,如果在下厚道的话,请把分送给我!毕竟又快又准!