Matlab全套全套課件_第1頁
Matlab全套全套課件_第2頁
Matlab全套全套課件_第3頁
Matlab全套全套課件_第4頁
Matlab全套全套課件_第5頁
已閱讀5頁,還剩451頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Matlab概述Matlab(矩陣實驗室)是MATrixLABoratory的縮寫,是一款由美國TheMathWorks公司出品的商業(yè)數(shù)學(xué)軟件。Matlab是一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境。1.1Matlab簡介除了矩陣運算、繪制函數(shù)/數(shù)據(jù)圖像等常用功能外,Matlab還可以用來創(chuàng)建用戶界面及與調(diào)用其它語言(包括C,C++和FORTRAN)編寫的程序。盡管Matlab主要用于數(shù)值運算,但利用為數(shù)眾多的附加工具箱(Toolbox)它也適合不同領(lǐng)域的應(yīng)用。另外還有一個配套軟件包Simulink,提供了一個可視化開發(fā)環(huán)境,常用于系統(tǒng)模擬、動態(tài)/嵌入式系統(tǒng)開發(fā)等方面。1.1.1Matlab的發(fā)展

1980年,Moler教授用Fortran語言編寫了集命令翻譯、科學(xué)計算于一身的一套交互式軟件系統(tǒng)。1984年,Moler等成立了MathWorks的公司,用C語言完全改寫Matlab,并推出第一個商業(yè)版。此后,增添圖形圖像處理、符號運算、以及與其他流行軟件的接口功能,使得Matlab的功能越來越強(qiáng)大。到九十年代,在國際上30幾個數(shù)學(xué)類科技應(yīng)用軟件中,Matlab在數(shù)值計算方面獨占鰲頭。1984第一個商業(yè)化的DOS版本1992MATLAB4.01994MATLAB4.21997MATLAB5.01999MATLAB5.32000MATLAB6.02002MATLAB6.52004MATLAB7.02006MATLAB7.2Release2006a2006MATLAB7.3Release2006b2008MATLAB7.6Release2008a2008MATLAB7.7Release2008b……1.1.1Matlab的發(fā)展(續(xù)) 1984年,Matlab1.0(DOS版,182K,20多個函數(shù)) 1992年,Matlab4.0(93年推出Windows版,加入simulink)

1994年,Matlab4.2(得到廣泛重視和應(yīng)用) 1999年,Matlab5.3(真正實現(xiàn)32位運算)

2002年,Matlab6.5(采用JIT加速器) 2004年,Matlab7.0(Release14)

…1.1.1Matlab的發(fā)展(續(xù))

2012年3月,Matlab7.14(Release2012a)

2012年9月,Matlab8.0(Release2012b,本課程演示的版本)

2013年,Matlab8.1(Release2013a,目前最新版本)

說明: 到7.1版為止,MATLAB的釋放編號均以數(shù)字來命名,例如R7,R12.1,R14SP1等;從7.2版開始,釋放編號以年份來命名,每年3月份推出的用a表示,9月份推出的則以b表示。1.1.2Matlab的歷史影響MATLAB就是這樣經(jīng)過了近30年的專門打造、20多年的千錘百煉,它以高性能的數(shù)組運算(包括矩陣運算)為基礎(chǔ),不僅實現(xiàn)了大多數(shù)數(shù)學(xué)算法的高效運行函數(shù)和數(shù)據(jù)可視化,而且提供了非常高效的計算機(jī)高級編程語言,在用戶可參與的情況下,各種專業(yè)領(lǐng)域的工具箱不斷開發(fā)和完善,MATLAB取得了巨大的成功,已廣泛應(yīng)用于科學(xué)研究、工程應(yīng)用,用于數(shù)值計算分析、系統(tǒng)建模與仿真。1.1.2Matlab的歷史影響(續(xù))早在20世紀(jì)90年代初,歐美等發(fā)達(dá)國家的大學(xué)就將MATLAB列為一種必須掌握的編程語言。近幾年來,國內(nèi)的很多大學(xué)也將MATLAB列為了本科生必修課程。MATLAB軟件功能之強(qiáng)大、應(yīng)用之廣泛,已成為為21世紀(jì)最為重要的科學(xué)計算語言。可見學(xué)習(xí)掌握這一工具的重要性。

1.1.3Matlab的基本組成Matlab軟件主要由主包、Simulink動態(tài)系統(tǒng)仿真和工具箱(Toolbox)三大部分組成。主包包括了Matlab語言、數(shù)學(xué)函數(shù)庫、工作環(huán)境、圖形處理系統(tǒng)和應(yīng)用程序接口五部分。Simulink是用于系統(tǒng)仿真的交互式圖形系統(tǒng),是Matlab非常重要的共生產(chǎn)品。Toolbox實際是用Matlab的基本語句編成的開放式各種子程序集,用于解決各專業(yè)領(lǐng)域的特定問題,例如:控制系統(tǒng)、信號處理、圖像處理、模糊集合、神經(jīng)網(wǎng)絡(luò)、小波分析等。1.1.3Matlab的基本組成(續(xù))

MATLAB產(chǎn)品由若干模塊組成,不同的模塊完成不同的功能,其中有:

實際上MATLAB本身就是一個極其豐富的資源庫,那么應(yīng)該從哪一部分開始著手、學(xué)習(xí)使用MATLAB呢?這就有必要了解這一軟件產(chǎn)品的體系結(jié)構(gòu)。MATLABCompiler這種編譯器可以將MATLAB程序文件編譯生成標(biāo)準(zhǔn)的C/C++語言文件,而生成的標(biāo)準(zhǔn)的C/C++文件可以被任何一種C/C++編譯器編譯生成函數(shù)庫或可執(zhí)行文件,以提高程序的運行效率。MATLABMATLABToolboxesMATLABCompilerSimulinkSimulinkBlocksetsReal-TimeWorkshopStateflowStateflowCoder由這些模塊產(chǎn)品之間的關(guān)系如上圖1.1.3表示。圖1.1.3MATLAB產(chǎn)品體系結(jié)構(gòu)圍繞著MATLAB這個計算核心,形成了諸多針對不同應(yīng)用領(lǐng)域的算法程序包,被稱為專用工具箱(Toolbox),這些工具箱的列表以及每個工具箱的使用詳見MATLAB在線幫助文檔。MATLAB本身所提供的工具箱大概有40多個,另外還有其他公司或研究單位開發(fā)提供的工具箱,這些工具箱的總數(shù)已有100多個,而且新的工具箱還在不斷增加。如果你有特別的應(yīng)用領(lǐng)域,可以首先到網(wǎng)上查找是否已有相關(guān)的工具箱,很可能已有人將你要做的應(yīng)用程序作成工具箱了。Simulink是窗口圖形方式的、專門用于連續(xù)時間或離散時間的動態(tài)系統(tǒng)建模、分析和仿真的核心。Real-TimeWorkshop是一種實時代碼生成工具,它能夠根據(jù)Simulink模型生成程序源代碼,并打包、編譯所生成的源代碼生成實時應(yīng)用程序。Stateflow是基于有限狀態(tài)機(jī)理論針對復(fù)雜的事件驅(qū)動系統(tǒng)進(jìn)行建模、仿真的工具。StateflowCoder是基于Stateflow狀態(tài)圖生成高效、優(yōu)化的程序代碼。圍繞著Simulink仿真核心所開發(fā)的應(yīng)用程序包,稱為模塊集(Blocksets),MATLAB產(chǎn)品提供許多專用模塊集,如CommunicationBlockset、DSPBlockset、SimPowerSystemBlockset、SignalProcessingBlockset等,詳見MATLAB在線幫助文檔。MATLAB是MATLAB產(chǎn)品家族的計算核心與基礎(chǔ),是集高性能數(shù)值計算與數(shù)據(jù)可視化于一體的高效編程語言。1.1.4Matlab的安裝購買(或下載)Matlab軟件(本校學(xué)生登錄進(jìn)入目錄/soft/教育學(xué)習(xí)/Matlab/2012b即可下載該軟件)插入光盤,自動運行;或點擊安裝程序setup.exe安裝中選擇“不使用Internet安裝”接受許可協(xié)議輸入安裝密鑰(注意:自R2008a開始增加了激活要求)倒入許可協(xié)議設(shè)置快捷方式點擊“安裝”進(jìn)行安裝等待安裝結(jié)束1.2.1Matlab的特點Matlab具有用法簡易、可靈活運用、程式結(jié)構(gòu)強(qiáng)又兼具延展性。以下為其幾個特色:高階但簡單的程式環(huán)境。做為一種直譯式的程式語言,Matlab容許使用者在短時間內(nèi)寫完程式,所花的時間約為用FORTRAN或C的幾分之一,而且不需要編譯(compile)及聯(lián)結(jié)(link)即能執(zhí)行,同時包含了更多及更容易使用的內(nèi)建功能。MATLAB基本的語言環(huán)境提供了數(shù)以千計的計算函數(shù),極大的提高了用戶的編程效率。如,一個fft函數(shù)即可完成對指定數(shù)據(jù)的快速傅里葉變換,這一任務(wù)如果用C語言來編程實現(xiàn)的話,至少要用幾十條C語言才能完成。1.2

Matlab的特點與功能MATLAB是一種腳本式(scripted)的解釋型語言,無論是命令、函數(shù)或變量,只要在命令窗口的提示符下鍵入,并“回車(Enter)”,MATLAB都予以解釋執(zhí)行。先進(jìn)的資料視覺化功能。Matlab的物件導(dǎo)向圖形架構(gòu)讓使用者可執(zhí)行視覺數(shù)據(jù)分,并制作高品質(zhì)的圖形,完成科學(xué)性或工程性圖文并茂的文章。平臺無關(guān)性(可移植性)。MATLAB軟件可以運行在很多不同的計算機(jī)系統(tǒng)平臺上,如WindowsMe/NT/2000/XP、很多不同版本的UNIX以及Linux。無論你在哪一個平臺上編寫的程序都可以運行在其它平臺上,對于MATLAB數(shù)據(jù)文件也一樣,是平臺無關(guān)的。極大保護(hù)了用戶的勞動、方便了用戶。其繪圖功能也是平臺無關(guān)的。無論任何系統(tǒng)平臺,只要MATLAB能夠運行,其圖形功能命令就能正常運行。1.2

Matlab的特點與功能(續(xù))開放及可延伸的架構(gòu)。Matlab容許使用者接觸它大多數(shù)的數(shù)學(xué)原使碼,檢視運算法,更改現(xiàn)存函數(shù),甚至加入自己的函數(shù)使Matlab成為使用者所需要的環(huán)境。豐富的程式工具箱。Matlab的程式工具箱融合了套裝前軟體的優(yōu)點,與一個靈活的開放但容易操作之環(huán)境,這些工具箱提供了使用者在特別應(yīng)用領(lǐng)域所需之許多函數(shù)。現(xiàn)有工具箱有:符號運算(利用MapleV的計算核心執(zhí)行)、影像處理、統(tǒng)計分析、訊號處理、神經(jīng)網(wǎng)路、模擬分析、控制系統(tǒng)、即時控制、系統(tǒng)確認(rèn)、強(qiáng)建控制、弧線分析、最佳化、模糊邏輯、mu分析及合成、化學(xué)計量分析。1.2

Matlab的特點與功能(續(xù))1.2.2Matlab的功能Matlab符號計算功能

Matlab和著名的符號計算語言Maple相結(jié)合Matlab的繪圖功能

Matlab提供豐富的繪圖命令, 很方便實現(xiàn)數(shù)據(jù)的可視化Matlab的編程功能

Matlab具有程序結(jié)構(gòu)控制、函數(shù) 調(diào)用、數(shù)據(jù)結(jié)構(gòu)、輸入輸出、面向?qū)ο蟮瘸绦蛘Z言特征,而且簡單易學(xué)、編程效率高。通過Matlab進(jìn)行編程完成特定的任務(wù)1.2

Matlab的特點與功能(續(xù))Matlab豐富的工具箱(toolbox) 根據(jù)專門領(lǐng)域中的特殊需要而設(shè)計的各種可選工具箱Matlab的Simulink動態(tài)仿真集成環(huán)境 提供建立系統(tǒng)模型、選擇仿真參數(shù)和數(shù)值算法、啟動仿真程序?qū)υ撓到y(tǒng)進(jìn)行仿真、設(shè)置不同的輸出方式來觀察仿真結(jié)果等功能SymbolicMathPDEOptimizationSignalprocessImageProcessStatisticsControlSystemSystemIdentification……1.2

Matlab的特點與功能(續(xù))例、用一個簡單命令求解線性系統(tǒng)

3x1+x2-x3=3.6x1+2x2+4x3=2.1-x1+4x2+5x3=-1.4A=[31-1;124;-145];b=[3.6;2.1;-1.4];x=A\bx=1.4818-0.46060.3848例、用簡短命令計算并繪制在0x6范圍內(nèi)的sin(2x)、sinx2、sin2x。x=linspace(0,6)y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;plot(x,y1,x,y2,x,y3)1.3MatlabR2012b的視窗環(huán)境1.3.1啟動與退出MATLAB啟動MATLAB 直接用鼠標(biāo)雙擊桌面上MATLAB圖標(biāo) 或Windows桌面的“開始”—〉“所有程 序”—〉“MATLAB”—〉“R2012b”—〉 “MATLABR2012b”退出MATLAB 關(guān)閉MATLAB桌面 或在命令窗口執(zhí)行quit或exit命令MATLAB缺省桌面(見下頁)1.3MatlabR2012b的視窗環(huán)境1.3MatlabR2012b的視窗環(huán)境(續(xù))HOMEPLOTSAPPSCommandwindowWorkspaceCommandHistoryCurrentFlolderDetails該桌面的上層鋪放著三個最常用的界面: 指令窗(CommandWindow)、當(dāng)前目錄(CurrentDirectory)瀏覽器、Matlab工作內(nèi)存空間(Workspace)瀏覽器、歷史指令(CommandHistory)窗。1.3MatlabR2012b的視窗環(huán)境(續(xù))1.3.2指令窗(CommandWindow)進(jìn)入Matlab之后,會看道到一個視窗CommandWindow稱為指令視窗,它是你鍵入指令的地方也是Matlab將計算結(jié)果顯示在此。在該窗內(nèi),可鍵入各種送給Matlab運作的指令、函數(shù)、表達(dá)式;顯示除圖形外的所有運算結(jié)果;運行錯誤時,給出相關(guān)的出錯提示。1.3.2Matlab指令窗(續(xù))Matlab語句形式

>>變量=表達(dá)式;

當(dāng)鍵入回車鍵時,該語句被執(zhí)行。語句執(zhí)行之后,窗口自動顯示出語句執(zhí)行的結(jié)果。如果希望結(jié)果不被顯示,則需在語句之后加上分號。此時盡管結(jié)果沒有顯示,但它依然被賦值并在Matlab工作空間中分配了內(nèi)存。方向鍵可以編輯修改已輸入的命令 ↑:調(diào)出上一行語句; ↓:調(diào)出下一行語句;多行命令(…)如果命令語句超過一行或者太長希望分行輸入,則可以使用多行命令繼續(xù)輸入。例如:S=1-12+13+4+9-4-18;等價于:

S=1-12+13+4+…9-4-18;命令窗口的分頁輸出

moreoff:不允許分頁

moreon:允許分頁

more(n):指定每頁輸出的行數(shù)回車鍵顯示下一行,空格鍵顯示下一頁,q結(jié)束當(dāng)前顯示。1.3.2Matlab指令窗(續(xù))在該瀏覽器中,展示著子目錄、M文件、MAT文件和MDL文件等。對該界面上的M文件,可直接進(jìn)行復(fù)制、編輯和運行;界面上的MAT數(shù)據(jù)文件,可直接送入Matlab工作內(nèi)存。此外,對該界面上的子目錄,可進(jìn)行Windows平臺的各種標(biāo)準(zhǔn)操作。此外,在當(dāng)前目錄瀏覽器正下方,還有一個“文件概況窗(Details)”。該窗顯示所選文件的概況信息。比如該窗會展示:M函數(shù)文件的H1行內(nèi)容,最基本的函數(shù)格式;所包含的內(nèi)嵌函數(shù)和其它子函數(shù)。1.3.3當(dāng)前目錄(CurrentDirectory)瀏覽器1.3.3

當(dāng)前目錄瀏覽器(續(xù))該瀏覽器默認(rèn)地位于當(dāng)前目錄瀏覽器的后臺。該窗口羅列出Matlab工作空間中所有的變量名、大小、字節(jié)數(shù);在該窗中,可對變量進(jìn)行觀察、圖示、編輯、提取和保存。1.3.4工作內(nèi)存空間(Workspace)瀏覽器Matlab的workspace中的變量管理who:顯示當(dāng)前工作空間中所有變量的一個簡單列表;whos:顯示出變量的大小、數(shù)據(jù)格式等詳細(xì)信息;clear:清除工作空間中所有的變量;clear變量名:清除指定的變量;1.3.4Matlab工作內(nèi)存空間瀏覽器(續(xù))Matlab的workspace中的變量保存和載入save:將工作空間的所有變量存到Matlab.mat的二進(jìn)制文件中。savefilename:將所有變量保存到磁盤文件filename中。savefilenamevariables:將variables所表示的變量列表保存到磁盤文件filename中。各個不同的變量之間只能用空格來分隔。load(filename)(variables):將數(shù)據(jù)文件載入Matlab工作空間。1.3.4Matlab工作內(nèi)存空間瀏覽器(續(xù))該窗記錄已經(jīng)運作過的指令、函數(shù)、表達(dá)式,及它們運行的日期、時間。該窗中的所有指令、文字都允許復(fù)制、重運行及用于產(chǎn)生M文件。1.3.5歷史指令(CommandHistory)窗【例1.3-1】計算半徑為5.2m的圓的周長和面積。>>radius=5.2;%圓的半徑>>area=pi*5.2^2,circle_len=2*pi*5.2area=

84.9487circle_len=

32.6726以上兩例,命令行中用到了等號“=”。計算結(jié)果不再賦給“ans”,而是賦給用戶指定的變量y、area、circle_len。無論是預(yù)定義變量還是用戶自定義變量都被存儲在系統(tǒng)的工作空間內(nèi),即系統(tǒng)定義的一個存儲窗口變量的內(nèi)存空間。Who、whos命令用來顯示工作空間的變量clear命令用來清除工作空間的變量。>>who>>whosYourvariablesare:anscircle_lenyarearadius

Name SizeBytesClassans 1x18doublearrayarea 1x18doublearraycircle_len 1x18doublearrayradius 1x18doublearrayy 1x18doublearrayGrandtotalis5elementsusing40bytes>>cleary>>whoYourvariablesare:anscircle_lenarearadius

>>clearansarea>>whosYourvariablesare:NameSizeBytesClasscircle_len1x18doublearrayradius1x18doublearrayGrandtotalis2elementsusing16bytesMatlab兩種工作方式:指令行操作方式——鍵入命令行。執(zhí)行M文件方式——鍵入程序名。1.4Matlab基本命令help 啟動聯(lián)機(jī)幫助文件顯示

what 列出當(dāng)前目錄下的有關(guān)文件

type 列出M文件

lookfor 對help信息中的關(guān)鍵詞查找

which 找出函數(shù)與文件所在的目錄名

demo 運行Matlab的演示程序

path 設(shè)置或查詢Matlab的路徑who 列出當(dāng)前工作空間中的變量

whos 列出當(dāng)前工作空間中的變量及信息或用 工具欄上的Workspace瀏覽器1.4.1常用的窗口命令cedit 設(shè)置命令行編輯與回調(diào)的參數(shù)

clc 清除命令窗口中的顯示

home 將光標(biāo)移動到左上角位置

format 設(shè)置輸出格式

echo 顯示文件中的Matlab命令

more 控制命令窗口的輸出頁面1.4.2對命令窗口控制的常用命令1.4.3Matlab的輸出格式Matlab以雙精度執(zhí)行所有的運算,運算結(jié)果可以在屏幕上輸出,同時賦給指定變量;若無指定變量,則系統(tǒng)會自動將結(jié)果賦給變量“ans”Matlab中數(shù)的輸出格式可以通過format命令指定 注意:

輸出格式由format命令控制,只是影響屏幕顯示效果,不影響內(nèi)部存儲和計算。格式解釋以pi為例format短格式(缺省顯示格式),同short3.1416formatshort短格式(缺省顯示格式),只顯示5位3.1416formatlong長格式,雙精度數(shù)15位,單精度數(shù)7位3.14159265358979formatshorte短格式e方式(科學(xué)計數(shù)格式)3.1416e+000formatlonge長格式e方式3.141592653589793e+000formatshortg短格式g方式3.1416formatlongg長格式g方式3.14159265358979formatcompact壓縮格式formatloose自由格式format+/formatbank/formatrat/formathex(詳情查看聯(lián)機(jī)幫助)1.4.3Matlab的輸出格式(續(xù))(1)↑或者Ctrl+p

調(diào)用上一次的命令(2)↓或者Ctrl+n

調(diào)用下一行的命令

(3)←或者Ctrl+b

退后一格

(4)→或者Ctrl+f

前移一格(5)Ctrl+←或者Ctrl+r

向右移一個單詞

(6)Ctrl+→或者Ctrl+l

向左移一個單詞(7)Home或者Ctrl+a

光標(biāo)移到行首1.4.4其它常用功能(8)End或者Ctrl+e

光標(biāo)移到行尾

(9)Esc或者Ctrl+u

清除一行

(10)Del或者Ctrl+d

清除光標(biāo)后字符

(11)Backspace或者Ctrl+h

清除光標(biāo)前字符

(12)Ctrl+k

清除光標(biāo)至行尾字

(13)Ctrl+c

中斷程序運行(14)Tab鍵命令補(bǔ)全功能最后我們說一下Matlab的幫助系統(tǒng),一開始學(xué)接觸Matlab的人不喜歡用幫助系統(tǒng),因為里面的說明都是英文,我覺得大家應(yīng)該養(yǎng)成有問題去求助help系統(tǒng)的習(xí)慣,問題最好還是能自己解決,這樣印象會比較深刻,不要碰到不懂的函數(shù)和問題就到論壇里問,幫助文件的英文描述語法還是比較簡單的,個別詞用詞霸查一下,用于幫助系統(tǒng)的功能十分強(qiáng)大,我覺得一半以上的問題是可以自己解決的。1.5Matlab幫助系統(tǒng)MATLAB提供的幫助信息有兩類簡單純文本幫助信息helplookfor(條件比較寬松)例:inverse窗口式綜合幫助信息(文字、公式、圖形)dochelpwin1.5Matlab幫助系統(tǒng)(續(xù))1.5.1

Matlab的幫助命令helpwin指令在命令窗口中鍵入helpwin,進(jìn)入幫助窗口;helpdesk指令在命令窗口中鍵入helpdesk(或doc,或點擊工具條中的?按鈕),進(jìn)入幫助窗口,顯示HTML格式的幫助內(nèi)容。help命令

help:列出所有的幫助主題,每個幫助主題對應(yīng)于Matlab搜索路徑中的一個目錄;

help庫名:得到庫中全部函數(shù)名;

help函數(shù)名或命令;得到函數(shù)或命令的幫助信息;lookfor命令 如在命令窗口中鍵入:lookforsu,則只要有與‘su’匹配的單詞就顯示出來。其收索條件比help命令寬。demo命令

demo:可得到Matlab及其所以工具箱中的全部演示程序。是學(xué)習(xí)Matlab的一種很好的途徑。提示:在MatlabR2012b開啟的狀態(tài)下按下F1也可以調(diào)出幫助系統(tǒng)。1.5.1

Matlab的幫助命令(續(xù))1.5.2

Matlab的幫助窗口雖然help可以隨時提供幫助,但必須知道準(zhǔn)確的函數(shù)名稱。當(dāng)不能確定函數(shù)名稱時,help就無能為力了。1.5.2

Matlab的幫助窗口(續(xù))>>helpwin1.5.2

Matlab的幫助窗口(續(xù))>>demo1.5.2

Matlab的幫助窗口(續(xù))鼠標(biāo)單擊按鈕本章小結(jié)本章主要內(nèi)容:介紹了MATLAB的發(fā)展、基本組成、主要功能及其特點,MATLAB命令窗口及文件管理,MATLAB幫助系統(tǒng)等工作環(huán)境的基本操作。重點和難點:命令行的輸入,用戶目錄及搜索路徑的設(shè)置。練習(xí)題1.標(biāo)點符號—可以使命令不顯示結(jié)果,———用來表示注釋改行。2.用“format”命令設(shè)置數(shù)據(jù)輸出格式,————將Pi顯示為3.14159265358979,——將Pi顯示為3.1416e+000.3.輸入變量a=5.3,b=[1,2;3,4],在工作空間中使用who,whos,clear命令,并用save命令將變量存入“c:\exe0101.mat”文件。4.學(xué)習(xí)設(shè)置MATLAB搜索路徑的方法,將“c:\exe”目錄添加到搜索路徑中。5.計算6.計算的值,其中x=4.92.7.計算的值。8.分別得到從0到4π步長為0.4π的變量x1和從0到4π分成10點的變量x2打開后彈出一個對話框:MATLAB為GUI設(shè)計一共準(zhǔn)備了4種模板,分別是BlankGUI(默認(rèn))

、GUIwithUicontrols(帶控件對象的GUI模板)、GUIwithAxesandMenu(帶坐標(biāo)軸與菜單的GUI模板)與ModalQuestionDialog(帶模式問話對話框的GUI模板)。

當(dāng)用戶選擇不同的模板時,在GUI設(shè)計模板界面的右邊就會顯示出與該模板對應(yīng)的GUI圖形。

我們直接點擊OK進(jìn)入默認(rèn)的窗口模板。菜單欄有File、Edit、View、Layout、Tools和Help6個菜單項菜單欄下面是工具欄,里面選項功能如下:位置調(diào)整菜單編輯Tab順序M編輯屬性設(shè)置工具欄編輯對象瀏覽運行面板控件:命令按鈕(PushButton)控件單選按鈕(RadioButton)控件編輯框(EditText)控件面板(Panel)控件ActiveX控件彈出式菜單(PopupMenu)控件開關(guān)按鈕(ToggleButton)控件滾動條(Slider)控件復(fù)選(CheckBox)控件靜態(tài)文本(StaticText)列表框(Listbox)控件坐標(biāo)軸(Axes)控件框架(ButtonGroup)控件選擇指針表格框控件2.基本操作為了添加控件,可以從GUI設(shè)計窗口的控件面板中選擇一個對象,然后以拖曳方式在客戶區(qū)建立該對象。在GUI設(shè)計窗口創(chuàng)建對象后,通過雙擊該對象,就會顯示該對象的屬性查看器,通過它可以設(shè)置該對象的屬性值。在選中對象的前提下,單擊鼠標(biāo)右鍵,會彈出一個快捷菜單,可以從中選擇某個子菜單進(jìn)行相應(yīng)的操作。在對象設(shè)計區(qū)右擊鼠標(biāo),會顯示與圖形窗口有關(guān)的快捷菜單。3.對象瀏覽器(ObjectBrowser)對象瀏覽器里面列出了所有對象的樹狀結(jié)構(gòu),這些結(jié)構(gòu)就是當(dāng)前正在設(shè)計的GUI程序中用到的所有對象。利用它可觀察當(dāng)前設(shè)計階段的各個句柄圖形對象,也可以單擊該對象以打開相應(yīng)的屬性編輯器。

如果我們在客戶區(qū)添加幾個控件打開對象瀏覽器就可看到:4.

Tab順序編輯器(TabOrderEditor)

通過該工具,設(shè)置當(dāng)按下鍵盤上的Tab鍵時,對象被選中的先后順序。選中控件通過工具欄的上、下按鈕來調(diào)節(jié)tab順序。5.菜單編輯器(MenuEditor)菜單編輯器提供了兩種菜單類型的編輯功能:下拉式菜單(MenuBar)和彈出式菜單(ContextMenu)新的菜單項新的子菜單項彈出式菜單下拉式菜單彈出式菜單標(biāo)識菜單名復(fù)選標(biāo)記分隔條回調(diào)函數(shù)快捷鍵使能標(biāo)記例十七:編寫一個3D圖的演示程序。它有一個下拉菜單“3D”包含子菜單“threedimensioncurves”、“The3Dmesh”、“Three-dimensionalsurface”,用于顯示相應(yīng)圖形。1.首先我們在matlab窗口界面輸入guide,然后選擇默認(rèn)的模板,點擊ok;2.進(jìn)入開發(fā)窗口后我們選擇一個pushbutton控件放到界面區(qū)的右下角位置,做為退出按鈕;3.右鍵點擊pushbutton控件,選擇PropertyInspector,或者雙擊控件,彈出屬性窗口;4.在屬性窗口中找到string項,將后面pushbutton改為quit,將標(biāo)簽Tag改為quit,關(guān)閉屬性框,這樣完成對控件的重命名;5.點擊MenuEditor,新建一個菜單項,命名為3D,然后在該菜單項下新建3個子菜單項,分別命名為“threedimensioncurves”、“The3Dmesh”、“Three-dimensionalsurface”,他們分被對應(yīng)的tag為:‘Untitled_1’‘Untitled_2’‘Untitled_3’‘Untitled_4’然后點擊ok;6.以上界面設(shè)置完成,我們要為程序加上代碼才能顯示圖形,首先我們保存文件,保存后自動彈出Editor對話框,或者我們點擊工具欄上的Editor選項,也可以打開Editor對話框。

在functionquit_Callback(hObject,eventdata,handles)%hObjecthandletopushbutton1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)后面加上ss=questdlg('你真的要退出嗎?','系統(tǒng)提示!','不,我還想看看!','是的,我要退出!','是的,我要退出!');switchsscase'是的,我要退出!'delete(handles.figure1);End這樣可以使quit按鈕達(dá)到退出的功能分別在“functionUntitled_2_Callback(hObject,eventdata,handles)”“functionUntitled_3_Callback(hObject,eventdata,handles)”和”functionUntitled_4_Callback(hObject,eventdata,handles)”后面添加代碼“[x,y,z]=peaks;plot3(x,y,z);”

“mesh(peaks);”和“surf(peaks);”7.完成后點擊對話框上的RUN按鈕,就會彈出已經(jīng)做好的圖形界面點擊3D可以選擇不同的圖形顯示點擊quit,會彈出對話框,讓你選擇是否退出,選擇是則關(guān)閉窗口3.1二維圖形的繪制3.1.1常用的二維圖形繪制函數(shù)(1)plot函數(shù):plot(X,Y):繪制向量Y對向量X的圖形,如果Y或者x為一矩陣,則繪出矩陣的行向量或列向量,元素個數(shù)必須對應(yīng)。plot(Y):繪制Y的列向量對其坐標(biāo)索引的圖形,若Y為向量(矩陣),則是Y的實部對虛部作圖。plot(X,Y,s):s為代表不同線型、點標(biāo)、文字的字符串。plot(X1,Y1,s1,X2,Y2,s2,X3,Y3,s3,……):繪制組合圖Plot函數(shù)若沒有顏色指定,則使用默認(rèn)值。例一:繪制單一圖形

>>x=-pi:.1:pi;y=sin(x);plot(x,y)例二:繪制組合圖形>>t=0:pi/100:pi*2;y1=sin(t);y2=sin(2*t);>>plot(t,y1,'r',t,y2,'r')(2)ezplot函數(shù):它是一個易用的一元函數(shù)繪圖函數(shù)。特別是在繪制含有符號變量的函數(shù)的圖像時,ezplot要比plot更方便。因為plot繪制圖形時要指定自變量的范圍,而ezplot無需數(shù)據(jù)準(zhǔn)備,直接繪出圖形。例三:>>ezplot('x^2')(3)fplot函數(shù):fplot(’fun’,lims)表示繪制字符串‘fun’指定的函數(shù)在lims=[min,max]范圍內(nèi)的圖形。例四:在[-2,2]上畫出tanx的圖形。方法一:>>fun=@tanh;fplot(fun,[-22])方法二:先建立一個M文

件fun.mfuntiony=fun(x);y=tan(x);

再輸入命令:fplot(‘fun’,[-2,2])方法三:>>fplot(‘tan(x)’,[-2,2])3.1.2圖形的線型和顏色控制線型符號-:-.--含義實線虛線點劃線雙劃線顏色符號bgrcmykw含義藍(lán)綠紅青品紅黃黑白點型符號.+*o><^v含義點加號星號圈三角符格式:plot(x,y,’cs’,…)

其中c表示線型,s表示顏色。例五:>>x=-pi:.1:pi;y=sin(x);plot(x,y,‘ro')‘ro’表示

生成的圖形

顏色為紅色,且為圈型例六:>>t=0:pi/100:pi*2;y1=sin(t);y2=sin(2*t);plot(t,y1,‘or’,t,y2,‘:r’)

分別畫出用虛線表示和用圓圈表示的圖形3.1.3圖形的標(biāo)注

在繪制圖形的同時,可以對圖形加上一些說明,如圖形名稱、圖形某一部分的含義、坐標(biāo)說明等,將這些操作稱為添加圖形標(biāo)記。title(‘加圖形標(biāo)題');xlabel('加X軸標(biāo)記');ylabel('加Y軸標(biāo)記');text(X,Y,‘添加文本’);——在x,y處添加文本gridon加網(wǎng)格線\bullet代表.\pi代表π\(zhòng)lefttarrow左箭頭\righttarrow右箭頭例七:plot(0:pi/20:2*pi,sin(0:pi/20:2*pi))text(pi,0,'\leftarrowsin(\pi)');title('sin(x)');xlabel('x軸');ylabel('y軸');3.1.4坐標(biāo)軸的控制方法

如果用戶對坐標(biāo)系統(tǒng)不滿意,還可以利用axis函數(shù)對坐標(biāo)軸重新定義。axis([xminxmaxyminymax])設(shè)定最大最小值axis(‘a(chǎn)uto’)恢復(fù)為默認(rèn)的坐標(biāo)值axis(‘square’)將當(dāng)前圖形設(shè)置為正方形axis(‘equal’)將圖形的x,y坐標(biāo)軸單位刻度設(shè)為相同的axis(‘off’)關(guān)閉坐標(biāo)系統(tǒng)axis(‘on’)打開坐標(biāo)系統(tǒng)

例八:沒有對坐標(biāo)系統(tǒng)進(jìn)行設(shè)置x=0:.01:pi/2;plot(x,tan(x),'-ro')對坐標(biāo)軸系統(tǒng)進(jìn)行設(shè)置后x=0:.01:pi/2;plot(x,tan(x),'-ro')axis([0pi/205])3.1.5其他特殊二維圖形(1)階梯圖形

階梯圖形因名思義,圖形成階梯狀,可以用函數(shù)stairs(x,y)來實現(xiàn)。如下程序段:x=linspace(-2*pi,2*pi,40);stairs(x,sin(x))注:linspace(x1,x2,n)表示用于產(chǎn)生x1,x2之間的n點行矢量階梯圖形:(2)條形圖形

用bar(x,y)可以繪制條形圖形。如下列程序段將繪制條形圖形。x=[-2.5:0.25:2.5];y=sin(x);bar(x,y);(3)填充圖形Fill(x,y,’c’)用來繪制和填充二維多變圖形,x,y為二維多邊形頂點坐標(biāo)向量。字符‘c’為顏色取值。如下程序段可繪制填充圖形。x=[0.10.10.60.60.1];y=[0.10.60.60.10.1];fill(x,y,'y');axis([0,1,0,1]);scatter(x,y)%畫點圖stem(x,y) %畫火柴桿圖3.2三維圖形的繪制3.2.1三維曲線的繪制

(1)polt3函數(shù)最基本的三維圖形函數(shù)為plot3,它是將二維函數(shù)plot的有關(guān)功能擴(kuò)展到三維空間,用來繪制三維圖形。

plot3(x,y,z,s)x,y,z表示三維曲線的坐標(biāo);s表示繪制三維曲線的顏色線型例九:繪制螺旋形的三維曲線

>>t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)xlabel('sin(t)')ylabel('cos(t)')zlabel('t')gridon(2)ezplot3函數(shù):專門用來繪制符號函數(shù)的命令,如同ezplot例十:用ezplot3函數(shù)繪制三維螺旋圖ezplot3('sin(t)','cos(t)','t',[0,6*pi])3.2.2三維曲面的繪制(1)meshgrid函數(shù)和peaks函數(shù)

meshgrid函數(shù)

按指定方式創(chuàng)建網(wǎng)格矩陣。函數(shù):[X,Y]=meshgrid(a,b)

peaks函數(shù)用于創(chuàng)建雙峰函數(shù)和用雙峰函數(shù)繪圖。

(2)mesh函數(shù)

mesh函數(shù)用于繪制三維網(wǎng)格圖。在不需要繪制特別精細(xì)的三維曲面結(jié)構(gòu)圖時,可以通過繪制三維網(wǎng)格圖來表示三維曲面。三維曲面的網(wǎng)格圖最突出的優(yōu)點是:它較好地解決了實驗數(shù)據(jù)在三維空間的可視化問題。mesh(x,y,z)其中x,y控制X和Y軸坐標(biāo),矩陣z是由(x,y)求得Z軸坐標(biāo),(x,y,z)組成了三維空間的網(wǎng)格點;例十一:figure;[X,Y]=meshgrid(-8:.5:8);R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;mesh(X,Y,Z);(3)Surf函數(shù)在網(wǎng)格圖的基礎(chǔ)上,在小網(wǎng)格之間用顏色填充。它的線條是黑色的,線條之間有顏色;網(wǎng)格圖的線條有顏色,線條間無顏色。在曲面圖里,要考慮用不同的方法對表面加色彩。surf函數(shù)和mesh函數(shù)的調(diào)用格式一致

例十二:繪制一個三維曲面圖形>>x=[0:0.15:2*pi];y=[0:0.15:2*pi];z=sin(y')*cos(x);surf(x,y,z)例十三:繪制一個山峰表面圖[X,Y,Z]=peaks(40);surf(X,Y,Z)gridon3.2.3特殊圖形繪制(1)餅圖pie(x)pie(x,explode)pie3(X)pie3(x,explode)

二維餅圖程序如下:x=[130.52.52];explode=[01000];pie(x,explode)三維餅圖程序如下:

x=[130.52.52];explode=[01000];pie3(x,explode)(2)誤差棒圖:errorbar繪制下數(shù)據(jù)的誤差棒圖觀察值220227245260246270256實際值225230250265250275260程序如下:x=[220227245260246270256];y=[225230250265250275260];e=abs(x-y);errorbar(y,e)axis([0,8,210,300]);誤差棒圖:3.3子圖的繪制Sublot函數(shù):

subplot(m,n,p)

該命令將圖形窗口分成m×n塊繪圖區(qū),即每行n個,一共m行。p表示圖所在的位置,p=1表示從左到右從上到下的第一個位置。

例十六:income=[3.2,4.1,5.0,5.6];outgo=[2.5,4.0,3.35,4.9];subplot(2,1,1);plot(income)title('Income')subplot(2,1,2);plot(outgo)title(‘Outgo’)圖形的輸出圖形的復(fù)制PrintScreen鍵和Ctrl+C鍵的組合使用。圖形窗口的菜單命令:edit-》copyfigure。復(fù)制的圖形可以直接在word等文本文件中粘貼。圖形的打印matlab窗口菜單命令:file-》print…。圖形窗口菜單命令:file-》print…。打印命令:print<filename>-f<figurehand>本章小結(jié)本章主要內(nèi)容:通過本章的學(xué)習(xí)了解MATLAB繪圖的主要功能,熟悉MATLAB繪圖函數(shù)和輸出方法,掌握函數(shù)基本運用方法,圖形窗口創(chuàng)建的步驟。重點和難點:圖形窗口創(chuàng)建方法、三維圖形的繪制

1.繪制圖形在[0,4π]間的圖形。

2.在同一圖形窗口繪制sinx,cosx曲線,要求用不同的顏色和線型、數(shù)據(jù)點標(biāo)記字符,X軸范圍為[0,2π],Y軸范圍為[-2,2],并加注釋說明‘sinx','cosx'以區(qū)分。

3.t=-3:0.125:3,x=sin2t,y=cos2t,z=x2+2y2,請繪制基于x,y,z的三維網(wǎng)格曲面圖。坐標(biāo)范圍為[-11-1102]。練習(xí)題

4.已知6<x<30,15<y<36,求不定方程2x+5y=126的整數(shù)解。(利用meshgrid函數(shù)和find函數(shù))5.設(shè)計一個圖形用戶界面,完成自定的功能。6.1Matlab與word的組合使用6.1.1Notebook操作基礎(chǔ)(1)Notebook的安裝首先安裝word,然后在matlab命令窗口輸入:notebook–setupMATLAB會自動尋找winword.exe的安裝路徑,并在該路徑下尋找模板文件。如果找到了,則出現(xiàn)提示:

Notebooksetupiscomplete則表示安裝結(jié)束。(2)Notebook的啟動Notebook啟動有兩種方法從MATLAB中啟動Notebook

在matlab命令窗口輸入并執(zhí)行Notebook從Word中啟動Notebook

在Word中新建M-book模板文件。M-book模板為用戶提供了在Word環(huán)境下使用MATLAB的功能。該模板定義了Word與MATLAB進(jìn)行通訊的宏指令、文檔樣式和工具欄。上一頁下一頁結(jié)束在模板下要建立新的

M-book文檔,可以選擇該命令。調(diào)用

M-book模板時,Word界面有兩點變化:

在菜單欄中多了一個

Notebook菜單項,Notebook的許多操作都可以通過該菜單項的命令來完成。

在“文件”菜單項下多了一個NewM-book命令項。如果(3)notebook界面6.1.2輸入輸出單元(1)輸入單元定義輸入單元的方法是:首先選中所需命令,然后在Notebook菜單項中選擇DefineInputCell命令,于是被選中的MATLAB命令成為輸入單元。定義輸入單元也可以在選中所需命令后,直接按組合鍵Alt+D。為了執(zhí)行輸入單元,應(yīng)選擇Notebook菜單項中的EvaluateCell命令或直接按組合鍵Ctrl+Enter。(2)輸出單元輸入單元執(zhí)行后產(chǎn)生輸出單元。如果輸入單元經(jīng)修改后重新執(zhí)行,那么新的輸出單元將替換原有的輸出單元。圖形的輸出格式則通過Notebook菜單中的NotebookOptions來設(shè)置。(3)在M-book文檔中定義輸入單元操作步驟如下:

在文檔中輸入MATLAB命令。

選中命令行,在Notebook菜單項中選DefineInputCell命令或直接按組合鍵Alt+D,于是命令行就變成了“綠色”的輸入單元。

若要把輸入單元送去執(zhí)行,則可用Notebook菜單項中的EvaluateCell命令或直接按組合鍵Ctrl+Enter,執(zhí)行后產(chǎn)生“藍(lán)色”的輸出單元。輸入單元的定義與執(zhí)行也可以同時進(jìn)行。先選中MATLAB命令,然后從Notebook菜單項中選擇EvaluateCell命令或直接按組合鍵Ctrl+Enter,不但使被選中的命令成為輸入單元,而且送去執(zhí)行,產(chǎn)生輸出單元。例1:Notebook的簡單應(yīng)用,步驟如下:(1)新建一個M-book(2)輸入m=eye(3),并定義為輸入單元,再運行它,可以在M-book看到如下內(nèi)容。

m=eye(3)

m=100010001(3)繼續(xù)輸入“除零測試”且按回車鍵,再輸入m/0,并定義m/0為輸入單元并運行,可以在M-book看到如下內(nèi)容

m=eye(3)

m=100010001除零測試m/0

ans=InfNaNNaNNaNInfNaNNaNNaNInf(4)選中單元,再選中【undefinecells】選項,則將該輸出轉(zhuǎn)化為普通文本

,則可以看到文本顏色都變統(tǒng)一黑色,沒有輸入輸出單元的標(biāo)記。例2:利用notebook繪圖,具體步驟如下:(1)新建一個m-book,輸入繪圖實驗并按回車;(2)再輸入如下代碼序列:t=0:0.1:20;y=1-cos(t).*exp(-t/5);Time=[0,20,20,0]Amplitude=[0.95,0.95,1.05,1.05];fill(Time,Amplitude,'g'),axis([0,20,0,2]);xlabel('Time'),ylabel('Amplitude');holdonplot(t,y,'r','LineWidth',2)holdoffymax=min(y)定義以上代碼為輸入代碼,并運行,可以在matlab上看到如下內(nèi)容:Time=020200ymax=0

Notebook使用中應(yīng)注意的問題:M-book文檔中的MATLAB代碼必須在英文狀態(tài)下輸入。帶鼠標(biāo)操作交互的代碼最好不在M-book

文檔中運行。

在運行M-book文檔時,最好不運行其他程序與任務(wù),以免影響M-book文檔中程序的正確執(zhí)行。采用以下方法解決代碼執(zhí)行中出現(xiàn)的異常情況:代碼以命令clear開始;重新啟動計算機(jī)后,再執(zhí)行M-book文檔中的程序;將M-book文檔的代碼拷貝到M文件,再到MATLAB的命令窗口執(zhí)行。M-book文檔的代碼運行速度要比在

MATLAB命令窗口中執(zhí)行慢很多。當(dāng)編輯科技論文或其他文檔時,最后可將單元轉(zhuǎn)換為普通文本。

可使用Notebook菜單中的【BringMATLABtoFont】選項或者按組合鍵Alt

+M把MATLAB的命令窗口調(diào)到前臺??墒褂肗otebook菜單中的【ToogleGraphOutputforCell】選項控制是否顯示輸入單元或輸出單元的輸出圖形。6.2Matlab與excel的組合使用6.2.1調(diào)用xlsfinfo函數(shù)獲取文件信息在讀取Excel目標(biāo)數(shù)據(jù)文件前,可以通過xlsfinfo函數(shù)獲取該文件的相關(guān)信息,為后續(xù)操作獲得有效信息(例如,文件類型、文件內(nèi)部結(jié)構(gòu)、相關(guān)的軟件版本等)。xlsfinfo函數(shù)的調(diào)用格式如下:[typ,desc,fmt]=xlsfinfo(filename)其中輸入?yún)?shù)filename為字符串變量,用來指定目標(biāo)文件的文件名和文件路徑。輸出參數(shù)的含義如下:typ:目標(biāo)文件類型desc:目標(biāo)文件內(nèi)部表名稱(sheetname)fmt:支持目標(biāo)文件的軟件版本例一:調(diào)用xlsfinfo函數(shù)讀取Excel文件。[typ,desc,fmt]=xlsfinfo(‘e:/1.xlsx’)%excel文件并不在工作目錄下,放在了e盤根目錄所以要寫出路徑e:/1.xlsx。運行結(jié)果如下:typ=MicrosoftExcelSpreadsheetdesc='Sheet1''Sheet2''Sheet3'fmt=xlOpenXMLWorkbook6.2.2調(diào)用xlsread函數(shù)讀取數(shù)據(jù)xlsread函數(shù)用來讀取Excel工作表中的數(shù)據(jù)。原理是這樣的,當(dāng)用戶系統(tǒng)安裝有Excel時,MATLAB創(chuàng)建Excel服務(wù)器,通過服務(wù)器接口讀取數(shù)據(jù)。當(dāng)用戶系統(tǒng)沒有安裝Excel或MATLAB不能訪問COM服務(wù)器時,MATLAB利用基本模式(Basicmode)讀取數(shù)據(jù),即把Excel文件作為二進(jìn)制映像文件讀取進(jìn)來,然后讀取其中的數(shù)據(jù)。xlsread函數(shù)的調(diào)用格式如下:1.num=xlsread(filename)讀取由filename指定的Excel文件中第1個工作表中的數(shù)據(jù),返回一個雙精度矩陣num.輸入?yún)?shù)filename是由單引號括起來的字符串,用來指定目標(biāo)文件的文件名和文件路徑2.num=xlsread(filename,-1)在Excel界面中打開數(shù)據(jù)文件,允許用戶交互式選取要讀取的工作表以及工作表中需要導(dǎo)入的數(shù)據(jù)區(qū)域。這種調(diào)用會彈出一個提示界面,提示用戶選擇Excel工作表中的數(shù)據(jù)區(qū)域。在某個工作表上單擊并拖動鼠標(biāo)即可選擇數(shù)據(jù)區(qū)域,然后單擊提示界面上的“確定”按鈕即可導(dǎo)入所選區(qū)域的數(shù)據(jù)。3.num=xlsread(filename,sheet)用參數(shù)sheet指定讀取的工作表。sheet可以是單引號括起來的字符串,也可以是正整數(shù),當(dāng)是字符串時,用來指定工作表的名字,當(dāng)是正整數(shù)時,用來指定工作表的序號。4.num=xlsread(filename,range)用參數(shù)range指定讀取的單元格區(qū)域。range是字符串,為了區(qū)分sheet和range參數(shù),range參數(shù)必需是包含冒號,形如'C1:C2'的表示區(qū)域的字符串。若range參數(shù)中沒有冒號,xlsread就會把它作為工作表的名字或序號,這就可能導(dǎo)致錯誤。5.num=xlsread(filename,sheet,range)同時指定工作表和工作表區(qū)域。例1:調(diào)用xlsread函數(shù)讀取文件1.xls第1個工作表中區(qū)域A2:C3的數(shù)據(jù)。方法1:

>>num=xlsread('e:/1.xlsx','A2:C3')方法2:>>num=xlsread(‘e:/1.xls',1,'A2:C3')方法3:>>num=xlsread(‘e:/1.xls','Sheet1','A2:C3')結(jié)果:num=160101601010126010260102017.num=xlsread(filename,…,functionhandle)在讀取電子表格里的數(shù)據(jù)之前,先調(diào)用由函數(shù)句柄functionhandle指定的函數(shù)。它允許用戶在讀取數(shù)據(jù)之前對數(shù)據(jù)進(jìn)行一些操作,例如在讀取之前變換數(shù)據(jù)類型。用戶可以編寫自己的函數(shù),把函數(shù)句柄傳遞給xlsread函數(shù)。當(dāng)調(diào)用xlsread函數(shù)時,它從電子表格讀取數(shù)據(jù),把用戶函數(shù)作用在這些數(shù)據(jù)上,然后返回最終結(jié)果。xlsread函數(shù)在調(diào)用用戶函數(shù)時,它通過Excel服務(wù)器Range對象的接口訪問電子表格的數(shù)據(jù),所以用戶函數(shù)必須包括作為輸入輸出的接口。例:將文件1.xls第1個工作表中A2至C3單元格中的數(shù)據(jù)加1,并讀取變換后的數(shù)據(jù)。首先編寫用戶函數(shù)如下:functionDataRange=add(DataRange)fork=1:DataRange.CountDataRange.Value{k}=DataRange.Value{k}+1;%將單元格取值加1End然后再命令窗口輸入>>convertdata=xlsread(‘e:/1.xlsx','','A2:C3','',@add)得到結(jié)果:convertdata=260102601010236010360102028.[num,txt]=xlsread(filename,…)返回數(shù)字矩陣num和文本數(shù)據(jù)txt.txt是一個元胞數(shù)組,如同例7.1-1中的textdata,txt中與數(shù)字對應(yīng)位置的元胞為空字符串('')。9.[num,txt,raw]=xlsread(filename,…)num和txt的解釋同上,返回的raw為未經(jīng)處理的元胞數(shù)組,既包含數(shù)字,又包含文本數(shù)據(jù)。6.2.3

調(diào)用xlswrite函數(shù)寫入數(shù)據(jù)輸出status反映了寫操作完成的情況,若成功完成,則status等于1(真),否則,status等于0(假)。只有在指定輸出參數(shù)的情況下,xlswrite函數(shù)才返回status的值。輸出message中包含了寫操作過程中的警告和錯誤信息,它是一個結(jié)構(gòu)體變量,有兩個字段:message和identifier.其中message是包含警告和錯誤信息的字符串,identifier也是字符串,包含了警告和錯誤信息的標(biāo)識符?!纠?.2-4】生成一個10×10的隨機(jī)數(shù)矩陣,將它寫入Excel文件excel.xls的第2個工作表的默認(rèn)區(qū)域。X=rand(10,10);%將隨機(jī)數(shù)據(jù)X寫入Excel文件excel.xls的第2個工作表的默認(rèn)區(qū)域[status,message]=xlswrite(‘E:/excel.xlsx',X,'sheet2')Simulink中的“Simu”一詞表示可用于計算機(jī)仿真,而“Link”一詞表示它能進(jìn)行系統(tǒng)連接,即把一系列模塊連接起來,構(gòu)成復(fù)雜的系統(tǒng)模型。作為Matlab的一個重要組成部分,Simulink由于它所具有的上述的兩大功能和特色,以及所提供的可視化仿真環(huán)境、快捷簡便的操作方法,而使其成為目前最受歡迎的仿真軟件。7.1Simulink基本操作利用Simulink進(jìn)行系統(tǒng)仿真的步驟是:啟動Simulink,打開Simulink模塊庫打開空白模型窗口;建立Smulink仿真模型;設(shè)置仿真參數(shù),進(jìn)行仿真;輸出仿真結(jié)果。啟動Simulink。單擊HOME選項卡上的Simulink

Library圖標(biāo),或者在Matlab命令窗口輸入simulink,即彈出圖示的模塊庫窗口界面(SimulinkLibraryBrowser)。該界面右邊的窗口給出Simulink所有的子模塊庫。常用的子模塊庫有Sources(信號源),Sink(顯示輸出),Continuous(線性連續(xù)系統(tǒng)),Discrete(線性離散系統(tǒng)),F(xiàn)unction&Table(函數(shù)與表格),Math(數(shù)學(xué)運算),Discontinuities(非線性),Demo(演示)等。7.1.1啟動Simulink啟動Simulink每個子模塊庫中包含同類型的標(biāo)準(zhǔn)模型,這些模塊可直接用于建立系統(tǒng)的Simulink框圖模型。可按以下方法打開子模塊庫:用鼠標(biāo)左鍵點擊某子模塊庫(如Continuous),Simulink瀏覽器右邊的窗口即顯示該子模塊庫包含的全部標(biāo)準(zhǔn)模塊。7.1.1啟動Simulink啟動Simulink用鼠標(biāo)右鍵點擊Simulink菜單項,則彈出一菜單條,點擊該菜單條即彈出該子庫的標(biāo)準(zhǔn)模塊窗口。如先右鍵單擊下圖中的Sinks,出現(xiàn)OpenSinks

Library菜單條,再單擊該菜單條,則彈出右圖所示的該子庫的標(biāo)準(zhǔn)模塊窗口;如直接左鍵雙擊也可以實現(xiàn)同樣操作。7.1.1啟動Simulink打開空白模型窗口模型窗口用來建立系統(tǒng)的仿真模型。只有先創(chuàng)建一個空白的模型窗口,才能將模塊庫的相應(yīng)模塊復(fù)制到該窗口,通過必要的連接,建立起Simulink仿真模型。也將這種窗口稱為Simulink仿真模型窗口。以下方法可用于打開一個空白模型窗口:在HOME選項卡中單擊圖標(biāo)New

Simulink

Model;單擊模塊庫瀏覽器的新建圖標(biāo);選中模塊庫瀏覽器的File:New

Model菜單項。所打開的空白模型窗口如圖所示。7.1.1啟動Simulink打開Simulink模型窗口(Untitled)選取模塊或模塊組在Simulink模型或模塊庫窗口內(nèi),用鼠標(biāo)左鍵單擊所需模塊圖標(biāo),圖標(biāo)背景顏色變深,表明該模塊已經(jīng)選中。模塊拷貝及刪除在模塊庫中選中模塊后,按住鼠標(biāo)左鍵不放并移動鼠標(biāo)至目標(biāo)模型窗口指定位置,釋放鼠標(biāo)即完成模塊拷貝。模塊的刪除只需選定刪除的模塊,按Del鍵即可。7.1.2建立Simulink仿真模型模塊調(diào)整改變模塊位置、大??;改變模塊方向使模塊輸入輸出端口的方向改變。選中模塊后,選取菜單Rotate&Flip→Clockwise,可使模塊旋轉(zhuǎn)900。7.1.2建立Simulink仿真模型按快捷鍵Ctrl+R結(jié)果相同。模塊參數(shù)設(shè)置用鼠標(biāo)雙擊指定模塊圖標(biāo),打開模塊對話框,根據(jù)對話框欄目中提供的信息進(jìn)行參數(shù)設(shè)置或修改。例如雙擊模型窗口的傳遞函數(shù)模塊,彈出圖示對話框,在對話框中分別輸入分子、分母多項式的系數(shù),點擊OK鍵,完成該模型的設(shè)置,如右下圖所示:7.1.2建立Simulink仿真模型選中TransferFcn拖拉四角模塊的連接模塊之間的連接是用連接線

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論