利用復合梯形公式計算定積分

2022-05-11 11:43:03 字數 1309 閱讀 7337

function [i,n]=fuhe(f,a,b,eps)

if(nargin==3)

eps=1.0e-4;

endn=1;

h=(b-a)/2;

i1=0;

i2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))*h;

while abs(i1-i2)>eps

n=n+1;

h=(b-a)/n;

i1=i2;

i2=0;

for i=0:n-1

x=a+h*i;

x1=x+h;

i2=i2+(subs(sym(f),findsym(sym(f)),x)+subs(sym(f),findsym(sym(f)),x1))*(h/2);

endend

% i=eval(i2);

i=i2;

n;%求解檔案指令碼**

[i,step]=fuhe('1/(x^2-1)',2,4,1.0e-4)

2)利用復合simpson公式計算定積分

%復化辛普森求解定積分函式

function [i,step]=isimpson(f,a,b,eps)

if(nargin==3)

eps=1.0e-4;

endn=1;

h=(b-a)/2;

i1=0;

i2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))*h;

while abs(i1-i2)>eps

n=n+1;

h=(b-a)/n;

i1=i2;

i2=0;

for i=0:n-1

x=a+h*i;

x1=x+h;

i2=i2+(h/6)*(subs(sym(f),findsym(sym(f)),x)+4*subs(sym(f),findsym(sym(f)),(x+x1)/2)+subs(sym(f),findsym(sym(f)),x1));

endend

% i=eval(i2);

i=i2;

step=n

%求解指令碼檔案

[i,step]=isimpson('sin(x)',0,10,1.0e-4)

執行結果:

1)利用復合梯形公式計算定積分

i =0.2945

n =2)利用復合simpson公式計算定積分

i =1.8393

step =

C語言基礎 利用復合梯形求積公式計算定積分

這是數值分析中一種求解定積分的近似方法。適用於被積函式的原函式不能用初等函式表示的情況。將被積函式 f x 與x軸圍成的區域分成n個梯形,把n個梯形面積求和得到積分的近似值。若精度不滿足需要,則可以將每個區間再等分一次,得到2n 1個等分區間,然後再求和,直到精度滿足需要。ab f x dx h 2...

C語言復合梯形公式實現定積分

假設被積函式為 fx,積分區間為 ab,把區間 ab等分成 n個小區間,各個區間的長度為h,即 h ban 稱之為 步長 根據定積分的定義及幾 何意義,定積分就是求函式 fx在區間 ab中圖線下包圍的面積。將積分區間n 等分,各子區間的面積近似等於梯形的面積,面積的計算運用梯形公 式求解,再累加各區...

R 隨機模擬計算定積分

題目 分別用隨機投點法與平均值法計算定積分 分析 x h function x 被積函式h x data ggplot data,aes x,h x geom area fill green inte in va 給定積分區間 a,b h x 在該區間的最大值為c,隨機數個數為n f functio...