Чтобы вычислить интеграл с формулой Гаусса и значением Error, я написал эту программу в matlab:
%calculate integral with Gauss 3-point
clc
syms x ;
f=input('f(x) : ');
a=input('a = : ');
b=input('b = : ');
x=.5*((b-a)*(-1*(3/5)^0.5)+(a+b));
w0f0=(5/9)*eval(f);
x=.5*((b-a)*0+(a+b));
w1f1=(8/9)*eval(f);
x=.5*((b-a)*((.6)^.5)+(a+b));
w2f2=(5/9)*eval(f);
antegral=w0f0+w1f1+w2f2;
antegral=0.5*(b-a)*antegral;
disp(antegral)
%cal Error value = maximum of f^(6)/1570
syms x
m6=diff(f,6);
m6
m6=-1*m6;
[x,fval]=fminbnd(fun,x0,xn);
En=fval/15750;
disp (En);
этот код получает F (x) из командной строки и вычисляет интеграл.
У меня есть 2 проблемы:
Если вы введете f (x) = sin(x)
, a = 0, b = pi в командной строке для вычисления, может выглядеть как 2.97708877614822e-009
.Я хочу быть просто числовым форматом
вычисление E(n)
для некоторых f(x)
, таких как (1+x)^3
, что a = 0, b = 2 имеют ошибку, которую необходимо вычислить0
но рассчитать 2.97708877614822e-009