保罗(亚当?) - 我认为你缺少的所有这些都在你的任务中
Y_Values(:,i1)= y_values(i1)+ dt * myode(t_values(i1),y_values(i1))
记住这一点
y_values.
是2D array ..所以您需要访问每列的两行。这些作业是这样做的
Y_Values(:,i1)=
所以你需要做同样的事情(否则你会得到分配错误,也可能是错误
Myode
由于它可能需要2x1数组作为此功能的第二个输入。
其次,算法的每个步骤都使用先前迭代的结果。目前,您的代码正在使用
I1
在任务的两侧。由于最小值
I1
是2,那么你可以访问以前的值
I1-1
。尝试以下内容
y_values(:,i1)= y_values(:,i1-1)+ dt * myode(t_values(i1-1),y_values(i1-1));