matlab學習心得
關于學習MATLAB一點心得
摘要MATLAB作為當前國際控制界最流行的面向工程與科學計算的高級語言、它可輕易的再現(xiàn)C或FORTANT語言幾乎全部的功能,并設計出功能強大、界面優(yōu)美、穩(wěn)定可靠的高質(zhì)量程序來,而且編程效率和計算效率極高。在當今快速發(fā)展的時刻,數(shù)字仿真技術在各個領域都得到了廣泛的應用與發(fā)展,掌握并且能夠熟練的運用MATLAB軟件進行仿真是必不可少的。學習關鍵能夠區(qū)分文本文件與函數(shù)文件的區(qū)別、繪圖功能、對仿真結果分析用到的不同方法、控制系統(tǒng)的計算機輔助分析
通過一段時間的學習MATLAB軟件,通過自己實際動手的操作也懂得了關于MATLAB仿真之間的差別,學會了怎樣更好的運用這個軟件,畢竟對以后的的學習工作都用的著,所以對有些章節(jié)的內(nèi)容應該更加的鞏固,對有些知識點自己應該加以總結,對一些內(nèi)容應該多加以分析,例如不同的步長不同的仿真時間得到的結果都是不盡相同的。
1、文本文件與函數(shù)文件之間的區(qū)別
因為MATLAB本身可以被認為是一種高級語言,所以用它可編寫寫出具有特殊意義的磁盤文件來。這些磁盤文件由一系列的MATLAB語句組成,它既可能是由一系列窗口命令語句構成的文本文件,又可以是由各種控制語句和說明語句構成的函數(shù)文件。由于它們都是有ASCII碼構成的,其擴展名均為“.m”,故統(tǒng)稱為M文件。文本文件有一系列的MATLAB語句組成,它類似與DOS下的批處理文件,在MATLAB地提示下直接鍵入文本文件名,便可自動執(zhí)行文件中的一系列命令,直至給出最終結果。文本文件在工作空間中運算的變量為全局變量。然而函數(shù)文件的功能是建立一個函數(shù),且這個函數(shù)可以同MATLAB的庫函數(shù)一樣使用,它與文本文件不同,在一般情況下不能單獨鍵入函數(shù)文件的文件名運行一個函數(shù)文件,它必須由其他語句來調(diào)用,函數(shù)文件允許有多個輸入?yún)?shù)和多個輸出參數(shù)值。
所以在這兩個不同之間的文件之間必須一定要加以區(qū)別開來,我一般最先看到的是第一行是否有function開頭的語句,且是不是存在函數(shù)名和輸入形式參數(shù)和輸出形式參數(shù),一般沒有這一行的磁盤文件就是文本文件;驹谶\行的時候函數(shù)文件中定義的變量為局部變量,也就是說它只在函數(shù)內(nèi)有效。即在該函數(shù)返回后,這些變量會自動在MATLAB工作空間中清除掉,這與文本文件不同的,但可通過命令global來定義一個全局變量。2、MATLAB繪圖功能
如今繪圖功能的運用已經(jīng)普遍化,如今MATLAB被控制界廣泛接受正是因為它能夠提供了十分方便的一系列繪圖命令,所以學習畫圖這一部分一定需要認真的學習,另外學習做好的工具就是要與實踐相結合,多學多畫,可以看出繪圖功能可以為很多題目提供很多的結果,可以快速的畫圖,反應系統(tǒng)的結果。例如:
>>x=0:0.1:2*pi;plot(x,sin(x),x,cos(x))10.80.60.40.20-0.2-0.4-0.6-0.8-101234567
修改>>x=0:2*pi;plot(x,sin(x),x,cos(x))
10.80.60.40.20-0.2-0.4-0.6-0.8-11234560為什么修改之后曲線變了原因是步長改了,在第一次的命令窗口中步長為0.1第二次沒有設定步長,系統(tǒng)卻沒有自動設定合理的步長,給以的是系統(tǒng)設定的步長為1,所以實驗時自己有必要要給出步長。所以在不同的步長的時候得到的圖形是不盡相同的,只有提供的合理的步長參數(shù),對于一個系統(tǒng)的仿真才能得到合理的圖形。
另外要學會運用holdon以及holdoff在繪圖時候的功能,增加網(wǎng)格也可以為測量提供簡要的標準。3.仿真結果分析用到的不同方法
Simulink是一個用來對動態(tài)系統(tǒng)進行建模、仿真和分析的軟件包。所以說對于結果的分析會存在幾種不同的方法,但得到的結果大體是應該是相同的。(1)利用示波器模塊(Scope)得到輸出結果
當利用示波器模塊作為輸出的時候,它不僅會自動的將仿真結果從示波器上實時的顯示出來,也可以把示波器緩沖區(qū)存儲的數(shù)據(jù),送到MATLAB工作空間指定的變量中保存起來,以便利用繪圖命令在MATLAB命令窗口里繪制出圖形。示波器顯示輸出結果在整個仿真結果分析中用到的是最普遍的,修改不同的仿真參數(shù)可以得到的是不同的仿真結果,在仿真運行結果中能夠最直觀的得到輸出波形。對下圖所示的模型框圖進行仿真:
12s+1.2sScopeStepTransferFcn
能夠最直觀的用示波器觀察到仿真的結果,但是對于仿真輸出的波形圖是不好打印作為參考的,示波器只是能夠快速的提供出仿真的波形圖,為了能夠更好地保存輸出的波形圖就需要另外一種仿真結果的輸出即利用輸出接口模塊(Out1),然后利用畫圖軟件在命令窗口運用plot()得到波形圖。(2)利用輸出接口模塊(Out1)得到輸出結果
用示波器得到的輸出波形由于并不好打印出來,就需要運用輸出接口模塊把仿真結果返回到MATLAB的工作空間,就需要修改一些參數(shù)
如上圖所示必須選定WorkspaceI/O頁面中的時間變量(Time)和輸出變量(Output)對話框,對話框中德變量名既可以采用默認的,也可以根據(jù)需要更名。
對上個模型改用輸出接口模型得到輸出結果:112s+1.2sOut1StepTransferFcn修改參數(shù)以后最重要的是要把WorkspaceI/O頁面中的時間變量(Time)和輸出變量(Output)對話框的變量改為t和y,其它的參數(shù)采用默認值就好。選擇Simulation-Start命令開始仿真,等聽到嘟的一聲后仿真結束,此時可返到MATLAB工作窗口,運行命令:>>plot(t,y)1.41.210.80.60.40.201*101520既可以得到一張白底色的圖片,運用輸出接口模塊返回到MATLAB的工作空間中,然后運用畫圖命令plot()即可以得到輸出響應曲線,選著edit-CopeFigure即可以復制出這個輸出響應曲線,在很多實驗報告中或者論文總結的時候都可以用到這個功能,所以總結出輸出接口模塊與示波器的結合使用是在系統(tǒng)模型仿真中運用的最多的,示波器可以實時的得到自己想得到的輸出響應曲線,然后輸出接口模塊則可以得到響應曲線的圖片。
(3)利用把數(shù)據(jù)傳送到工作空間模塊(ToWorkspace)得到輸出結果
對于上面兩種得到仿真結果的方法,和利用ToWorkspace模塊向MATLAB工作空間傳送數(shù)據(jù)相比較,我個人還是覺得前兩種方法比較簡單,但是軟件的設計出不同的方法是可以體現(xiàn)出功能的強大。
對以上的模型用ToWorkspace模塊的系統(tǒng)模型圖:修改參數(shù)不能選定WorkspaceI/O頁面中的時間變量(Time)和輸出變量(Output)對話框的選項,但是Workspace保存類型(Saveformat)一欄中的選項均為列矩陣的形式(Array)。1y2s+1.2sToWorkspaceStepTransferFcntClockToWorkspace1三種輸出結果的可以得到相同的輸出響應曲線,所以對于MATLAB的輸出結果的分析可以用到不同的方法,選著適合自己的方法是可以為快速的實驗提供好的好的條件。
4、控制系統(tǒng)的計算機輔助分析
系統(tǒng)仿真實質(zhì)上就是對描述系統(tǒng)的數(shù)學模型進行求解。對控制系統(tǒng)來說,系統(tǒng)的數(shù)學模型實際上就是某種微分方程或者差分方程模型,因而在仿真過程中需要根據(jù)某種數(shù)值算法從系統(tǒng)給定的初始值出發(fā),逐步地計算出每一個時刻系統(tǒng)的響應,最后繪制出系統(tǒng)的響應曲線,由此分析系統(tǒng)的性能。對于一個控制系統(tǒng)通常是需要判定系統(tǒng)的穩(wěn)定性,在生產(chǎn)以及實踐的工程中需要的是先判斷的一個控制系統(tǒng)的穩(wěn)定性,判定系統(tǒng)的穩(wěn)定性有多種方法,對于一個連續(xù)系統(tǒng)來講如果所有極點都是位于左半s平面,則該系統(tǒng)式穩(wěn)定的。所有說最有效的方法判斷系統(tǒng)的穩(wěn)定性最有效的方法是求出所有的極點然后根據(jù)極點的分布即可以求出系統(tǒng)的穩(wěn)定性。
例外分析一個系統(tǒng)的上升時間、調(diào)節(jié)時間、超調(diào)量和穩(wěn)態(tài)誤差都可以通過系統(tǒng)在給定輸入信號作用下的過渡過程來評價,連續(xù)系統(tǒng)的單位階躍響應
2nG(s)2例如s22nsn繪制出無阻尼自然振蕩頻率為6,阻尼系數(shù)比分別為0.2,0.4,,1.0,2.0時系統(tǒng)的單位階躍響應曲線。
擴展閱讀:matlab心得
學習Matlab心得體會
學習Matlab已經(jīng)有一段時間了,對Matlab編程有了一定的了解。下面談談自己近期的學習心得。
第一節(jié)的時候我們對Matlab有了初步的認識:Matlab是“矩陣實驗室(matrixlaboratoy)”的縮寫,它是一種與數(shù)學水平密切相關的算法語言,專門針對科學、工程計算及繪圖的需求。Matlab的應用范圍非常廣,包括信號和圖像處理、通訊、控制系統(tǒng)設計、測試和處理、財務建模和分析以及計算機生物學等眾多應用領域。附加的工具箱擴展了Matlab環(huán)境,以解決這些領域的特定性問題。比如說在自動控制理論中用的比較多的是根軌跡,相平面,傳遞函數(shù),拉普拉斯變換,乃氏曲線等。在電機控制里面還有很多仿真實驗,也經(jīng)常用,對于輔助分析,也是很好用的。
我們已經(jīng)學習過C語言,不難發(fā)現(xiàn)Matlab的編程基本語法學習起來很快的,和C語言很類似,而且支持C語言函數(shù)的,或者說函數(shù)就是用C語言編的。大一時學習線性代數(shù),對矩陣又有了一定的了解,為今天學習Matlab打下了一定的基礎。從matlab的名字的來源可以看出,它以矩陣運算常見,在當今的科學計算中,幾乎無處不用矩陣運算,這是它的優(yōu)勢得到了充分的體現(xiàn)。
隨著學習的課時的增加,我們對Matlab的有了深入而實質(zhì)性的了解。首先我們學習了Matlab的數(shù)學運算、程序設計、程序調(diào)試、Matlab繪圖及圖形句柄,最后我們又學習了Matlab的圖形用戶界面設計。經(jīng)過幾次實驗課,我們學會了M文件編程及程序調(diào)試,學會利用help這一命令對程序進行解釋。
Matlab是以解釋方式工作的,即它對每條語句解釋后立即執(zhí)行,若有錯誤也立即做出反應,便于對程序進行修改,大大減輕了編程和調(diào)試的工作量。它靈活、方便,程序調(diào)試手段豐富,調(diào)試速度快。Matlab語言像Basic和C語言一樣規(guī)定了矩陣的算算術運算符、關系運算符、邏輯運算符、條件運算符及賦值運算符等。Matlab的繪圖功是十分方便的,在調(diào)用繪圖函數(shù)時調(diào)整自變量可繪制出不同顏色的點、線、復線或多重線,這是通用的編程語言所不及的。Matlab的工作環(huán)境主要由命令窗口、圖形窗口、和文本編輯窗口組成。
當然,matlab與其它計算機語言相比,有其獨特的優(yōu)點。特點如下:Matlab把編輯、編譯、連接以及執(zhí)行融為一體,加快了編寫、修改、和調(diào)試程序的速度,或者說是一種比VB還要簡單的語言。Matlab語言的內(nèi)容極為豐富,它的各種函數(shù)都與數(shù)學領域有關,它的起點高,編程效率高,用戶使用方便,智能化程度高,人機交互性好,功能豐富,可擴展性強。
通過這段時間的理論學習及實驗,我覺得要提高matlab編程能力的方法有以下幾點:(1)利用help,lookfor等功能對程序進行編譯修改。(2)多上網(wǎng)查資料,上論壇,搜索帖子、發(fā)帖子問人(3)閱讀別人、特別是一些高級技術人員的程序,在閱讀的過程中進行學習,學習別人的編程方法。(4)還要有一本matlab的函數(shù)工具詞典,可以盡量多的熟悉matlab自帶的函數(shù),因為matlab自帶的函數(shù)特別多,基本上能夠滿足一般的數(shù)據(jù)和矩陣的計算。當然了,正如所有的程序語言一樣,“3分課本7分上機”,一定要動手才行,不能光看。多想、多思考、多嘗試,才是正路。
記得上第一節(jié)課時,老師給我們放得ppt上有這樣一句話:學會Matlab將改變你的一生,網(wǎng)絡對你的改變將遠遠的超過一臺獨立的計算機!作為一名電氣工程及其自動化的一名學生,學好Matlab是非常有用的,擴展就業(yè)方向,為將來就業(yè)打下良好的基礎!
最后,感謝老師您這么久以來對我們的諄諄教導!我們不會忘記您對我們的細心輔導,不會忘記您在我們瞌睡的時候給我們的講的故事
友情提示:本文中關于《matlab學習心得》給出的范例僅供您參考拓展思維使用,matlab學習心得:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權問題,請聯(lián)系我們及時刪除。