復化科特斯公式matlab 牛頓

2021-10-13 11:01:32 字數 1031 閱讀 6765

牛頓-柯特斯數值積分公式及其matlab的實現

(2009-11-20 23:46:18)

至於newton-cotes數值積分的具體表達、推導、說明和附件,下面給只是給出newton-cotes數值積分的matlab實現**

復化newton-cotes數值積分公式

function y=mulnewtoncotes(fun,a,b,m,n)

% 復化newton-cotes數值積分公式,即在每個子區間上使用newton-cotes公式,然後求和 % 引數說明

% fun,積分函式的控制代碼,必須能夠接受向量輸入

% a,積分下限

% b,積分上限

% m,將區間[a,b]等分的子區間數量

% n,採用的newton-cotes公式的階數,必須滿足n<8,否則積分沒法保證穩定性 % (1)n=1,即復化梯形公式

% (2)n=2,即復化辛普森公式

% (3)n=4,即復化科特斯公式

% example

% fun=@(x)sin(x).*cos(x)

% mulnewtoncotes(fun,0,2,10,4)

xk=linspace(a,b,m+1);

for i=1:m

s(i)=newtoncotes(fun,xk(i),xk(i+1),n);

endy=sum(s);

牛頓-科特斯數值積分公式

function [y,ck,ak]=newtoncotes(fun,a,b,n)

% y=newtoncotes(fun,a,b,n)

% 牛頓-科特斯數值積分公式

% 引數說明:

% fun,積分表示式,這裡有兩種選擇

% (1)積分函式控制代碼,必須能夠接受向量輸入,比如fun=@(x)sin(x).*cos(x)

% (2)x,y座標的離散點,第一列為x,第二列為y,必須等距,且節點的個數小於9,比如:fun=[1:8;sin(1:8)]'

% 如果fun的表採用第二種方式,那麼只需要輸入第乙個引數即可,否則還要輸入a,b,n三

斯特林公式

斯特林公式是一條用來取n階乘近似值的數學公式。一般來說,當n很大的時候,n階乘的計算量十分大,所以斯特靈公式十分好用。斯特林公式可以用來估算某數的大小,結合lg可以估算某數的位數,或者可以估算某數的階乘是另乙個數的倍數。stirling公式的意義在於 當n足夠大時,n 計算起來十分困難,雖然有很多關...

斯特林公式

斯特林公式的常見表示形式 顯而易見,這個公式主要是用來求近似的階乘的值的,在競賽中往往只採用第乙個形式,其精確度已經足夠用來求階乘位數了.lg n lg 2 n 2 n lg n lg e 這個公式就是圖中第乙個式子左右同時求對數得到的.不難發現,10x,10 x 1 之間囊括了所有長度為x 1的數...

斯特林公式

夫夫有一天對乙個數有多少位數感興趣,但是他又不想跟凡夫俗子一樣,所以他想知道給乙個整數n,求n!的在8進製下的位數是多少位。第一行是乙個整數t 0示例1 3425 2 13 include using namespace std const long double pi 3.141592653589...