牛頓-柯特斯數值積分公式及其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...