一、比較法 將待測物理量與選做標準單位的物理量進(jìn)行比較的方法叫比較法。
如測量物體長(cháng)度,用天平稱(chēng)量質(zhì)量,用電橋測電阻等。有時(shí)光有標準量具還不夠,還需要配置比較系統,使被測量量與標準量實(shí)現比較。
如:測量金屬在某溫度下的比熱容。因為金屬的比熱容隨溫度的升高而變大,可以找一個(gè)在該溫度下比熱容的金屬材料,用比較法測,把兩者做成形狀相同的樣品,加熱到一定溫度讓其自然冷卻,作降溫曲線(xiàn)(T-t曲線(xiàn))由牛頓冷卻定律即可得解。
比較法是物理實(shí)驗中最普通、最基本的實(shí)驗方法,也是實(shí)驗設計中設計對照實(shí)驗的基礎。 二、替代法 用已知的標準量去代替未知的待測量,以保持狀態(tài)和效果相同,從而推出待測量的方法叫替代法。
如用合力替代各個(gè)分力,用總電阻替代各部分電阻,浮力替代液體對物體的各個(gè)壓力等。 三、累積法 又稱(chēng)疊加法。
將微小量累積后測量求平均的方法,能減小相對誤差。實(shí)驗中也經(jīng)常涉及這一方法。
如在《用單擺測定重力加速度》實(shí)驗中,需要測定單擺周期,用秒表測一次全振動(dòng)的時(shí)間誤差很大,于是采用測定30-50次全振動(dòng)的時(shí)間T,從而求出單擺的周期T=t/n(n為全振動(dòng)次數)。 四、控制法 在中學(xué)許多物理實(shí)驗中,往往存在著(zhù)多種變化的因素,為了研究它們之間的關(guān)系可以先控制一些量不變,依次研究某一個(gè)因素的影響。
如通過(guò)導體的電流I受到導體電阻R和它兩端電壓U的影響,在研究電流I與電阻R的關(guān)系時(shí),需要保持電壓U不變;在研究電流I與電壓U的關(guān)系時(shí),需要保持電阻R不變。 五、留跡法 有些物理現象瞬間即逝,如運動(dòng)物體所處的位置、軌跡或圖像等,用留跡法記錄下來(lái),以便從容地測量、比較和研究。
如在《測定勻變速直線(xiàn)運動(dòng)的加速度》、《驗證牛頓第不運動(dòng)定律》、《驗證機械能守恒定律》等實(shí)驗中,就是通過(guò)紙帶上打出的點(diǎn)記錄下小車(chē)(或重物)在不同時(shí)刻的位置(位移)及所對應的時(shí)刻,從而可從容計算小車(chē)在各個(gè)位置或時(shí)刻的速度并求出速度;對于簡(jiǎn)諧運動(dòng),則是通過(guò)擺動(dòng)的漏斗漏出的細沙落在勻速拉動(dòng)的硬紙板上而記錄下各個(gè)時(shí)刻擺的位置,從而很方便地研究簡(jiǎn)諧運動(dòng)的圖像;利用閃光照相記錄自由落體運動(dòng)的軌跡等實(shí)驗都采用了留跡法。 六、放大法 在現象、變化、待測物理量十分微小的情況下,往往采用放大法。
根據實(shí)驗的性質(zhì)和放大對象的不同,放大所使用的物理方法也各異。例如:在《測定金屬電阻率》實(shí)驗中所使用的螺旋測微器:主尺上前進(jìn)(或后退)0.5毫米,對應副尺上有5n個(gè)等分,實(shí)際上是對長(cháng)度的機械放大;許多電表如電流表、電壓表是利用一根較長(cháng)的指針把通電后線(xiàn)圈的偏轉角顯示出來(lái)。
七、補償法 補償法是找一種效應與之相抵消,從而對被測物理量進(jìn)行測量的方法。由于被測量的作用在測量中被抵消,故表示標準量與被測量作用之差的儀表示數為0,所以又稱(chēng)零示法。
八、轉換法 某些物理量不容易直接測量,或某些現象直接顯示有困難,可以采取把所要觀(guān)測的變量轉換成其它變量(力、熱、聲、光、電等物理量的相互轉換)進(jìn)行間接觀(guān)察和測量,這就是轉換法。如卡文迪許《利用扭秤裝置測定萬(wàn)有引力恒量實(shí)驗》:其基本的思維方法便是等效轉換。
卡文迪許扭秤發(fā)生扭轉后,引力對T形架的扭轉力矩與石英絲由于彈性形變產(chǎn)主的扭轉力矩這就是等效轉換,間接地達到了無(wú)法達到的目的。又如轉換法還應用于石英絲扭轉角度的測量、根據電流的熱效應來(lái)認識電流大小、根據磁場(chǎng)對磁體有力的作用來(lái)認識磁場(chǎng)等上。
轉換法是一種較高層次的思維方法,是對事物本質(zhì)深刻認識的基礎上才產(chǎn)生的一種飛躍。 九、理想化法 影響物理現象的因素往往復雜多變,實(shí)驗中常可采用忽略某些次要因素或假設一些理想條件的辦法,以突出現象的本質(zhì)因素,便于深入研究,從而取得實(shí)際情況下合理的近似結果。
如在《用單擺測定重力加速度》的實(shí)驗中(假設懸線(xiàn)不可伸長(cháng))懸點(diǎn)的摩擦和小球在擺動(dòng)過(guò)程的空氣阻力不計,在電學(xué)實(shí)驗中把電壓表變成內阻是無(wú)窮大的理想電壓表,電流表變成內阻等于0的理想電流表等實(shí)驗都采用了理想化法。 十、模型法 有時(shí)受客觀(guān)條件限制,不能對某些物理現象進(jìn)行直接實(shí)驗和測量,于是就人為地創(chuàng )造一定的模型,在模型的條件下進(jìn)行實(shí)驗。
但要求模型和原型必須具有一定的相似性。如在《電場(chǎng)中等勢線(xiàn)的描繪》實(shí)驗中,因為對靜電場(chǎng)直接測量很“困難”,故采用易測量的電流場(chǎng)來(lái)模擬。
又如在確定磁場(chǎng)中磁感線(xiàn)的分布,因為磁感線(xiàn)實(shí)際不存在。我們就用鐵屑的分布來(lái)模擬磁感線(xiàn)的存在。
如用太陽(yáng)系模型代表原子結構,用簡(jiǎn)單的線(xiàn)條代表杠桿等。以上僅是中學(xué)物理實(shí)驗中常用的方法,有時(shí)在一個(gè)實(shí)驗中同時(shí)會(huì )用到多種方法。
同時(shí),具體用運中還會(huì )遇到實(shí)驗設計的方法、實(shí)驗結果的處理方法等,在此不再贅述。
R語(yǔ)言實(shí)際上是函數的集合,用戶(hù)可以使用base,stats等包中的基本函數,也可以自己編寫(xiě)函數完成一定的功能。但是初學(xué)者往往認為編寫(xiě)R函數十分困難,或者難以理解。這里對如何編寫(xiě)R函數進(jìn)行簡(jiǎn)要的介紹。
函數是對一些程序語(yǔ)句的封裝。換句話(huà)說(shuō),編寫(xiě)函數,可以減少人們對重復代碼書(shū)寫(xiě),從而讓R腳本程序更為簡(jiǎn)潔,高效。同時(shí)也增加了可讀性。一個(gè)函數往往完成一項特定的功能。例如,求標準差sd,求平均值,求生物多樣性指數等。R數據分析,就是依靠調用各種函數來(lái)完成的。但是編寫(xiě)函數也不是輕而易舉就能完成的,需要首先經(jīng)過(guò)大量的編程訓練。特別是對R中數據的類(lèi)型,邏輯判別、下標、循環(huán)等內容有一定了解之后,才好開(kāi)始編寫(xiě)函數。 對于初學(xué)者來(lái)說(shuō),最好的方法就是研究現有的R函數。因為R程序包都是開(kāi)源的,所有代碼可見(jiàn)。研究現有的R函數能夠使編程水平迅速提高。
R函數無(wú)需首先聲明變量的類(lèi)型,大部分情況下不需要進(jìn)行初始化。一個(gè)完整的R函數,需要包括函數名稱(chēng),函數聲明,函數參數以及函數體幾部分。
1. 函數名稱(chēng),即要編寫(xiě)的函數名稱(chēng),這一名稱(chēng)就作為將來(lái)調用R函數的依據。
2. 函數聲明,包括 <- function, 即聲明該對象的類(lèi)型為函數。
3. 函數參數,這里是輸入的數據,函數參數是一個(gè)虛擬出來(lái)的一個(gè)對象。函數參數所等于的數據,就是在函數體內部將要處理的值,或者對應的數據類(lèi)型。 函數體內部的程序語(yǔ)句進(jìn)行數據處理,就是對參數的值進(jìn)行處理 ,這種處理只在調用函數的時(shí)候才會(huì )發(fā)生。函數的參數可以有多種類(lèi)型。R help的界面對每個(gè)函數,及其參數的意義及所需的數據類(lèi)型都進(jìn)行了說(shuō)明。
4. 函數體
常常包括三部分.
(1). 異常處理
輸入的數據不能滿(mǎn)足函數計算的要求,或者類(lèi)型不符, 這時(shí)候一定要設計相應的機制告訴用戶(hù),輸入的數據在什么地方有錯誤。 錯誤又分為兩種。
第一種, 如果輸入的數據錯誤不是很?chē)乐兀梢越?jīng)過(guò)轉換,變?yōu)榉咸幚硪蟮臄祿r(shí), 此時(shí)只需要給用戶(hù)一個(gè)提醒,告知數據類(lèi)型不符,但是函數本身已經(jīng) 進(jìn)行了相應的轉換。
第二種,數據完全不符合要求,這種情況下,就 要終止函數的運行,而告知因為什么,函數不能運行。這樣,用戶(hù)在 使用函數的情況先才不至于茫然。
(2). 運算過(guò)程
包括具體的運算步驟。 運算過(guò)程和該函數要完成的功能有關(guān)。
R運算過(guò)程中,應該盡量減少循環(huán)的使用,特別是嵌套循環(huán)。R提供了 apply,replicate等一系列函數,來(lái)代替循環(huán),應該盡量應用這些函數, 提高效率。 如果在R中實(shí)在太慢,那么核心部分只能依靠C或者Fortran 等語(yǔ)言編寫(xiě),然后再用R調用這些編譯好的模塊,達到更高的效率。
運算過(guò)程中,需要大量用到if等條件作為判別的標準。if和while都是需要數據TRUE/FALSE這樣的邏輯類(lèi)型變量,這就意味著(zhù),if內部,往往是對條件的判別,例如 is.na, is.matrix, is.numeric等等,或者對大小的比較,如,if(x > 0), if(x == 1), if(length(x)== 3)等等。if后面,如果是1行,則花括號可以省略,否則就必須要將所有的語(yǔ)句都放在花括號中。這和循環(huán)是一致的。
例子:
## if與條件判斷
fun.test <- function(a, b, method = "add"){
if(method == "add") { ## 如果if或者for/while;
res <- a + b ## 等后面的語(yǔ)句只有一行,則無(wú)需使用花括號。
}
if(method == "subtract"){
res <- a - b
}
return(res) ## 返回值
}
### 檢驗結果
fun.test(a = 10, b = 8, method = "add")
fun.test(a = 10, b = 8, method = "substract")
r實(shí)驗指的是科學(xué)研究的基本方法之一。根據科學(xué)研究的目的,盡可能地排除外界的影響,突出主要因素并利用一些專(zhuān)門(mén)的儀器設備,而人為地變革、控制或模擬研究對象,使某一些事物(或過(guò)程)發(fā)生或再現,從而去認識自然現象、自然性質(zhì)、自然規律。
科學(xué)實(shí)驗,是指根據一定目的,運用一定的儀器、設備等物質(zhì)手段,在人工控制的條件下,觀(guān)察、研究自然現象及其規律性的社會(huì )實(shí)踐形式。是獲取經(jīng)驗事實(shí)和檢驗科學(xué)假說(shuō)、理論真理性的重要途徑。它不僅包括儀器、設備、實(shí)驗的物質(zhì)對象,還包括背景知識、理論假設、數據分析、科學(xué)解釋?zhuān)约皩?shí)驗者之間的協(xié)商、交流和資金的獲取等相關(guān)社會(huì )因素。其性質(zhì)不只是物質(zhì)性的,還是文化性的和社會(huì )性的。
通常把對物理特性的檢驗稱(chēng)為物理檢驗;對化學(xué)性質(zhì)或組成的檢驗稱(chēng)為化學(xué)檢驗或簡(jiǎn)稱(chēng)化驗。檢驗一般有破壞性檢驗和非破壞性檢驗,前者只能從整體中取樣進(jìn)行抽查,然后用數理統計方法推定整體的情況;后者可對整體進(jìn)行逐個(gè)檢查。從被檢對象的類(lèi)別考慮,人們又常將它分為半成品檢驗、成品檢驗或商品檢驗等。
也指用工具、儀器或其它分析方法檢查各種原材料、半成品、成品是否符合特定的技術(shù)標準、規格的工作過(guò)程。
對產(chǎn)品或工序過(guò)程中的實(shí)體,進(jìn)行度量,測量,檢查,和實(shí)驗分析,并將結果與規定值進(jìn)行比較和確定是否合格所進(jìn)行的活動(dòng)。
原發(fā)布者:紅米粉39
如何使用R語(yǔ)言進(jìn)行正態(tài)性檢驗(實(shí)例演示)熊榮川六盤(pán)水師范學(xué)院生物信息實(shí)驗室xiongrongchuan@126.com/u/Bearjazz數據的正態(tài)性檢測往往是進(jìn)一步深入分析的基礎,這個(gè)操作在一般的統計分析軟件非常容易實(shí)現。然而R語(yǔ)言平臺操作的特性,加上數據包的豐富,使得許多朋友還不是很了解怎么在R語(yǔ)言平臺上進(jìn)行數據的正態(tài)性檢驗。現在我們就以一些實(shí)例進(jìn)行初步的演示。實(shí)例一R語(yǔ)言自帶的正態(tài)性檢測(Shapiro-Wilk方法)注釋隨機產(chǎn)生10個(gè)正態(tài)分布的數據查看nx查看的結果>>;輸入nxShapiro-Wilk方法進(jìn)行正態(tài)檢驗檢驗結果,因為p值小于W值,所以數據為正態(tài)分布,和Origin統計的結果一致(下圖)Shapiro-Wilknormalitytestdata:nxW=0.9084,p-value=0.2699實(shí)例二輸入>>R語(yǔ)言自帶的正態(tài)性檢測(Kolmogorov-Smirnov方法)注釋隨機產(chǎn)生10個(gè)正態(tài)分布的數據查看nx查看的結果nxks.test(nx,"pnorm",mean=mean(nx),sd=Shapiro-Wilk方法進(jìn)sqrt(var(nx)))行正態(tài)
在初學(xué)C語(yǔ)言時(shí),可能會(huì )遇到有些問(wèn)題理解不透,或者表達方式與以往數學(xué)學(xué)習中不同(如運算符等),這就要求不氣餒,不明白的地方多問(wèn)多想,鼓足勇氣進(jìn)行學(xué)習,待學(xué)完后面的章節知識,前面的問(wèn)題也就迎刃而解了,這一方面我感覺(jué)是我們同學(xué)最欠缺,大多學(xué)不好的就是因為一開(kāi)始遇到困難就放棄,曾經(jīng)和好多同學(xué)談他的問(wèn)題,回答是聽(tīng)不懂、不想聽(tīng)、放棄這樣三個(gè)過(guò)程,我反問(wèn),這節課你聽(tīng)過(guò)課嗎?回答又是沒(méi)有,根本就沒(méi)聽(tīng)過(guò)課,怎么說(shuō)自己聽(tīng)不懂呢?相應的根本就沒(méi)學(xué)習,又談何學(xué)的好? 學(xué)習C語(yǔ)言始終要記住“曙光在前頭”和“千金難買(mǎi)回頭看”,“千金難買(mǎi)回頭看”是學(xué)習知識的重要方法,就是說(shuō),學(xué)習后面的知識,不要忘了回頭弄清遺留下的問(wèn)題和加深理解前面的知識,這是我們學(xué)生最不易做到的,然而卻又是最重要的。
學(xué)習C語(yǔ)言就是要經(jīng)過(guò)幾個(gè)反復,才能前后貫穿,積累應該掌握的C知識。 那么,我們如何學(xué)好《C程序設計》呢? 一.學(xué)好C語(yǔ)言的運算符和運算順序 這是學(xué)好《C程序設計》的基礎,C語(yǔ)言的運算非常靈活,功能十分豐富,運算種類(lèi)遠多于其它程序設計語(yǔ)言。
在表達式方面較其它程序語(yǔ)言更為簡(jiǎn)潔,如自加、自減、逗號運算和三目運算使表達式更為簡(jiǎn)單,但初學(xué)者往往會(huì )覺(jué)的這種表達式難讀,關(guān)鍵原因就是對運算符和運算順序理解不透不全。當多種不同運算組成一個(gè)運算表達式,即一個(gè)運算式中出現多種運算符時(shí),運算的優(yōu)先順序和結合規則顯得十分重要。
在學(xué)習中,只要我們對此合理進(jìn)行分類(lèi),找出它們與我們在數學(xué)中所學(xué)到運算之間的不同點(diǎn)之后,記住這些運算也就不困難了,有些運算符在理解后更會(huì )牢記心中,將來(lái)用起來(lái)得心應手,而有些可暫時(shí)放棄不記,等用到時(shí)再記不遲。 先要明確運算符按優(yōu)先級不同分類(lèi),《C程序設計》運算符可分為15種優(yōu)先級,從高到低,優(yōu)先級為1 ~ 15,除第2、3級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算符的運算順序. 二.學(xué)好C語(yǔ)言的四種程序結構 (1)順序結構 順序結構的程序設計是最簡(jiǎn)單的,只要按照解決問(wèn)題的順序寫(xiě)出相應的語(yǔ)句就行,它的執行順序是自上而下,依次執行。
例如;a = 3,b = 5,現交換a,b的值,這個(gè)問(wèn)題就好像交換兩個(gè)杯子水,這當然要用到第三個(gè)杯子,假如第三個(gè)杯子是c,那么正確的程序為: c = a; a = b; b = c; 執行結果是a = 5,b = c = 3如果改變其順序,寫(xiě)成:a = b; c = a; b = c; 則執行結果就變成a = b = c = 5,不能達到預期的目的,初學(xué)者最容易犯這種錯誤。 順序結構可以獨立使用構成一個(gè)簡(jiǎn)單的完整程序,常見(jiàn)的輸入、計算,輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語(yǔ)句順序就是輸入圓的半徑r,計算s = 3.14159*r*r,輸出圓的面積s。
不過(guò)大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個(gè)復雜的程序,例如分支結構中的復合語(yǔ)句、循環(huán)結構中的循環(huán)體等。 (2) 分支結構 順序結構的程序雖然能解決計算、輸出等問(wèn)題,但不能做判斷再選擇。
對于要先做判斷再選擇的問(wèn)題就要使用分支結構。分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語(yǔ)句出現的物理順序。
分支結構的程序設計方法的關(guān)鍵在于構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的分支語(yǔ)句。分支結構適合于帶有邏輯或關(guān)系比較等條件判斷的計算,設計這類(lèi)程序時(shí)往往都要先繪制其程序流程圖,然后根據程序流程寫(xiě)出源程序,這樣做把程序設計分析與語(yǔ)言分開(kāi),使得問(wèn)題簡(jiǎn)單化,易于理解。
程序流程圖是根據解題分析所繪制的程序執行流程圖。 學(xué)習分支結構不要被分支嵌套所迷惑,只要正確繪制出流程圖,弄清各分支所要執行的功能,嵌套結構也就不難了。
嵌套只不過(guò)是分支中又包括分支語(yǔ)句而已,不是新知識,只要對雙分支的理解清楚,分支嵌套是不難的。下面我介紹幾種基本的分支結構。
①if(條件) { 分支體 } 這種分支結構中的分支體可以是一條語(yǔ)句,此時(shí)“{ }”可以省略,也可以是多條語(yǔ)句即復合語(yǔ)句。它有兩條分支路徑可選,一是當條件為真,執行分支體,否則跳過(guò)分支體,這時(shí)分支體就不會(huì )執行。
如:要計算x的絕對值,根據絕對值定義,我們知道,當x>=0時(shí),其絕對值不變,而x②if(條件) {分支1} else {分支2} 這是典型的分支結構,如果條件成立,執行分支1,否則執行分支2,分支1和分支2都可以是1條或若干條語(yǔ)句構成。如:求ax^2+bx+c=0的根 分析:因為當b^2-4ac>=0時(shí),方程有兩個(gè)實(shí)根,否則(b^2-4ac d=b*b-4*a*c; if(d>=0) {x1=(-b+sqrt(d))/2a; x1=(-b-sqrt(d))/2a; printf(“x1=%8.4f,x2=%8.4f\n”,x1,x2); } else {r=-b/(2*a); i =sqrt(-d)/(2*a); printf(“x1=%8.4f+%8.4fi\n”r, i); printf(“x2=%8.4f-%8.4fi\n”r,i) } ③嵌套分支語(yǔ)句:其語(yǔ)句格式為: if(條件1) {分支1}; else if(條件2) {分支2} else if(條件3) {分支3} …… else if(條件n) {分支n} else {分支n+1} 嵌套分支語(yǔ)句雖可解決多個(gè)入口和出口的問(wèn)題,但超過(guò)3重嵌套后,語(yǔ)句結構變得非常復雜,對于程序的閱讀和理解都極為不便,建議嵌套在3重以?xún)龋^(guò)3重可以用下面的語(yǔ)句。
④switch開(kāi)關(guān)語(yǔ)句:該語(yǔ)句也是多分支選。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:2.954秒