• 
    

    
    

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

      高校Matlab教學(xué)中字符串的巧妙編程應(yīng)用

      2017-05-30 20:12:10何江蕓
      高教學(xué)刊 2017年20期
      關(guān)鍵詞:Matlab仿真字符串

      何江蕓

      摘 要:文章利用matlab強(qiáng)大編程能力實(shí)現(xiàn)了對(duì)字符串的巧妙編程應(yīng)用。主要利用其查找與替代功能中的字符串與數(shù)值間的巧妙變換,實(shí)驗(yàn)表明,字符串的編程可以進(jìn)行有關(guān)統(tǒng)計(jì)計(jì)算,揭示字符串序列的統(tǒng)計(jì)性質(zhì),為后續(xù)數(shù)學(xué)建模提供前期幫助。

      關(guān)鍵詞:matlab教學(xué);字符串;編程應(yīng)用;matlab仿真

      中圖分類號(hào):G421 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-000X(2017)20-0113-03

      Abstract: This paper realizes the skillful programming application of string by employing matlab's excellent programming. The major function used in this process is the ingenious transformation between the string and the numerical value in its searching and substitution. The result shows that string programming can do statistical calculations, reveal statistical properties of string sequences, and provide help for the subsequent mathematical modeling.

      Keywords: matlab teaching; string; programming application; matlab simulation

      matlab是由美國(guó)MathWorks公司開(kāi)發(fā)的一款商業(yè)軟件,起初是為實(shí)現(xiàn)數(shù)學(xué)計(jì)算而設(shè)計(jì)的。20世紀(jì)70年代,美國(guó)新墨西哥大學(xué)計(jì)算機(jī)科學(xué)系主任Cleve Moler為了減輕學(xué)生編程負(fù)擔(dān),用FORTRAN編寫(xiě)了最早的matlab。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把matlab推向市場(chǎng)。到20世紀(jì)90年代,matlab已成為國(guó)際控制界的標(biāo)準(zhǔn)計(jì)算軟件[1-5]。

      matlab軟件優(yōu)勢(shì)主要體現(xiàn)在編程環(huán)境、簡(jiǎn)單易用、強(qiáng)處理能力、圖形處理、模塊集合工具箱、程序接口和發(fā)布平臺(tái)、應(yīng)用軟件開(kāi)發(fā)等方面。目前已應(yīng)用到數(shù)值分析、數(shù)值和符號(hào)計(jì)算、工程與科學(xué)繪圖、控制系統(tǒng)的設(shè)計(jì)與仿真、數(shù)字圖像處理技術(shù)、數(shù)字信號(hào)處理技術(shù)、通訊系統(tǒng)設(shè)計(jì)與仿真、財(cái)務(wù)與金融工程、管理與調(diào)度優(yōu)化計(jì)算(運(yùn)籌學(xué))等領(lǐng)域。

      新版的matlab自1984年推向市場(chǎng)以來(lái),歷經(jīng)十多年的發(fā)展和競(jìng)爭(zhēng),現(xiàn)已成為國(guó)際認(rèn)可的最優(yōu)化的科技應(yīng)用軟件。與其他高級(jí)語(yǔ)言相比,matlab提供了一個(gè)人機(jī)交互的數(shù)學(xué)系統(tǒng)環(huán)境,可以大大節(jié)省編程時(shí)間。matlab語(yǔ)法規(guī)則簡(jiǎn)單、容易掌握、調(diào)試方便,具有高效、簡(jiǎn)單和直觀的特性。使用者只需輸入一條命令而不用編制大量的程序即可解決許多數(shù)字問(wèn)題,正是由于matlab的強(qiáng)大功能,受到國(guó)內(nèi)外專家學(xué)者的歡迎和重視,他已成為許多大學(xué)生的重要研究與學(xué)習(xí)工具[6-11]。

      本文利用matlab強(qiáng)大編程能力實(shí)現(xiàn)了對(duì)字符串的巧妙編程應(yīng)用。主要利用其查找與替代功能中的字符串與數(shù)值間的巧妙變換,實(shí)驗(yàn)表明,字符串的編程可以進(jìn)行有關(guān)統(tǒng)計(jì)計(jì)算,揭示字符串序列的統(tǒng)計(jì)性質(zhì),為后續(xù)數(shù)學(xué)建模提供前期幫助。

      一、matlab字符串的查找與替換運(yùn)算

      matlab字符串操作屬于符號(hào)計(jì)算的內(nèi)容,雖然是符號(hào),但其蘊(yùn)含了豐富的內(nèi)容。字符串可以進(jìn)行查找與替換,當(dāng)杳找到某字符串時(shí),可以進(jìn)行比較與判定,同時(shí)字符串可以轉(zhuǎn)化為數(shù)值,數(shù)值也可以轉(zhuǎn)化為字符串。這就將符號(hào)計(jì)算與數(shù)值計(jì)算結(jié)合了起來(lái),特別地,當(dāng)某些序列是由符號(hào)表示時(shí),為了探討這些符號(hào)序列的意義,我們需要將其轉(zhuǎn)化為可以理解的數(shù)值向量,以些數(shù)值向量來(lái)發(fā)現(xiàn)其所具有的統(tǒng)計(jì)及數(shù)學(xué)性質(zhì)。

      (一)strrep函數(shù)

      strrep函數(shù)是一個(gè)字符串查找與替換函數(shù),strrep函數(shù)的使用語(yǔ)法是:

      modifiedstr = strrep(origstr,oldsubstr,newsubstr)

      其中:

      strrep——字符串替換函數(shù);

      origstr——原始字符串;

      oldsubstr——原始字符串需要替換的字符串;

      newsubstr——替換掉原始字符串中的新的字符串。

      例如:

      claim = 'This is a good example';

      new_claim = strrep(claim, 'good', 'great')

      new_claim =

      This is a great example.

      可見(jiàn),strrep函數(shù)將claim字串中的“good”替換成了“ great”。

      (二)str2num函數(shù)

      str2num函數(shù)將字符串轉(zhuǎn)化為數(shù)值串,str2num函數(shù)的使用語(yǔ)法是:

      x = str2num(S)

      其中:

      S——字串或字串矩陣。

      字符串矩陣S中的數(shù)字應(yīng)該是ASCII字符。每個(gè)數(shù)字可以包含數(shù)字,小數(shù)點(diǎn)等。如果字符串S不表示有效的數(shù)字或矩陣,str2num()將返回空矩陣。

      例如:S = ['1 2' ;'3 4']

      str2num(S)將返回:

      S =

      1 2

      3 4

      即將一個(gè)二行二列的字符矩陣轉(zhuǎn)化為了一個(gè)二行二列的數(shù)值矩陣。

      二、字串巧妙編程的Malab仿真實(shí)驗(yàn)

      GenBank是美國(guó)國(guó)家生物技術(shù)信息中心(National Center for Biotechnology Information,NCBI)建立的DNA序列數(shù)據(jù)庫(kù)[12]。存有海量的動(dòng)植物DNA數(shù)據(jù),為人類進(jìn)行大數(shù)據(jù)挖掘提供了豐富的寶藏,大量未知的動(dòng)植物生命之謎等待人類去探索。從GenBank數(shù)據(jù)庫(kù)中下載植物馬利妮維雅葉綠體的DNA序列(NC_022431.1 Asclepias nivea chloroplast)。

      這樣就可以進(jìn)行矩陣運(yùn)算。利用matlab繪圖功能,實(shí)現(xiàn)DNA圖譜的分布。其matlab程序如下:

      figure(1);

      plot(1:80,mystring1(1,:),1:80,mystring1(1,:),‘d);

      xlabel(‘序列長(zhǎng)度),ylabel(‘基因分布);

      figure(2);

      plot(1:80,mystring1(2,:),1:80,mystring1(1,:),‘d);

      xlabel(‘序列長(zhǎng)度),ylabel(‘基因分布);

      figure(3);

      plot(1:80,mystring1(3,:),1:80,mystring1(1,:),‘d);xlabel(‘序列長(zhǎng)度),ylabel(‘基因分布);

      figure(4);

      plot(1:80,mystring1(4,:),1:80,mystring1(1,:),‘d);

      xlabel(‘序列長(zhǎng)度),ylabel(‘基因分布):

      這樣,就可以得到四條序列的基因分布圖,如下:

      可見(jiàn),這就將只是字符串的DNA序列變?yōu)榱擞脭?shù)值描述的DNA圖譜。利用該圖譜,我們可以進(jìn)行后續(xù)的數(shù)學(xué)建模計(jì)算,為研究基于統(tǒng)計(jì)分布的數(shù)學(xué)建模提供非常重要的前期基礎(chǔ)。

      上述matlab編程的巧妙在于:用strrep函數(shù)實(shí)現(xiàn)了字符的比對(duì)計(jì)算,若字母為A(腺嘌呤)則用數(shù)字字符“1”表示:strrep(mystring1(i,:),'A',' 1');若字母為T(mén)(胸腺嘧啶)則用數(shù)字字符“2”表示:strrep(mystring1(i,:),'T',' 2');若字母為G(鳥(niǎo)嘌呤)則用數(shù)字字符“3”表示:strrep(mystring1(i,:),'G',' 3');

      若字母為C(胞嘧啶)則用數(shù)字字符“4”表示:strrep(mystring1(i,:),'C',' 4'),每個(gè)數(shù)值用一個(gè)空格隔開(kāi),這樣防止數(shù)據(jù)緊合在一起。然后,再用str2num函數(shù)將這些“1”“2”“3”“4”字符轉(zhuǎn)化為真正的數(shù)值1、2、3、4,從而可以進(jìn)行matlab匯圖仿真,得到四段基因序列的圖譜分布。

      三、結(jié)束語(yǔ)

      Matlab具有強(qiáng)大的計(jì)算功能,在高校教學(xué)中,字符串計(jì)算是其中一個(gè)重要方面,matlab的符號(hào)處理功能非常之多,本文利用其字符串的巧妙編程功能,主要利用其查找與替代功能中的字符串與數(shù)值間的函數(shù)變換對(duì)基因序列實(shí)現(xiàn)了數(shù)值仿真統(tǒng)計(jì)計(jì)算,仿真結(jié)果揭示了字符串序列的統(tǒng)計(jì)性質(zhì),描繪了DNA序列的圖譜分布,為后續(xù)數(shù)學(xué)建模提供了前期的理論探討,同時(shí)為符號(hào)計(jì)算提供了一種新的研究思路。

      參考文獻(xiàn):

      [1]聶建輝.Matlab與科學(xué)計(jì)算課程教學(xué)方法改革[J].學(xué)周刊,2017(19):5-6.

      [2]王浩然,徐春芳,楊玲,等.基于Matlab軟件GUI的機(jī)械波模擬[J].物理與工程,2017(02):83-86.

      [3]羅宏偉,張建剛,杜文舉,等.基于MATLAB軟件的周期符號(hào)糾纏函數(shù)構(gòu)造的新混沌系統(tǒng)動(dòng)力學(xué)分析[J].數(shù)字技術(shù)與應(yīng)用,2017(03):54-57.

      [4]陳漢威.MATLAB數(shù)學(xué)實(shí)驗(yàn)在經(jīng)濟(jì)模型教學(xué)中的應(yīng)用[J].吉林工程技術(shù)師范學(xué)院學(xué)報(bào),2017(01):91-93.

      [5]杜泉.MATLAB在數(shù)字信號(hào)處理教學(xué)中的應(yīng)用[J].電子測(cè)試,2016(24):121+120.

      [6]張林,王艷芬,張曉光,等.基于MatlabGUI的數(shù)字信號(hào)處理演示平臺(tái)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2016(12):154-157.

      [7]聞紹飛,劉紀(jì)紅,孫宇舸.MATLAB在數(shù)字信號(hào)處理實(shí)驗(yàn)教學(xué)中的研究[J].實(shí)驗(yàn)室科學(xué),2016(05):74-75+79.

      [8]胡明華,李青勇,袁鈺.基于Matlab的信號(hào)處理系統(tǒng)與分析[J]. 電子測(cè)試,2016(20):48+47.

      [9]余豐.基于Matlab的信號(hào)處理系統(tǒng)與分析[J].電子技術(shù)與軟件工程,2016(12):96.

      [10]楊繼臣,劉磊安.基于MATLAB編程的數(shù)字信號(hào)處理教學(xué)改革[J].福建電腦,2016(04):83-84.

      [11]張雪峰.MATLAB仿真軟件在線性代數(shù)課程中的應(yīng)用研究[J].曲阜師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2016(01):42-46+50.

      [12]美國(guó)國(guó)家生物技術(shù)信息中心GenBank數(shù)據(jù)庫(kù).https://www.ncbi.nlm.nih.gov/.

      猜你喜歡
      Matlab仿真字符串
      基于文本挖掘的語(yǔ)詞典研究
      微信網(wǎng)絡(luò)的信息傳播模型研究
      常規(guī)PID控制和常規(guī)模糊控制的比較
      基于凸極效應(yīng)的混合動(dòng)力車(chē)用IPMSM無(wú)傳感器控制的設(shè)計(jì)
      科技視界(2016年25期)2016-11-25 19:58:36
      感應(yīng)電機(jī)低速運(yùn)行時(shí)自適應(yīng)狀態(tài)觀測(cè)器研究
      科技視界(2016年21期)2016-10-17 18:04:55
      淺析地區(qū)電網(wǎng)諧波治理方案
      MATLAB仿真在《控制工程基礎(chǔ)》教學(xué)中的應(yīng)用
      考試周刊(2016年11期)2016-03-17 05:33:40
      一種新的基于對(duì)稱性的字符串相似性處理算法
      高效的top-k相似字符串查詢算法
      依據(jù)字符串匹配的中文分詞模型研究
      九龙城区| 嫩江县| 南和县| 大埔县| 唐山市| 郑州市| 开平市| 榆中县| 米林县| 满洲里市| 屏东县| 玉田县| 额敏县| 方城县| 潮安县| 兴化市| 连平县| 南宫市| 彭阳县| 华池县| 河津市| 榆社县| 嘉祥县| 福泉市| 泊头市| 嘉义县| 岑溪市| 剑河县| 南岸区| 八宿县| 平顺县| 鹤岗市| 西青区| 临安市| 浑源县| 安泽县| 新津县| 博爱县| 谢通门县| 乌鲁木齐县| 浦江县|