Octave 用倍频程实现误差函数

Octave 用倍频程实现误差函数,octave,Octave,我是一个完全的编程初学者,我在完成家庭作业时遇到了麻烦。对于0到2.0之间的x值,我的erfx工作得很好,但是对于更高的值,它不应该工作。正确值的表格如下所示 请帮帮我,你是我唯一的希望 也许倍频程在计算大数的阶乘时遇到了困难。我使用n得到了很好的结果,所以你应该实现错误函数,而不仅仅是使用内置函数?是的,我实际上需要做并比较error函数的三种实现,实现的三个不同方程式是,我对OP中描述的1号方程式和2号方程式有问题-我不确定如何获得第二个方程式中需要的双阶乘-我想我可以使用一个内置函数来完成

我是一个完全的编程初学者,我在完成家庭作业时遇到了麻烦。对于0到2.0之间的x值,我的erfx工作得很好,但是对于更高的值,它不应该工作。正确值的表格如下所示


请帮帮我,你是我唯一的希望

也许倍频程在计算大数的阶乘时遇到了困难。我使用n得到了很好的结果,所以你应该实现错误函数,而不仅仅是使用内置函数?是的,我实际上需要做并比较error函数的三种实现,实现的三个不同方程式是,我对OP中描述的1号方程式和2号方程式有问题-我不确定如何获得第二个方程式中需要的双阶乘-我想我可以使用一个内置函数来完成这部分任务
function y = erf (z) 
    konst = 2/(pi^0.5);
    vsota=0;

    n=0;
    while n <= 500;
        vsota = vsota + ((-1)^n)*(z^(2*n+1))/(factorial(n)*(2*n+1));
        n=n+1;
    end
    y=konst*vsota;
end