欧拉方法,数值方法

时间:2016-11-07 18:19:37

标签: matlab

目前我正在尝试学习数值方法,其中涉及到很多matlab,本书中有一个我喜欢使用的例子,但它根本不会工作,它看起来像这样:

function [t,y]=euler(inter,y0,n)
t(1)=inter(1); 
y(1)=y0;
h=(inter(2)-inter(1))/n;
for i=1:n
    t(i+1)=t(i)+h;
    y(i+1)=eulerstep(t(i),y(i),h);
end
plot(t,y)

function y=eulerstep(t,y,h)
    y=y+h*ydot(t,y);


function z=ydot(t,y)
    z=t*y+t.^3;

而我正试图仅使用euler([0 1],1,10);来运行所有内容 但是当我试图运行它时,我会收到警告; 输入参数太多。

哪里出了问题?在这一点上非常感谢帮助!

1 个答案:

答案 0 :(得分:3)

euler也是一个内置函数。使用其他名称保存您的移动文件,例如euler11,并将euler功能的名称更改为其他名称,例如euler11。然后通过euler11([0 1],1,10);

调用它再试一次

进行这些更改会给我输出结果:

1

要学习的课程或良好的编程习惯是永远不要用内置名称命名变量/函数。