-1

ガウスの式とエラー値で積分を計算するために、次のプログラムを 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つの問題があります:

  1. コマンドラインでf(x)= sin(x),a=0 , b=pi と入力して計算すると のように見えるかもしれません2.97708877614822e-009。数値形式のままにしたい

  2. a=0 、 b=2などE(n)の一部の計算には、計算する必要があるが計算する必要があるというエラーがありますf(x)(1+x)^302.97708877614822e-009

4

1 に答える 1

1

コンピュータの精度について学ぶ必要があります。

たとえば、次のことを確認できます。

http://sebsauvage.net/python/snyppets/#binary_repr

于 2012-01-27T16:54:34.927 に答える