數值積分在工程上是個比較有用的數學工具。在工程上有很多數學問題,看似簡單,計算所用的數學公式不算複雜,但是求解起來卻很困難,很難獲得解析解的公式,這個時候就需要用到數值求解的辦法來獲取滿足工程需要的近似數值結果。
舉個簡單的例子,求乙個變截面圓柱(或者叫圓台)的等效截面慣性矩,計算公式為ie=h^3/(3∫[0,h](x^2/i(x))dx。這個公式使用的是結構力學裡面的力法原理推導的,積分本來也不是很複雜,問題出在i(x)上,i(x)是沿柱子高度方向座標x處截面的慣性矩,一般情況,i(x)是關於x的4次多項式。本來以為可以找到這個積分的解析表示式,試著積了一下,才發現很困難。去找積分公式,只找到2次的,1/(ax^2+bx+c)的積分,從結果來看,是要解方程的。4次方程的解析解是可以求出來,不過太複雜了。我試著用matlab積分了一下,給出結果好長啊,有些符號我還不認識,不過代入數值還是有比較簡單的結果。
最後無奈只好求助於數值積分來搞定這個小怪物。
龍貝格積分
龍貝格積分對於程式設計實現來說,一開始不太好懂.對於不易直接用積分公式計算的原函式,通常用 復合梯形求積公式或復合拋物線求積公式等方法,但這些方法精度不高,收斂的速度緩慢。為了提高收斂速度,減少計算量,人們尋求其他方法.romberg方法也稱為逐次分半加速法。它是在梯形公式 辛卜生公式和柯特斯公式之...
用C 寫的龍貝格(Romberg)積分法
很久之前了,群上有人問有沒有用c 寫的積分函式,因為我自己以前做過乙個積分計算器,就跟他說搜尋一下romberg積分法吧,但是後來他說網上寫的都是用c 寫的方法,沒有c 的,問我有沒有,但是我之前是在家裡做的,學校裡沒有副本,可惜。今天翻一下郵箱,發現居然是我忘記貼標籤,導致當時沒有找到,感覺有點對...
龍貝格演算法
龍貝格演算法是以復化梯形公式,復化希普森,復化牛頓 科特斯為基礎採用的是逐漸平衡誤差的做法,如下 include 龍貝格 include define maxlen 100 double a double b double f double x else double t int n else el...