• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      R在實(shí)驗(yàn)教學(xué)中的應(yīng)用

      2013-05-14 00:54:10肖寅東
      關(guān)鍵詞:正態(tài)分布繪制向量

      肖寅東,劉 科

      (電子科技大學(xué) 自動(dòng)化工程學(xué)院,成都 611731)

      數(shù)值計(jì)算軟件是數(shù)學(xué)實(shí)驗(yàn)、數(shù)學(xué)建模、信號(hào)與系統(tǒng)實(shí)驗(yàn)等實(shí)驗(yàn)課程必不可少的工具軟件。當(dāng)前我國高等院校普遍采用Matlab作為這些課程的目標(biāo)軟件進(jìn)行講授,設(shè)計(jì)了一系列實(shí)驗(yàn)課程及教材[1-3]。很多高等院校和科研機(jī)構(gòu)都采用 Matlab作為研究和學(xué)習(xí)過程中的必備軟件。Matlab具有功能強(qiáng)大、使用方便、文檔齊全、性能優(yōu)良的特點(diǎn),是一款成功的商業(yè)數(shù)值計(jì)算軟件??上atlab的使用代價(jià)十分昂貴。不同課程的實(shí)驗(yàn),需要使用的擴(kuò)展包各不相同。這意味著建設(shè)一個(gè)中型實(shí)驗(yàn)室用于購買Matlab軟件所需的經(jīng)費(fèi)將十分巨大,經(jīng)費(fèi)問題也阻礙了學(xué)生利用課余時(shí)間學(xué)習(xí)該類軟件。隨著我國高等院校生源的不斷擴(kuò)充及國際化程度不斷提高,使用Matlab造成的問題會(huì)日益嚴(yán)峻。不僅如此,由于Matlab軟件屬于私有軟件,大部分用Matlab編寫的仿真、實(shí)驗(yàn)程序和工具包大都不會(huì)公開,或者需要進(jìn)一步繳納費(fèi)用,因此在網(wǎng)絡(luò)上能找到的示例程序較少,不利于學(xué)生進(jìn)行進(jìn)一步學(xué)習(xí)和理解。

      當(dāng)前有幾類典型的開源免費(fèi)軟件能夠替代Matlab完成幾乎所有的計(jì)算任務(wù),如Octave、Scilab、R等。Octave是一款語法與Matlab兼容的自由軟件,不過該軟件在Windows系統(tǒng)上安裝太復(fù)雜,且支持文檔也不是很完善。Scilab也采用Matlab類似的語法,原有的Matlab程序僅需要小修改就能夠在Scilab上運(yùn)行,其提供的功能代碼也較多??上У氖窃撥浖€處于開發(fā)期,成熟度還不是很高,代碼中有一些錯(cuò)誤存在,不適合作為長期使用的工具。

      R是一種免費(fèi)開源的交互式運(yùn)算處理環(huán)境,它使用R語言作為編程語言,其最初設(shè)計(jì)主要用于統(tǒng)計(jì)領(lǐng)域[4-5],當(dāng)前在財(cái)經(jīng)、氣象、環(huán)境等各個(gè)學(xué)科都有廣泛應(yīng)用。R具有使用成本低、性能強(qiáng)大、便于獲取等優(yōu)點(diǎn)[6]。特別是在R的專業(yè)網(wǎng)站上還包括了3 900多個(gè)涵蓋各個(gè)領(lǐng)域的開源工具包,使用這些工具包不僅不需要任何費(fèi)用,而且還在不斷進(jìn)行測(cè)試和完善,保證了工具包的穩(wěn)定性。同時(shí),當(dāng)前統(tǒng)計(jì)學(xué)界大部分最先進(jìn)的算法都提供了開源的R語言擴(kuò)展包,這些擴(kuò)展包不僅幫助學(xué)生學(xué)習(xí)最先進(jìn)的統(tǒng)計(jì)理論,還給學(xué)生的編程習(xí)慣樹立了優(yōu)秀的榜樣。本文將討論在統(tǒng)計(jì)實(shí)驗(yàn)和信號(hào)系統(tǒng)實(shí)驗(yàn)中使用R替換Matlab的方案。

      1 R語言語法簡介

      R語言的免費(fèi)交互式執(zhí)行程序R可以在r-project網(wǎng)站下載,也有企業(yè)級(jí)的Revolution-R學(xué)院版可以免費(fèi)提供高等院校使用。使用R編程需要掌握R語言,它是S語言的一個(gè)分支,下面簡單介紹R語言中的數(shù)據(jù)類型。

      R語言是一種基于對(duì)象的語言,其基本數(shù)據(jù)類型主要有常量和變量,常量主要分為數(shù)值、字符和邏輯三種。數(shù)值常量主要用于表示實(shí)數(shù)和復(fù)數(shù),如實(shí)數(shù):1,2.0;復(fù)數(shù)2.0+3.4i。字符常量由“或者”組成,如‘Weight’。邏輯常量包括T或TRUE(真),F(xiàn)或FALSE(假),邏輯常量必須有大寫字符表示。無意義的值因比較特殊由NA(Not A number)表示。

      可通過“=”和“<-”給變量賦值常量或變量組成的向量、矩陣、列表等數(shù)據(jù)結(jié)構(gòu),更復(fù)雜的數(shù)據(jù)由相應(yīng)的對(duì)象保存,如數(shù)據(jù)框?qū)ο?、圖形對(duì)象等[7]。

      向量和矩陣是R語言在實(shí)驗(yàn)中最常使用的兩種數(shù)據(jù)結(jié)構(gòu),這兩種數(shù)據(jù)結(jié)構(gòu)與Matlab中的向量和矩陣對(duì)應(yīng),可以替代Matlab進(jìn)行矩陣運(yùn)算。在R語言中構(gòu)造向量可以使用c()函數(shù)進(jìn)行。利用matrix()可以將向量轉(zhuǎn)換為矩陣。本文給出了常見的矩陣運(yùn)算在Matlab中命令與R中命令的對(duì)比,方便廣大學(xué)生和教師進(jìn)行比較學(xué)習(xí),如表1所示。

      表1 R與Matlab常用命令對(duì)比表

      由于大部分基本數(shù)學(xué)函數(shù)的名稱在R和Matlab中一致,表1中未加入對(duì)基本四則運(yùn)算、三角函數(shù)等基本數(shù)學(xué)函數(shù)的對(duì)比,其余常見命令可查閱R的幫助文件或Hiebeler維護(hù)的文檔[8]。

      常見的實(shí)驗(yàn)課程中,使用上述基本功能與R自帶的函數(shù)即可完成。

      2 實(shí)驗(yàn)設(shè)計(jì)

      R廣泛應(yīng)用于統(tǒng)計(jì)學(xué)相關(guān)領(lǐng)域,在財(cái)經(jīng)分析、水文估計(jì)、環(huán)境地理等方向有大量應(yīng)用,當(dāng)前學(xué)術(shù)界幾乎所有最新的技術(shù)都能在R中找到實(shí)現(xiàn)。R在統(tǒng)計(jì)實(shí)驗(yàn)中的應(yīng)用是其最基本、最強(qiáng)大的功能之一,不僅如此,R還能在其他領(lǐng)域?qū)嶒?yàn)中得到廣泛應(yīng)用。因此,本文設(shè)計(jì)了兩個(gè)實(shí)驗(yàn)案例,一個(gè)是統(tǒng)計(jì)實(shí)驗(yàn),另一個(gè)是信號(hào)與系統(tǒng)實(shí)驗(yàn)。

      2.1 統(tǒng)計(jì)實(shí)驗(yàn)

      統(tǒng)計(jì)實(shí)驗(yàn)的主要任務(wù)是指導(dǎo)學(xué)生理解概率論中各種統(tǒng)計(jì)概念的含義,引導(dǎo)學(xué)生從整體上把握樣本的特征,并通過實(shí)驗(yàn)反過來證明常見理論的假設(shè)。本實(shí)驗(yàn)以正態(tài)分布為目標(biāo),通過采集樣本、繪制樣本分布函數(shù)、密度函數(shù),對(duì)樣本進(jìn)行參數(shù)估計(jì)及假設(shè)檢驗(yàn)等環(huán)節(jié)加深學(xué)生對(duì)正態(tài)分布的理解。

      1)采集樣本,可要求學(xué)生按性別統(tǒng)計(jì)參加課程同學(xué)的身高并按照R語法輸入。如:height=c(1.73,1.60)。該過程可提高課程互動(dòng)性和趣味性。

      2)繪制樣本分布函數(shù)與密度函數(shù)。通過繪圖函數(shù)完成兩類圖形的繪制,講解并引導(dǎo)學(xué)生理解分布函數(shù)和密度函數(shù)的含義。

      3)參數(shù)估計(jì)。采用最大似然估計(jì)對(duì)樣本概率密度函數(shù)進(jìn)行估計(jì),同時(shí)得到對(duì)應(yīng)正態(tài)分布的參數(shù)。

      4)假設(shè)檢驗(yàn)。提出假設(shè)檢驗(yàn)的基本假設(shè)及驗(yàn)證方法,使用R中的nortest包,對(duì)樣本進(jìn)行假設(shè)檢驗(yàn)。

      實(shí)驗(yàn)所用的代碼如下:

      其中hist()函數(shù)用于繪制樣本的直方圖[9],該圖反應(yīng)了樣本概率密度分布情況。ecdf()用于獲取樣本的分布函數(shù),plot()用于繪制曲線圖形[10],verticals參數(shù)用于指定是否需要用垂直線段連接分布函數(shù)。lines函數(shù)可以在當(dāng)前繪制的圖形中加入新的曲線,其線形由 lty參數(shù)給定。mean,var,sqrt的含義與Matlab相同,用于計(jì)算樣本的均值,方差及開平方函數(shù)。正態(tài)分布的主要參數(shù)都可由均值和標(biāo)準(zhǔn)差進(jìn)行估計(jì)。pnorm函數(shù)根據(jù)估計(jì)的參數(shù)創(chuàng)建正態(tài)分布的分布函數(shù)。ad.test是nortest包中包含的正態(tài)分布假設(shè)檢驗(yàn)函數(shù),其假設(shè)樣本服從正態(tài)分布。其返回值中包括顯著性檢驗(yàn)參數(shù)p-value,這一返回值小于顯著值時(shí)可以否定假設(shè)。nortest包可以使用install.package(‘nortest’,dep=TRUE)安裝,使用前需用library()函數(shù)載入。

      統(tǒng)計(jì)實(shí)驗(yàn)的結(jié)果如圖1所示。圖1(a)為樣本的統(tǒng)計(jì)直方圖,圖(b)中實(shí)線為樣本分布函數(shù),虛線為帶入估計(jì)參數(shù)的正態(tài)分布分布函數(shù)。

      圖1 統(tǒng)計(jì)實(shí)驗(yàn)結(jié)果示意圖

      上述處理函數(shù)的計(jì)算方法可以引導(dǎo)學(xué)生通過閱讀R網(wǎng)站提供的源碼進(jìn)一步加深理解。

      2.2 信號(hào)與系統(tǒng)實(shí)驗(yàn)

      R中包含spectrum()函數(shù)能夠進(jìn)行頻譜圖的繪制,也可以使用fft()函數(shù)進(jìn)行快速傅立葉變換。本實(shí)驗(yàn)主要任務(wù)是對(duì)常見波形進(jìn)行傅里葉變換,引導(dǎo)學(xué)生建立頻域的概念,能夠直觀理解頻域和時(shí)域之間的不同點(diǎn)。該實(shí)驗(yàn)以方波為例,分解方波包含的不同頻率的分量,結(jié)果顯示如圖2和圖3所示。圖中分別顯示了純基波,包括直到5次、9次及19次諧波的波形和頻譜圖。

      圖2 方波中各頻譜波形圖

      圖3 方波中各頻譜幅頻曲線圖

      上述代碼中f表示各諧波的次數(shù),y矩陣表示各頻率分量波形。mapply()函數(shù)用于將rep()重復(fù)函數(shù)應(yīng)用到向量1∶10上,第一參數(shù)為1,第二參數(shù)為向量各元素。plotarray和specarray兩個(gè)函數(shù)用于新建多個(gè)窗口,并在窗口中顯示對(duì)應(yīng)的波形。每一次數(shù)據(jù)操作的值來源于列表v中指定向量與m矩陣子集的矩陣乘積操作,表示包含x個(gè)頻率分量的函數(shù)波形。

      該實(shí)驗(yàn)使用R成功替代Matlab繪制了高質(zhì)量的實(shí)驗(yàn)報(bào)告圖形,并且可加深學(xué)生對(duì)頻域和時(shí)域的理解。

      3 結(jié)束語

      本文提出使用R替代Matlab作為統(tǒng)計(jì)實(shí)驗(yàn)和信號(hào)與系統(tǒng)實(shí)驗(yàn)的實(shí)驗(yàn)軟件,并設(shè)計(jì)了兩套實(shí)驗(yàn)方案,在降低實(shí)驗(yàn)軟件成本的同時(shí),加強(qiáng)了將開源軟件在學(xué)生中的推廣應(yīng)用。

      [1]盧莉蓉,周晉陽,牛曉東.MATLAB在傳感器教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)科學(xué)與技術(shù),2010,8(6):36-38.

      [2]吳利華.Matlab在大學(xué)物理實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)科學(xué)與技術(shù),2009,7(2):101-103.

      [3]景小榮,李強(qiáng),陳前斌,等.基于Matlab的《信號(hào)檢測(cè)與估計(jì)》課程教學(xué)改革[J].實(shí)驗(yàn)科學(xué)與技術(shù),2012,10(2):55-57.

      [4]奚寧.R語言在統(tǒng)計(jì)學(xué)教學(xué)中的運(yùn)用[J].科技咨詢,2012(1):197.

      [5]葉文春.淺談R語言在統(tǒng)計(jì)學(xué)中的應(yīng)用[J].中共貴州省委黨校學(xué)報(bào),2008,4(106):123-125.

      [6]Venables W N,Smith D M,the R Core.Team.An Introduction to R[EB/OL].(2012-6-22)[2012-07-22]http://cran.r - project.org/doc/manuals/R - intro.pdf.

      [7]湯銀才.R語言與統(tǒng)計(jì)分析[M].北京:高等教育出版社,2008:70-86.

      [8]Hiebeler D.MATLAB/R Reference[R].cran:r-project.org,2011.

      [9]Rossiter D G.Introduction to the R Project for Statistical Computing for use at ITC[EB/OL].(2012-6-14)[2012-07 -22]http://cran.r-project.org/doc/contrib/Rossiter-RIntro-ITC.pdf.

      [10]Zuur A F,Ieno E N,Meesters E H,et al.R語言初學(xué)者指南[M].西安:西安交通大學(xué)出版社,2011:81-93.

      猜你喜歡
      正態(tài)分布繪制向量
      Art on coffee cups
      向量的分解
      聚焦“向量與三角”創(chuàng)新題
      放學(xué)后
      童話世界(2018年17期)2018-07-30 01:52:02
      基于對(duì)數(shù)正態(tài)分布的出行時(shí)長可靠性計(jì)算
      正態(tài)分布及其應(yīng)用
      向量垂直在解析幾何中的應(yīng)用
      正態(tài)分布題型剖析
      向量五種“變身” 玩轉(zhuǎn)圓錐曲線
      χ2分布、t 分布、F 分布與正態(tài)分布間的關(guān)系
      商水县| 宣化县| 宝丰县| 格尔木市| 高淳县| 秦皇岛市| 剑川县| 遂川县| 固阳县| 峨山| 灵寿县| 精河县| 平顺县| 泸州市| 西贡区| 土默特左旗| 邯郸县| 美姑县| 关岭| 宁安市| 琼中| 探索| 顺平县| 胶南市| 安顺市| 威海市| 海原县| 兴宁市| 舟山市| 会东县| 汤原县| 武穴市| 蓬安县| 营山县| 江源县| 南华县| 临武县| 宁远县| 东乡县| 南宫市| 和平县|