數值微積分與方程求解(一)

2021-09-25 10:54:28 字數 2148 閱讀 6706

目錄

數值微分的實現

數值積分的實現

matlab提供了求向前差分的函式diff,其呼叫格式有三種:

dx=diff(x):計算向量x的向前差分,dx(i)=x(i+1)-x(i),i=1,2,…,n-1。

dx=diff(x,n):計算向量x的n階向前差分。例如,diff(x,2)=diff(diff(x))。

dx=diff(a,n,dim):計算矩陣a的n階差分,dim=1時(預設狀態),按列計算差分;dim=2,按行計算差分。

注意:diff函式計算的是向量元素間的差分,故差分向量元素的個數比原向量少了乙個。同樣,對於矩陣來說,差分後的矩陣比原矩陣少了一行或一列。另外,計算差分之後,可以用f(x)在某點處的差商作為其導數的近似值。

基於自適應辛普森方法

[i,n]=quad(filename,a,b,tol,trace)

基於自適應gauss-lobatto方法

[i,n]=quadl(filename,a,b,tol,trace)

其中,filename是被積函式名;a和b分別是定積分的下限和上限,積分限[a,b]必須是有限的,不能為無窮大(inf);tol用來控制積分精度,預設時取tol=10-6;trace控制是否展現積分過程,若取非0則展現積分過程,取0則不展現,預設時取trace=0;返回引數i即定積分的值,n為被積函式的呼叫次數。

基於全域性自適應積分方法

i=integral(filename,a,b)

其中,i是計算得到的積分;filename是被積函式;a和b分別是定積分的下限和上限,積分限可以為無窮大。

基於自適應高斯-克朗羅德方法

[i,err]=quadgk(filename,a,b)

其中,err返回近似誤差範圍,其他引數的含義和用法與quad函式相同。積分上下限可以是無窮大(−inf或inf),也可以是複數。如果積分上下限是複數,則quadgk函式在復平面上求積分。

基於梯形積分法

已知(xi,yi)(i=1,2,…,n),且a=x1i=trapz(x,y)

其中,向量x、y定義函式關係y=f(x)。

trapz函式採用梯形積分法則,積分的近似值為:

可用以下語句實現:

sum(diff(x).*(y(1:end-1)+y(2:end))/2)

(3)多重定積分的數值求解

 求二重積分的數值解

i=integral2(filename,a,b,c,d)

i=quad2d(filename,a,b,c,d)

i=dblquad(filename,a,b,c,d,tol)

 求三重積分的數值解:

Matlab 數值微積分與方程求解

專題六 數值微積分與方程求解 目錄 一 數值微分與數值積分 1.數值微分 2.數值積分 二 線性方程組求解 先說差分。差分可以分為向前差分,向後差分和中心差分。三者分別如下表述 matlab提供了求向前差分的函式diff,其呼叫格式有3種 舉個例子 求向量 1,34,54,32,56,78 的一階向...

MATLAB 6 數值微積分與方程求解

目錄 6.1數值微分與數值積分 6.2線性方程求解 6.3非線性方程求解與函式極值計算 6.4常微分方程數值求解 dx diff x 計算向量x的向前差分,dx i x i 1 x i dx diff x,n 計算向量x的n階向前差分 dx diff a,n,dim 計算矩陣的n階差分,dim 1時...

六 數值微積分與方程求解 MATLAB學習筆記

高等數學是解析解,matlab求數值解。向前差分函式diff 計算向量元素間差分。呼叫方法 可用牛頓 萊布尼茨公式計算。若無法求原函式,可用matlab實現 其中filename為被積函式名,被積函式可用函式控制代碼形式,a,b為定積分上下限,tol控制積分精度預設為e 6。trace控制是否展現積...