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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用R语言理解圆周率、自然对数和欧拉常数

發(fā)布時間:2023/12/16 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用R语言理解圆周率、自然对数和欧拉常数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

    • 4 極限常數(shù)
      • 圓周率π\(zhòng)piπ
      • 自然對數(shù)e
      • 歐拉常數(shù)γ\gammaγ

重讀微積分(一):極限

4 極限常數(shù)

圓周率π\(zhòng)piπ

歷史上很早就產(chǎn)生了極限思想,而割圓術(shù)就是這種思想的絕佳體現(xiàn)。

設(shè)正N邊形邊長為aaa,則周長為L=NaL=NaL=Na,而其邊長與邊數(shù)的關(guān)系可以表示為

a=2Rsin?πN→L=2NRsin?πNa=2R\sin\frac{\pi}{N}\to L=2NR\sin\frac{\pi}{N} a=2RsinNπ?L=2NRsinNπ?

圓可以理解為邊數(shù)為無窮多的正多邊形,即

L=lim?n→∞2nRsin?πn=2πRL=\lim_{n\to\infty}2nR\sin\frac{\pi}{n}=2\pi R L=nlim?2nRsinnπ?=2πR

由于古人不知道圓周率,所以需要通過不斷地測量多邊形的邊長和周長來逼近,則對于正多邊形而言

Π=L2R=Nsin?πN\Pi=\frac{L}{2R}=N\sin\frac{\pi}{N}Π=2RL?=NsinNπ?

N = c(3:100) Pi = N*sin(pi/N) plot(N,Pi,type='l',xlab='N',ylab='Pi')

由于到了后面,誤差變得越來越小,所以用對數(shù)來看一下誤差的變化

N = c(3:10000) err =log(pi-N*sin(pi/N),10) plot(N,err,type='l',xlab='N',ylab='err')

可見割到了正10000邊形,也只能得到10?710^{-7}10?7的精度,通過計算可以得到正10000邊形算出的圓周率約為3.14159260,所以我們至今也無法知道祖沖之他老人家到底是怎么得到的。

options(digits=15) 10000*sin(pi/10000) [1] 3.14159260191267

圓周率的這種定義其實也提供了一個重要極限,即

π=lim?n→∞Nsin?πN→lim?x→0sin?xx=1\pi=\lim_{n\to\infty}N\sin\frac{\pi}{N}\to\lim_{x\to0}\frac{\sin x}{x}=1 π=nlim?NsinNπ?x0lim?xsinx?=1

自然對數(shù)e

很多人喜歡把自然對數(shù)和復(fù)利計算聯(lián)系在一起。

假設(shè)某銀行的年利率為xxx,即存入W元,一年之后本息合計W(1+x)W(1+x)W(1+x);如果一年之后將本息重新存入銀行,則再過一年,本息合計為W(1+x)2W(1+x)^2W(1+x)2,重復(fù)操作nnn年之后,則其本息之和為W(1+x)nW(1+x)^nW(1+x)n

假設(shè)這家銀行可以按月算利率,則每月利率為x12\frac{x}{12}12x?,如果按月存取,則每年本息之和為W(1+x12)12W(1+\frac{x}{12})^{12}W(1+12x?)12

假設(shè)這家很行可以按照任意時間算利率,若存錢時間為1n\frac{1}{n}n1?年,則利率為xn\frac{x}{n}nx?,相應(yīng)地一年的本息之和為W(1+xn)nW(1+\frac{x}{n})^nW(1+nx?)n

那么問題來了,是不是隨著nnn逐漸增大,一年的收獲會越來越多呢?

為了計算方便,假設(shè)x=1x=1x=1,即正常WWW存一年,一年之后本息翻倍為2W。

結(jié)果發(fā)現(xiàn)

最終這個值趨近于一個常數(shù),這個常數(shù)就定義為eee,看來一年最多翻e倍,這個方法沒辦法發(fā)財了。但至少明白了一個著名的極限

e=lim?n→∞(1+1n)n=2.7182818...e=\lim_{n\to\infty}(1+\frac{1}{n})^n=2.7182818... e=nlim?(1+n1?)n=2.7182818...

當然,銀行不太可能有翻倍這么爽的年利率,設(shè)為xxx的話,則有

ex=(lim?n→∞(1+1n)n)x=lim?n→∞(1+1n)nx=lim?m→∞(1+xm)me^x=(\lim_{n\to\infty}(1+\frac{1}{n})^n)^x=\lim_{n\to\infty}(1+\frac{1}{n})^{nx}=\lim_{m\to\infty}(1+\frac{x}{m})^m ex=(nlim?(1+n1?)n)x=nlim?(1+n1?)nx=mlim?(1+mx?)m

很合理。

歐拉常數(shù)γ\gammaγ

eee兩側(cè)以eee為底取對數(shù),可得

1=lim?n→∞nln?(1+1n)=lim?n→∞nln?(n+1n)=lim?n→∞ln?(n+1)?ln?n1n1=\lim_{n\to\infty}n\ln(1+\frac{1}{n})=\lim_{n\to\infty}n\ln(\frac{n+1}{n})=\lim_{n\to\infty}\frac{\ln(n+1)-\ln n}{\frac{1}{n}} 1=nlim?nln(1+n1?)=nlim?nln(nn+1?)=nlim?n1?ln(n+1)?lnn?

根據(jù)這個式子,我們可以猜測

γ=∑n=1∞1n?∑n=1∞[ln?(n+1)?ln?n]=lim?N→∞∑n=1N1n?ln?N\gamma=\sum_{n=1}^\infty\frac{1}{n}-\sum_{n=1}^\infty[\ln(n+1)-\ln n]=\lim_{N\to\infty}\sum_{n=1}^N\frac{1}{n}-\ln N γ=n=1?n1??n=1?[ln(n+1)?lnn]=Nlim?n=1N?n1??lnN

是一個常數(shù):

N = c(1:10000) for(i in c(1:0000)){H[i]=sum(1/N[0:i]) } plot(N,gamma,type='l',xlab='N',ylab='gamma') gamma[10000] [1] 0.577265664068198

我們猜對了,這個常數(shù)即歐拉常數(shù)。

其證明過程也不復(fù)雜

ln?N=∫1N1xdx=∫1N1x+1?x??1?x?dx=∑n=1N1n+∫1N1x?1?x?dx\begin{aligned} \ln N&=\int^N_1\frac{1}{x}\text dx=\int^N_1\frac{1}{x}+\frac{1}{\lfloor x\rfloor}-\frac{1}{\lfloor x\rfloor}\text dx\\ &=\sum_{n=1}^N\frac{1}{n}+\int^N_1\frac{1}{x}-\frac{1}{\lfloor x\rfloor}\text dx \end{aligned} lnN?=1N?x1?dx=1N?x1?+?x?1???x?1?dx=n=1N?n1?+1N?x1???x?1?dx?

?γ=∫1N1x?1?x?dx-\gamma=\int^N_1\frac{1}{x}-\frac{1}{\lfloor x\rfloor}\text dx?γ=1N?x1???x?1?dx,則

γ=∫1Nx??x?x?x?dx<∫1N1?x?2dx\gamma=\int^N_1\frac{x-\lfloor x\rfloor}{x\lfloor x\rfloor}\text dx<\int^N_1\frac{1}{\lfloor x\rfloor^2}\text dx γ=1N?x?x?x??x??dx<1N??x?21?dx

γ\gammaγ收斂。

總結(jié)

以上是生活随笔為你收集整理的用R语言理解圆周率、自然对数和欧拉常数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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