日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

R语言数值导数

發(fā)布時(shí)間:2023/12/18 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 R语言数值导数 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 3 數(shù)值導(dǎo)數(shù)

3 數(shù)值導(dǎo)數(shù)

根據(jù)導(dǎo)數(shù)的定義,當(dāng)函數(shù)的定義域不連續(xù)時(shí),其不連續(xù)處顯然是不存在導(dǎo)數(shù)的,但圖形可以“欺騙”我們的眼睛。

> x = seq(-1,1,0.1) > y = sin(x) > y1 = cos(x) > xEnd = x+0.1 > yEnd = y+y1*0.1 > plot(x,y) > for(i in seq_along(x)){ + lines(c(x[i],xEnd[i]),c(y[i],yEnd[i]),col="red") + }

上圖中,圓圈是對(duì)y=sin?xy=\sin xy=sinx進(jìn)行抽樣的結(jié)果,可以理解為是一個(gè)不連續(xù)的函數(shù);紅線則是在每一個(gè)分立的點(diǎn)上,sin?x\sin xsinx在該點(diǎn)的切線。這兩者看上去如此一致,說(shuō)明連續(xù)函數(shù)的導(dǎo)數(shù)在抽樣之后仍然具備一定的數(shù)學(xué)意義。

相應(yīng)地,不連續(xù)的函數(shù),也應(yīng)該有類(lèi)似于導(dǎo)數(shù)一樣的存在,從而與連續(xù)函數(shù)的導(dǎo)數(shù)相對(duì)應(yīng),此即數(shù)值導(dǎo)數(shù)。如果回顧導(dǎo)數(shù)的定義

f′(x0)=lim?Δx→0f(x0+Δx)?f(x0)Δxf'(x_0)=\lim_{\Delta x\to0}\frac{f(x_0+\Delta x)-f(x_0)}{\Delta x} f(x0?)=Δx0lim?Δxf(x0?+Δx)?f(x0?)?

當(dāng)Δx→?0\Delta x\not\to 0Δx0時(shí),即可理解為數(shù)值導(dǎo)數(shù)。

假設(shè)現(xiàn)在對(duì)某個(gè)函數(shù)f(x)f(x)f(x)進(jìn)行等間隔抽樣,間隔為hhh,則其第nnn個(gè)點(diǎn)處的數(shù)值導(dǎo)數(shù)為

f[xn]=f(xn+1)?f(xn)xn+1?xn=f(xn+h)?f(xn)hf[x_n]=\frac{f(x_{n+1})-f(x_n)}{x_{n+1}-x_n}= \frac{f(x_n+h)-f(x_n)}{h} f[xn?]=xn+1??xn?f(xn+1?)?f(xn?)?=hf(xn?+h)?f(xn?)?

由于一般稱(chēng)f(xn+1)?f(xn)f(x_{n+1})-f(x_n)f(xn+1?)?f(xn?)為差分,則數(shù)值導(dǎo)數(shù)是f(x)f(x)f(x)的差分與xxx的差分的商,所以也叫差商。

仍以sin?x\sin xsinx為例,假設(shè)在[?5,5][-5,5][?5,5]區(qū)間內(nèi)分別以0.1,0.5,1為間隔,算其差商,然后和其導(dǎo)數(shù)cos?x\cos xcosx相對(duì)比。

x = seq(-5,5,0.1) y = cos(x) x1 = seq(-5,5,0.1) end = length(x1) y1 = (sin(x1[2:end])-sin(x1[1:end-1]))/0.1 x5 = seq(-5,5,0.5) end = length(x5) y5 = (sin(x5[2:end])-sin(x5[1:end-1]))/0.5 x10 = seq(-5,5,1) end = length(x10) y10 = (sin(x10[2:end])-sin(x10[1:end-1]))/0.5 plot(x,y,type="l",col="red") lines(x1[2:length(x1)],y1) lines(x5[2:length(x5)],y5) lines(x10[2:length(x10)],y10)

如圖所示

由于我們采用的是后向差分,所以三組差商的值整體右移。此外,隨著hhh的增大,其誤差也越來(lái)越明顯。

對(duì)一個(gè)函數(shù)進(jìn)行反復(fù)求導(dǎo),即可得到高階導(dǎo)數(shù),可以用數(shù)學(xué)歸納法的方式記為

f(n)(x)={f(n?1)(x)}′f(1)(x)=f′(x)\begin{aligned} f^{(n)}(x)&=\{f^{(n-1)}(x)\}'\\ f^{(1)}(x)&=f'(x) \end{aligned} f(n)(x)f(1)(x)?={f(n?1)(x)}=f(x)?

差商亦然,可以記為

f(n)[x]={f(n?1)[x]}′f(1)[x]=f[x]\begin{aligned} f^{(n)}[x]&=\{f^{(n-1)}[x]\}'\\ f^{(1)}[x]&=f[x] \end{aligned} f(n)[x]f(1)[x]?={f(n?1)[x]}=f[x]?

但與導(dǎo)數(shù)不同之處在于,差商可以更加方便地進(jìn)行遞推,例如

f(2)[x]=f[x+h]?f[x]h=f[x+2h]?f[x+h]h?f[x+h]?f[x]hh=f[x+2h]?2f[x+h]+f[x]h2\begin{aligned} f^{(2)}[x]&=\frac{f[x+h]-f[x]}{h}\\ &=\frac{\frac{f[x+2h]-f[x+h]}{h}-\frac{f[x+h]-f[x]}{h}}{h}\\ &=\frac{f[x+2h]-2f[x+h]+f[x]}{h^2} \end{aligned} f(2)[x]?=hf[x+h]?f[x]?=hhf[x+2h]?f[x+h]??hf[x+h]?f[x]??=h2f[x+2h]?2f[x+h]+f[x]??

總結(jié)

以上是生活随笔為你收集整理的R语言数值导数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。