999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Scratch兩方法計算圓周率

2020-07-31 09:46:34白二娃
電腦報 2020年28期
關鍵詞:方法

白二娃

之前《電腦報》刊登了一篇用VB計算圓周率π值的文章。使用了π/4=1-1/3+1/5+…+1/i,計算π的近似值,i值越大精度越高。這種算法由于不夠直觀,其實不太容易理解。我另外選了兩種計算π的算法:蒙特卡羅方法和直接測量法,并用Scratch編程來計算圓周率,這樣小朋友都能很容易理解圓周率的定義和計算了。

一、 蒙特卡羅方法

蒙特卡羅方法(Monte Carlo,簡稱MC)是馮·諾依曼等人提出的統(tǒng)計模擬方法,蒙特卡羅這個名字來源于賭場,表示這種算法的不確定性原理與賭博類似。

假設有一個邊長為1的正方形區(qū)域,有一個圓和這個正方形內(nèi)切。我們知道正方形面積是邊長a的平方,圓形面積是π乘以半徑R的平方。由于是內(nèi)切圓所以正方形邊長等于2R,圓形和正方形面積的比值k等于π/4。

如果能夠知道k的值,就能得到π=4k,這就是估算圓周率的核心思想。

現(xiàn)在我們向矩形范圍內(nèi)隨機畫點,任何位置被選中的概率都是相等的,圖中共投了1000個點,經(jīng)過統(tǒng)計落在圓內(nèi)的點為787個,由于投點是隨機的,所以可以近似認為圓形和矩形的面積比k等于點數(shù)比,即k=787/1000=0.787,所以圓周率π=4k=4x0.787=3.148,至此圓周率π的估算已經(jīng)完成。

新建角色“圓心”和“筆”,“圓心”就在(0,0)畫一個點,“筆”隱藏顯示。

在程序中我們設置了3個變量,“pi”存儲π值、“總投放點數(shù)”設置總數(shù)、“落在范圍內(nèi)的點”記錄在圓內(nèi)的點。

調(diào)用畫筆擴展,重復執(zhí)行“總投放點數(shù)”次。在XY坐標-90到90之間的方形區(qū)域隨機畫點。

判斷如果隨機畫的這個點到角色“圓心”的距離大于90不成立。即表示這個點在圓的范圍內(nèi)(含圓的邊)。將“落在范圍內(nèi)的點”加1。

循環(huán)完畢,用“落在范圍內(nèi)的點”除以“總投放點數(shù)”就獲得面積比k,乘以4就得到π值了。運行時請打開加速模式,不然會運算到天荒地老。

蒙特卡羅方法是一種依賴于重復性隨機采樣,進而獲得數(shù)值解的建模方法。對于復雜曲線積分這種很難通過理論求解的情況,可以通過蒙特卡羅方法獲得一個近似解。我們用Scratch編程后多次運行就可發(fā)現(xiàn),算出的π值偏差比較大,而提高“總投放點數(shù)”并不能很好地提升計算精度,這應該是由于計算機產(chǎn)生的隨機數(shù)是偽隨機數(shù)造成的。

二、 直接測量法

我們知道π的定義是圓的周長與直徑的比值。

我們用Scratch畫出半個邊數(shù)超多(100000條邊)的多邊形。這個多邊形由于每條邊都很短,可以認為近似是一個圓,這個半圓的終點到起點間的距離就是圓的直徑。邊長乘以邊數(shù)就是這個圓的周長。兩者相除就可以算出π的值了。

新建角色“起點”,在造型中背景放到最大后在中心點一個小點。移動到(0,-160)作為起點位置。

對小貓編程。

設置“pi”記錄計算結(jié)果,通過控制“邊長”(0.01)、“邊數(shù)”(100000)的大小控制近似圓形的大小,提高計算π值的精度,邊數(shù)越多π的精度應該越高。

移動到(0,-160)的起點位置,面向90度方向,重復執(zhí)行邊數(shù)除以2次,因為我們只需要畫一個半圓用來測量直徑。畫正多邊形的方法《電腦報》以前已經(jīng)介紹過就是移動“邊長”步,左轉(zhuǎn)360除以“邊數(shù)”度。這樣畫出的半圓形終點到角色“起點”之間的距離就是圓的直徑。

邊長乘以邊數(shù)就是圓的近似周長。

將“pi”設為“邊長”*“邊數(shù)”/到“起點”的距離。

要想看到最精確的計算結(jié)果,有一個小技巧,要點擊單獨放在代碼區(qū)的變量“pi”才行。計算結(jié)果為3.141592653072866與我們已知的π值相當接近,說明這個方法計算結(jié)果相當精確。

這個方法的思維方法最為直接,就是測量出圓的周長和直徑直接相除就可以得到π值。但是對于古人來說周長和直徑都很難精確測量,所以才有那么多數(shù)學家想方設法去提高π的計算精度,但是對于程序來說這個直接的方法卻意外的容易和精確。

我們程序中設定的邊長和邊數(shù)數(shù)值只是個經(jīng)驗數(shù)值,只是因為畫出來的半圓大小比較合適。其實只要多邊形邊數(shù)超過100條邊時π值的精度就已經(jīng)達到3.141了,比蒙特卡羅方法效果好得多,隨著邊數(shù)的提高計算精度穩(wěn)步提升,而且邊長對于π計算結(jié)果影響不大,只是影響視覺效果而已。

猜你喜歡
方法
中醫(yī)特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數(shù)學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 精品国产免费人成在线观看| 91网站国产| 日本午夜网站| 欧美精品黑人粗大| 欧美激情福利| 午夜天堂视频| 中文字幕有乳无码| 亚洲中字无码AV电影在线观看| 日韩欧美网址| 国产视频你懂得| 老色鬼久久亚洲AV综合| 新SSS无码手机在线观看| 日韩人妻精品一区| 欧美精品综合视频一区二区| 欧美全免费aaaaaa特黄在线| 久久伊人色| 日韩精品一区二区三区视频免费看| 污网站免费在线观看| 97国产精品视频人人做人人爱| 国产日韩精品欧美一区喷| 无码日韩人妻精品久久蜜桃| 天天躁狠狠躁| 国产亚洲视频中文字幕视频| 久久中文电影| 中文字幕日韩欧美| jijzzizz老师出水喷水喷出| 91九色最新地址| 免费无遮挡AV| 老司国产精品视频| 亚洲无限乱码| 国产成人免费视频精品一区二区| 亚洲成在线观看 | 奇米影视狠狠精品7777| 国产欧美日韩另类| 2020国产在线视精品在| 亚洲美女一级毛片| 欧美精品影院| 国产成人欧美| 亚洲乱码在线视频| 91香蕉视频下载网站| 亚洲第一成年人网站| 在线观看亚洲成人| 日韩黄色在线| 久久国产香蕉| 欧美天堂久久| 在线观看91精品国产剧情免费| 黄色污网站在线观看| 国产主播福利在线观看| 国产成人禁片在线观看| 人妻中文久热无码丝袜| 亚洲va精品中文字幕| 国产精品极品美女自在线网站| 999国产精品永久免费视频精品久久| 四虎影视永久在线精品| 丰满人妻被猛烈进入无码| 亚洲九九视频| 国产香蕉在线视频| 国产拍揄自揄精品视频网站| 国内a级毛片| 高h视频在线| 99视频免费观看| 国产午夜精品一区二区三| www.亚洲天堂| 亚洲精品成人7777在线观看| 天堂在线视频精品| 国产视频自拍一区| 久久动漫精品| 亚洲一区二区无码视频| 欧美第二区| 欧美日韩综合网| 久久99国产精品成人欧美| 91精品国产综合久久不国产大片| 在线观看亚洲成人| 亚洲欧美日韩中文字幕在线| 综合社区亚洲熟妇p| 无码国产偷倩在线播放老年人| 午夜爽爽视频| 国产导航在线| 国产精品自在在线午夜| 国产人成午夜免费看| 精品一区二区三区视频免费观看| 免费jjzz在在线播放国产|