matlab数值分析程序--高等数学,数值代数的matlab实现-文字版, matlab电子书, 和matlab 有关的电子书:

9.6.3 在上的高斯-勒让德积分公式及其MATLAB程序

9.6.3  在上的高斯-勒让德积分公式及其MATLAB程序

用一般型高斯-勒让德积分公式计算d的数值积分MATLAB主程序

function [GL,Y,Rn]=Gauss (fun,a,b,X,A,fun2n)

n=length(X); n2=n*2; T=zeros(1,n);

T=((a+b)/2)+((b-a)/2)*X;

Y=feval(fun,T); GL=((b-a)/2)*sum(A.*Y);

sun=1; su2n=1; su2n1=1; wome=1;

syms x

for k=1:n

wome=wome*(x-X(k));

end

wome2= wome^2;Fr=int(wome2,x,-1,1);

for k=1:n2

su2n=su2n*k;

end

mfun2n =max(fun2n); Rn = Fr*mfun2n/su2n;

 

例9.6.6  利用一般型高斯-勒让德积分公式计算ed,取代数精度为15,并与精确值比较.

解  输入程序

>>X=[-0.9602898565, -0.7966664774, -0.5255324099, -0.1834346425, 0.9602898565, 0.7966664774, 0.5255324099,  0.1834346425];

A=[0.1012285363, 0.2223810345, 0.3137066459, 0.3626837834, 0.1012285363, 0.2223810345, 0.3137066459, 0.3626837834];

a=0;b=2; [GL,Y,Rn]=Gauss (@fun,a,b,X,A,fun2n)

syms x, fi=int(exp((-x^2)/2)/(sqrt(2*pi)),x,a,b);

Fs= double (fi), wGL = double (abs(fi-GL))

运行后屏幕显示分别用代数精度为15的一般型高斯-勒让德积分公式数值计算的结果GL、高斯-勒让德积分公式的误差Rn、估计被积函数值Y和精确值Fs及其两者的绝对误差wGL依次如下

GL =                           Rn =

   0.47724986810026                2.709468201849595e-015

Y =

0.39862785922733  0.39077989968078  0.35647246460968  0.28583858238797 0.05840774991356  0.07942486895803  0.12461041358066  0.19805761421327

Fs =                      wGL =

   0.47724986805182           4.843847992335364e-011

欢迎转载,转载请注明来自一手册:http://yishouce.com/book/3/3090603.html
友情链接It题库(ittiku.com)| 版权归yishouce.com所有| 友链等可联系 admin#yishouce.com|粤ICP备16001685号-1