知识库 > 数学方法 > 数值计算

数值微分和积分    

  •     根据函数在一些离散点的函数值,推算它在某点的导数或某高阶导数的近似值。通常用差商代替微商。
        

        定义:diff(Y:Array,n:Int) 
        说明:序列差分
        参数:
        Y:需要做差分的数组数据
        N:差分的阶数,0阶不做处理
        

        
        

        定义: differential(fun,x,toler,m); 
        说明:计算微分
        参数:
        Fun:目标函数(字符串类型)
        X:数据点(实数类型)
        Toler:精度(实数类型)默认 1.490116119384766e-008   
        M:方法(字符串extrapolation,外推法,limitation极限法) 默认extrapolation
        

        例:
        

        fun := ‘diffdemo’;
        function diffdemo(x) ;
        begin
            return x^2+2;
        end
        return differential(fun,0.3);
        

        运行结果:0.6
        

        定义:GradVector(fun,x);
        说明:梯度,返回一维数组,为x点在各个方向上的导数
        参数:
        Fun:字符串,函数名
        x : 一维数组,指定点
        

        例
        

        diffdemo := function (x);
        begin
            return 3*x[0]^2+x[1]^2-2*x[0]*x[1]+4*x[0]+3*x[1];
        end
        return GradVector(diffdemo,array(2,5));
        

        运行结果:array(6,9);
        

        定义:integral(fun,a,b,m);
        说明:函数积分
        参数:
        fun :目标函数(字符串类型)
        a:积分下限(实数)
        b: 积分上限(实数)
        m:方法选择,字符串变量,chebyshev,Gauss或Romberg
        

        例:
        

        fun := ‘diffdemo’;
        function diffdemo(x) ;
        begin
            return x^2+2;
        end
        return integral(fun,1,3);
        

        运行结果:12.6666666666667