无法获得原函数exp(x ^ 2),我们只能用数值算法解决梯形公式,龙贝格公式,高斯公式,是一个很好的品种。我整理了一个利用Matlab实现高斯公式为解决整体功能。
函数S = GaussIntegrate()
%利用高斯求积公式数值积分
%f为可积函数,卢重功能,无论是符号函数
所述SYM('X');
F = EXP(X ^ 2);
卢= 1;
%一,B
正交间隔左边界和右边界= 1;的
B?= 2;
%,n表示的正交节点号是一个正整数>正= 8;
/>这个程序使用一个线性变换转换的时间间隔[A,B]为[-1.1]
%,同时使G = F * Rho是可积函数,然后使用
经典的高斯求积公式计算的正交多项式,勒让德多项式
如果N <= 0 | | N??=楼(N)
错误(错误, n必须是一个非负整数!“);
结束;
如果> B
错误(”错误的时间间隔左界有一定不大于右边的边界b');
结束;
%计算第n次勒让德多项式
风格X;
P = 1 /( 2 ^ n的阶乘(N))*差异((X ^ 2-1)^ N,N);
W =根(sym2poly(P));
对k = 1:N
A(K)= 2的数值积分
A =零(1,N);
S = 0; /((1-W(K )^ 2)*(SUBS(差异(P),W(K))^ 2));
T = A +(BA)/ 2 *(W(K)+1);
G =(BA)/ 2 *潜艇(F *卢,T);
S = S + A(K)*克;
结束;
--------------------------------
我花了八个节点计算精度达到小数点后8,效率还是非常高的。
注意:计算matlab工具箱呼叫枫符号,第一次运行时会加载一个小的患者。
重新运行速度非常快。
温馨提示:答案为网友推荐,仅供参考