基于matlab如何進(jìn)行程序設(shè)計(jì)?
掃描二維碼
隨時(shí)隨地手機(jī)看文章
MATLAB是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于數(shù)據(jù)分析、無線通信、深度學(xué)習(xí)、圖像處理與計(jì)算機(jī)視覺、信號(hào)處理、量化金融與風(fēng)險(xiǎn)管理、機(jī)器人,控制系統(tǒng)等領(lǐng)域。
MATLAB是matrix&laboratory兩個(gè)詞的組合,意為矩陣工廠(矩陣實(shí)驗(yàn)室),軟件主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語言(如C、Fortran)的編輯模式。
MATLAB和Mathematica、Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點(diǎn),使MATLAB成為一個(gè)強(qiáng)大的數(shù)學(xué)軟件。在新的版本中也加入了對(duì)C,F(xiàn)ORTRAN,C++,JAVA的支持。
Matlab命令執(zhí)行方式有交互式的命令執(zhí)行與腳本兩種方式。交互式的命令執(zhí)行方式,在命令行窗口逐條輸入命令,MATLAB逐條解釋執(zhí)行;而腳本方式,將有關(guān)命令編成程序存儲(chǔ)在一個(gè)擴(kuò)展名為.m的文件中,每次運(yùn)行該腳本,Matlab就會(huì)自動(dòng)依次執(zhí)行腳本中的命令。
matlab如何實(shí)現(xiàn)程序設(shè)計(jì),具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
matlab 程序設(shè)計(jì)
基本要求:
(1)學(xué)會(huì) Matlab 的M文件的編寫方法,包括命令文件和函數(shù)文件。了解M件的調(diào)試命令和調(diào)試方法;(2) 熟練掌握 Matlab 的程序結(jié)構(gòu)(順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和分支結(jié)構(gòu))與流程控制語句 . OutlineM-file(M文件);數(shù)據(jù)的輸入和輸出;程序設(shè)計(jì);函數(shù)文件;全局變量和局部變量
1.M文件
用MATLAB語言編寫的程序,稱為M文件。M文件有兩類:命令文件和函數(shù)文件。命令文件:沒有輸入?yún)?shù),也不返回輸出參數(shù)。函數(shù)文件:可以輸入?yún)?shù),也可返回輸出參數(shù)。
input函數(shù):用于向計(jì)算機(jī)輸入一個(gè)參數(shù)。調(diào)用格式:A=input(提示信息,選項(xiàng));注:‘s’選項(xiàng),則允許用戶輸入一個(gè)字符串。例如想輸入一個(gè)人的姓名,可采用命令
xm=input('What''s your name:','s')
pause函數(shù):暫停程序的執(zhí)行。調(diào)用格式:pause(延遲秒數(shù)) 注:如果省略延遲時(shí)間,直接使用pause,則將暫停程序,直到用戶按任一鍵后程序繼續(xù)執(zhí)行。
disp函數(shù):命令窗口輸出函數(shù)。調(diào)用格式:disp(輸出項(xiàng)) 注:輸出項(xiàng)為字符串或矩陣。例如
A='Hello,MATLAB';disp(A)
輸出為:Hello,MATLAB
2.程序設(shè)計(jì)
- for語句:
格式:
for 循環(huán)變量=表達(dá)式1:表達(dá)式2:表達(dá)式3循環(huán)體語句end
注:其中表達(dá)式1的值為循環(huán)變量的初值,表達(dá)式2的值為步長,表達(dá)式3的值為循環(huán)變量的終值。步長為1時(shí),表達(dá)式2可以省略
while語句
格式為:
while (條件)循環(huán)體語句end
【例7】 根據(jù)例3.6中求y的表達(dá)式,求:(1)y<3時(shí)的最大n值。(2)與(1)的n值對(duì)應(yīng)的y值。
while語句
格式為:while (條件) 循環(huán)體語句 end 【例7】 根據(jù)例3.6中求y的表達(dá)式,求:(1)y<3時(shí)的最大n值。(2)與(1)的n值對(duì)應(yīng)的y值。
3. 函數(shù)文件
是另一種形式的M文件,每一個(gè)函數(shù)文件都定義一個(gè)函數(shù)。事實(shí)上,MATLAB提供的標(biāo)準(zhǔn)函數(shù)大部分都是由函數(shù)文件定義的
函數(shù)文件由function語句引導(dǎo),其格式為:
function 輸出形參表=函數(shù)名(輸入形參表)注釋說明部分函數(shù)體
注:其中函數(shù)名的命名規(guī)則與變量名相同。輸入形參為函數(shù)的輸入?yún)?shù),輸出形參為函數(shù)的輸出參數(shù)。當(dāng)輸出形參多于1個(gè)時(shí),則應(yīng)該用方括號(hào)括起來。
【例】 編寫函數(shù)文件求小于任意自然數(shù)n的Fibonacci數(shù)列各項(xiàng)。
function f=ffib(n)%用于求Fibonacci數(shù)列的函數(shù)文件%f=ffib(n)%1999年9月30日編f=[1,1];i=1;while f(i)+f(i+1)
4.全局變量和局部變量
在MATLAB中,全局變量用命令global定義。函數(shù)文件的內(nèi)部變量是局部的,與其他函數(shù)文件及MATLAB工作空間相互隔離。但是,如果在若干函數(shù)中,都把某一變量定義為全局變量,那么這些函數(shù)將公用這一個(gè)變量。全局變量的作用域是整個(gè)MATLAB工作空間,即全程有效。所有的函數(shù)都可以對(duì)它進(jìn)行存取和修改。因此,定義全局變量是函數(shù)間傳遞MATLAB 是一個(gè)用于科學(xué)研究與工程應(yīng)用分析和設(shè)計(jì)的商業(yè)化算術(shù)運(yùn)算軟件,由美國新墨西哥大學(xué)的數(shù)學(xué)教授 Cleve Moler 開發(fā)。
Moler 當(dāng)時(shí)在美國阿貢國家實(shí)驗(yàn)室(Argonne National Laboratory)參與了兩個(gè)數(shù)值計(jì)算軟件包的開發(fā):用于求取矩陣特征值的 EISPACK 和用于求解線性系統(tǒng)的 LINPACK。同時(shí),他也在新墨西哥大學(xué)講授數(shù)值分析和矩陣論的課程。為了讓學(xué)生們既能夠在計(jì)算機(jī)上進(jìn)行實(shí)踐,又能免除編寫程序的麻煩,Moler 利用 FORTRAN 語言和 EISPACK 及 LINPACK 的部分功能,編寫了最初版本的 MATLAB。
最初版本的 MATLAB 僅 80 個(gè)數(shù)學(xué)函數(shù),只能在字符界面上繪制粗略的曲線圖,而且缺少 M 文件和工具箱等成熟版本 MATLAB 的核心部分。它所關(guān)注的是與矩陣有關(guān)的計(jì)算,這一點(diǎn)從 MATLAB(Matrix Laboratory:矩陣實(shí)驗(yàn)室)的名稱也能看出來。
在 MATLAB 向商業(yè)化軟件的轉(zhuǎn)變過程中,自動(dòng)控制工程師 Jack Little 扮演了重要角色。他是首個(gè)商業(yè)化 MATLAB 軟件的主要開發(fā)者。1981 年 IBM 公司推出其首款個(gè)人計(jì)算機(jī)后,Little 迅速意識(shí)到 MATLAB 在個(gè)人計(jì)算機(jī)上的應(yīng)用前景,并與 Steve Bangert 用 C 語言改寫了 MATLAB,而 M 文件、工具箱以及更為強(qiáng)大的圖形繪制功能等重要特性也在這時(shí)加入了 MATLAB。1984 年,Moler、Little 和 Bangert 在美國加利福尼亞州成立了 MathWorks 公司。
自那以后,MATLAB 便迅速發(fā)展,成為一個(gè)強(qiáng)有力的科學(xué)與工程領(lǐng)域的應(yīng)用軟件。它不僅用于解決矩陣與數(shù)值計(jì)算方面的問題,而且已經(jīng)成為集數(shù)值與符號(hào)計(jì)算、數(shù)據(jù)可視化、圖形界面設(shè)計(jì)、程序設(shè)計(jì)、仿真等功能為一體的集成軟件平臺(tái)。
此外,在教育領(lǐng)域,MATLAB 也成為高等數(shù)學(xué)、線性代數(shù)、概率論與數(shù)理統(tǒng)計(jì)、數(shù)值分析、數(shù)學(xué)建模、自動(dòng)控制系統(tǒng)設(shè)計(jì)與仿真、信號(hào)處理、通信系統(tǒng)仿真乃至大學(xué)物理、生物學(xué)、計(jì)量經(jīng)濟(jì)學(xué)等廣泛課程的重要教學(xué)和實(shí)踐工具,為眾多的研究者與學(xué)習(xí)者所熟悉。