版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
MATLAB簡介MATLAB=MATrix+LABoratory20世紀七十年代后期:時任美國新墨西哥大學(xué)計算機科學(xué)系主任的CleveMoler教授出于減輕學(xué)生編程負擔的動機,為學(xué)生設(shè)計了一組“通俗易用”的接口,此即用FORTRAN編寫的萌芽狀態(tài)的MATLAB。MATLAB簡介MATLAB=MATrix1
MATLAB作為一種編程語言和可視化工具,可解決工程、科學(xué)計算和數(shù)學(xué)學(xué)科中許多問題。
MATLAB建立在向量、數(shù)組和矩陣的基礎(chǔ)上,使用方便,人機界面直觀,輸出結(jié)果可視化。
矩陣是MATLAB的核心
強大的繪圖、計算和統(tǒng)計功能MATLAB作為一種編程語言和可視化工具,可2在歐美大學(xué)里,諸如應(yīng)用代數(shù)、數(shù)理統(tǒng)計、自動控制、數(shù)字信號處理、模擬與數(shù)字通信、時間序列分析、動態(tài)系統(tǒng)仿真等課程的教科書都把MATLAB作為內(nèi)容。這幾乎成了九十年代教科書與舊版書籍的區(qū)別性標志。在那里,MATLAB是攻讀學(xué)位的大學(xué)生、碩士生、博士生必須掌握的基本工具。 在國際學(xué)術(shù)界,MATLAB已經(jīng)被確認為準確、可靠的科學(xué)計算標準軟件。在許多國際一流學(xué)術(shù)刊物上,(尤其是信息科學(xué)刊物),都可以看到MATLAB的應(yīng)用。在歐美大學(xué)里,諸如應(yīng)用代數(shù)、數(shù)理統(tǒng)計、自動控制、數(shù)字信號處理3
MATLAB作為線性系統(tǒng)的一種分析和仿真工具,是理工科大學(xué)生應(yīng)該掌握的技術(shù)工具,它作為一種編程語言和可視化工具,可解決工程、科學(xué)計算和數(shù)學(xué)學(xué)科中許多問題。
MATLAB建立在向量、數(shù)組和矩陣的基礎(chǔ)上,使用方便,人機界面直觀,輸出結(jié)果可視化。
矩陣是MATLAB的核心MATLAB作為線性系統(tǒng)的一種分析和仿真工具4
Matlab程序的特點1,提供了一種全新的編程語言,其語法規(guī)則簡單,很貼近人的思維方式。2,Matlab語言還直接提供了強有力的繪圖指令。3,Matlab的運算功能很強,對化學(xué)計量學(xué)程序調(diào)試和編制有很大好處。4,Matlab語言在矩陣運算的方面,顯得特別簡捷、高效和方便。
Matlab程序的特點1,提供了一種全新的編程語言,其語法5
應(yīng)用實例:1
簡單的計算器使用法
【例1-1】求的算術(shù)運算結(jié)果。
(1)用鍵盤在MATLAB指令窗中輸入以下內(nèi)容
>>(12+2*(7-4))/3^2
(2)在上述表達式輸入完成后,按【Enter】鍵,該就指令被執(zhí)行。
(3)在指令執(zhí)行后,MATLAB指令窗中將顯示以下結(jié)果。
ans=2
應(yīng)用實例:6【例1-2】簡單矩陣的輸入步驟。
(1)在鍵盤上輸入下列內(nèi)容
A=[1,2,3;4,5,6;7,8,9]
(2)按【Enter】鍵,指令被執(zhí)行。
(3)在指令執(zhí)行后,MATLAB指令窗中將顯示以下結(jié)果:
A=
123
456
789
【例1-2】簡單矩陣的輸入步驟。
(1)在鍵盤上輸入下列內(nèi)容7【例1-3】矩陣的分行輸入
A=[1,2,3
4,5,6
7,8,9]
(以下是顯示結(jié)果)
A=
123
456
789
【例1-3】矩陣的分行輸入
A=[1,2,3
4,5,6
8Matlab的基本運算符(1)矩陣(算術(shù))運算符A’表示矩陣A的轉(zhuǎn)置;A+B:表示矩陣A和B的和A*B:表示矩陣A和B的乘法A.*B:表示矩陣A和B的對應(yīng)元素相乘A..\B表示矩陣B的元素除以矩陣A的對應(yīng)元素(2)矩陣的創(chuàng)建
a)顯示地輸入一個元素序列;b)用Matlab的內(nèi)部函數(shù)創(chuàng)建一個矩陣;c)在M文件中用Matlab語句創(chuàng)建一個矩陣;例:A=[1357;12353;3591]創(chuàng)建矩陣。Matlab的基本運算符(1)矩陣(算術(shù))運算符A’表示矩陣9求解代數(shù)方程AX=B問題。教科書的基本敘述:當行數(shù)等于列數(shù)(標量)時,X=A-1B;若行數(shù)大于列數(shù)滿秩陣,X=(A’A)-1A’B;若列數(shù)大于行數(shù)時,有無數(shù)解。(A是非奇異矩陣),一般程序就必須按以上不同情況進行編程。然而對MATLAB來說,那只需一條簡單指令:x=A\b。計算的快速性、準確性和穩(wěn)定性是普通程序所遠不及的。
求解代數(shù)方程AX=B問題。10Matlabprogram%Thisisanexampleofsolvinglinearequations!%UsingMatlablanguage.E=[1.50200.051400.04080.02611.151600.08200.03420.03552.5320.29330.03400.068400.3470]pauseA=[0.10130.099430.21940.03396]'pauseC=inv(E)*AorC=E\AMatlabprogram11
MATLAB入門一、變量與函數(shù)二、數(shù)組三、矩陣四、MATLAB編程MATLAB入門一、121、變量MATLAB中變量的命名規(guī)則是:(1)變量名必須是不含空格的單個詞;(2)變量名區(qū)分大小寫;(3)變量名最多不超過19個字符;(4)變量名必須以字母打頭,之后可以是任意字母、數(shù)字或下劃線,變量名中不允許使用標點符號.
一、變量與函數(shù)
13特殊變量表特殊變量表142、數(shù)學(xué)運算符號及標點符號(1)MATLAB的每條命令后,若為逗號或無標點符號,則顯示命令的結(jié)果;若命令后為分號,則禁止顯示結(jié)果.(2)“%”后面所有文字為注釋.(3)“...”表示續(xù)行.2、數(shù)學(xué)運算符號及標點符號(1)MATLAB的每條命令后,若153、數(shù)學(xué)函數(shù)3、數(shù)學(xué)函數(shù)16
MATLAB的內(nèi)部函數(shù)是有限的,有時為了研究某一個函數(shù)的各種性態(tài),需要為MATLAB定義新函數(shù),為此必須編寫函數(shù)文件.函數(shù)文件是文件名后綴為M的文件,這類文件的第一行必須是一特殊字符function開始,格式為:
function因變量名=函數(shù)名(自變量名)函數(shù)值的獲得必須通過具體的運算實現(xiàn),并賦給因變量.
4、M文件M文件建立方法:1.在Matlab中,點:File->New->M-file2.在編輯窗口中輸入程序內(nèi)容3.點:File->Save,存盤,M文件名必須與函數(shù)名一致。Matlab的應(yīng)用程序也以M文件保存。MATLAB的內(nèi)部函數(shù)是有限的,有時為了研究某17例:定義函數(shù)f(x1,x2)=100(x2-x12)2+(1-x1)2functionf=fun(x)f=100*(x(2)-x(1)^2)^2+(1-x(1))^21.建立M文件:fun.mMATLAB(fun)2.可以直接使用函數(shù)fun.m例如:計算f(1,2),只需在Matlab命令窗口鍵入命令:x=[12]fun(x)
返回例:定義函數(shù)f(x1,x2)=100(x2-x12)2+(18x=logspace(first,last,n)
創(chuàng)建從開始,到結(jié)束,有n個元素的對數(shù)分隔行向量.1、創(chuàng)建簡單的數(shù)組二、數(shù)組MATLAB(shuzu1)x=[abcdef]創(chuàng)建包含指定元素的行向量x=first:last
創(chuàng)建從first開始,加1計數(shù),到last結(jié)束的行向量x=first:increment:last
創(chuàng)建從first開始,加increment計數(shù),last結(jié)束的行向量x=linspace(first,last,n)
創(chuàng)建從first開始,到last結(jié)束,有n個元素的行向量x=logspace(first,last,n)1、創(chuàng)建簡19
2、數(shù)組元素的訪問MATLAB(shuzu2)(3)直接使用元素編址序號.x([abcd])表示提取數(shù)組x的第a、b、c、d個元素構(gòu)成一個新的數(shù)組[x(a)x(b)x(c)x(d)].(2)訪問一塊元素:x(a:b:c)表示訪問數(shù)組x的從第a個元素開始,以步長為b到第c個元素(但不超過c),b可以為負數(shù),b缺損時為1.(1)訪問一個元素:x(i)表示訪問數(shù)組x的第i個元素.2、203、數(shù)組的方向
前面例子中的數(shù)組都是一行數(shù)列,是行方向分布的.稱之為行向量.數(shù)組也可以是列向量,它的數(shù)組操作和運算與行向量是一樣的,唯一的區(qū)別是結(jié)果以列形式顯示.
產(chǎn)生列向量有兩種方法:直接產(chǎn)生例c=[1;2;3;4]轉(zhuǎn)置產(chǎn)生例b=[1234];c=b’說明:以空格或逗號分隔的元素指定的是不同列的元素,而以分號分隔的元素指定了不同行的元素.3、數(shù)組的方向214、數(shù)組的運算
(1)標量-數(shù)組運算數(shù)組對標量的加、減、乘、除、乘方是數(shù)組的每個元素對該標量施加相應(yīng)的加、減、乘、除、乘方運算.設(shè):a=[a1,a2,…,an],c=標量則:a+c=[a1+c,a2+c,…,an+c]a.*c=[a1*c,a2*c,…,an*c]a./c=[a1/c,a2/c,…,an/c](右除)a.\c=[c/a1,c/a2,…,c/an](左除)a.^c=[a1^c,a2^c,…,an^c]c.^a=[c^a1,c^a2,…,c^an]MATLAB(shuzu3)4、數(shù)組的運算(1)標量-數(shù)組運算設(shè):a=[a1,22(2)數(shù)組-數(shù)組運算
當兩個數(shù)組有相同維數(shù)時,加、減、乘、除、冪運算可按元素對元素方式進行的,不同大小或維數(shù)的數(shù)組是不能進行運算的.
設(shè):a=[a1,a2,…,an],b=[b1,b2,…,bn]則:a+b=[a1+b1,a2+b2,…,an+bn]a.*b=[a1*b1,a2*b2,…,an*bn]a./b=[a1/b1,a2/b2,…,an/bn]a.\b=[b1/a1,b2/a2,…,bn/an]a.^b=[a1^b1,a2^b2,…,an^bn]MATLAB(shuzu4)
返回(2)數(shù)組-數(shù)組運算設(shè):a=[a1,a2,…,an],b=232.控制指令:who;whos;clear【例2-1】用who檢查MATLAB內(nèi)存變量。 在指令窗中運行以下指令,就可看到內(nèi)存變量。who
Yourvariablesare:
RYxy1XZyy2
2.控制指令:who;whos;clear24【例2-2】鍵入whos,獲得駐留變量的詳細情況:全部變量名,變量的數(shù)組維數(shù),占用字節(jié)數(shù),變量的類別(如雙精度)等。whosNameSizeBytesClassR33x338712doublearrayX33x338712doublearrayY33x338712doublearrayZ33x338712doublearrayx1x33264doublearrayy33x1264doublearrayy11x18doublearrayy21x18doublearrayGrandtotalis4424elementsusing35392bytes
【例2-2】鍵入whos,獲得駐留變量的詳細情況:全部變253.
save和load指令〖說明〗
如果一組數(shù)據(jù)是經(jīng)過長時間的復(fù)雜計算后獲得的,那末為避免再次重復(fù)計算,常使用save加以保存。此后,每當需要,都可通過load重新獲取這組數(shù)據(jù)。這種處理模式常在實際中被采用。(mkdir;cd;dir;save;load)【例3-1】數(shù)據(jù)的存取。(1)建立用戶目錄,并使之成為當前目錄,保存數(shù)據(jù)mkdir('c:\','my_dir'); %在C盤上創(chuàng)建目錄my_dircdc:\my_dir%使c:\my_dir成為當前目錄savesafXZ%選擇內(nèi)存中的X,Z變量保存為saf.mat文件dir %顯示目錄上的文件
...saf.mat
3.
save和load指令26(2)清空內(nèi)存,從saf.mat向內(nèi)存裝載變量Zclear %清除內(nèi)存中的全部變量loadsafZ %把saf.mat文件中的Z變量裝入內(nèi)存who %檢查內(nèi)存中有什么變量
Yourvariablesare:Z
(2)清空內(nèi)存,從saf.mat向內(nèi)存裝載變量Z274.Plot[例4-1]vector=linspace(0,8,100);values=2.^vector;clf;plot(vector,values);Plot(vector,values,’b-’)4.PlotPlot(vector,values,’b-’28
[例4-2]繪制函數(shù)曲線。x=0:0.1:1 %定義自變量的采樣點取值數(shù)組y=x.*exp(-x)
%利用數(shù)組運算計算各自變量采樣點上的函數(shù)值plot(x,y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’) %繪圖
[例4-2]繪制函數(shù)曲線。29[例4-3]vector2=2:0.5:8;[x,y]=meshgrid(vector2)mesh(x,y,2.^x+2.^y)surf(x,y,2.^x+2.^y)[例4-3]surf(x,y,2.^x+2.^y)305、HELP
demo;helpwin;helpdesk…直接使用help獲得指令的使用說明【例4-1】假如準確知道所要求助的主題詞,或指令名稱,那末使用help是獲得在線幫助的最簡單有效的途徑。本例演示:關(guān)于矩陣對數(shù)函數(shù)logm使用說明的在線求助。helplogm
使用help指令進行分類搜索【例4-2】運行不帶任何限定的help,可以得到分類名稱明細表。help
5、HELP
使用help指令進行分類搜索31三、矩陣
逗號或空格用于分隔某一行的元素,分號用于區(qū)分不同的行.除了分號,在輸入矩陣時,按Enter鍵也表示開始一新行.輸入矩陣時,嚴格要求所有行有相同的列.
例m=[1234;5678;9101112]p=[111122223333]1、矩陣的建立三、矩陣逗號或空格用于分隔某一行的元32特殊矩陣的建立:.MATLAB(matrix1)d=eye(m,n)產(chǎn)生一個m行、n列的單位矩陣c=ones(m,n)產(chǎn)生一個m行、n列的元素全為1的矩陣b=zeros(m,n)產(chǎn)生一個m行、n列的零矩陣a=[]產(chǎn)生一個空矩陣,當對一項操作無結(jié)果時,返回空矩陣,空矩陣的大小為零.特殊矩陣的建立:.MATLAB(matrix1)d=eye332、矩陣中元素的操作MATLAB(matrix2)(1)矩陣A的第r行:A(r,:)(2)矩陣A的第r列:A(:,r)(4)取矩陣A的第i1~i2行、第j1~j2列構(gòu)成新矩陣:A(i1:i2,j1:j2)(5)以逆序提取矩陣A的第i1~i2行,構(gòu)成新矩陣:A(i2:-1:i1,:)(6)以逆序提取矩陣A的第j1~j2列,構(gòu)成新矩陣:A(:,j2:-1:j1)(7)刪除A的第i1~i2行,構(gòu)成新矩陣:A(i1:i2,:)=[](8)刪除A的第j1~j2列,構(gòu)成新矩陣:A(:,j1:j2)=[](9)將矩陣A和B拼接成新矩陣:[AB];[A;B](3)依次提取矩陣A的每一列,將A拉伸為一個列向量:A(:)2、矩陣中元素的操作MATLAB(matrix2)(1)矩陣34
(2)矩陣-矩陣運算[1]元素對元素的運算,同數(shù)組-數(shù)組運算。
3、矩陣的運算(1)標量-矩陣運算
同標量-數(shù)組運算。MATLAB(matrix3)
[2]矩陣運算:矩陣加法:A+B矩陣乘法:A*B方陣的行列式:det(A)方陣的逆:inv(A)方陣的特征值與特征向量:[V,D]=eig[A]
返回(2)矩陣-矩陣運算3、矩陣的運算(1)標量-矩陣35關(guān)系與邏輯運算
1、關(guān)系操作符關(guān)系與邏輯運算1、關(guān)系操作符362、邏輯運算符2、邏輯運算符371、for循環(huán):允許一組命令以固定的和預(yù)定的次數(shù)重復(fù)
forx=array{commands}end在for和end語句之間的命令串{commands}按數(shù)組(array)中的每一列執(zhí)行一次.在每一次迭代中,x被指定為數(shù)組的下一列,即在第n次循環(huán)中,x=array(:,n)控制流MATLAB提供三種決策或控制流結(jié)構(gòu):
for循環(huán)、while循環(huán)、if-else-end結(jié)構(gòu).這些結(jié)構(gòu)經(jīng)常包含大量的MATLAB命令,故經(jīng)常出現(xiàn)在MATLAB程序中,而不是直接加在MATLAB提示符下.例對n=1,2,…,10,求xn=的值MATLAB(for1)1、for循環(huán):允許一組命令以固定的和預(yù)定的次數(shù)重復(fù)控制流M38
whileexpression{commands}end
只要在表達式(expression)里的所有元素為真,就執(zhí)行while和end語句之間的命令串{commands}.2、While循環(huán)
與for循環(huán)以固定次數(shù)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年五金建材加盟協(xié)議
- 2025年分期家庭教育合同
- 《小島失蹤之謎》課件
- 2025年度綠色環(huán)保木材進口與銷售合作合同范本大全4篇
- 二零二五年度冷鏈物流倉單質(zhì)押貸款服務(wù)協(xié)議2篇
- 二零二五年度競業(yè)禁止協(xié)議法律風(fēng)險防控及合規(guī)咨詢合同
- 二零二五年度商業(yè)地產(chǎn)地下車位銷售及品牌推廣協(xié)議
- 二零二五年度股份有限公司私下股份分配與公司戰(zhàn)略協(xié)議書
- 二零二五版鋁單板幕墻材料采購專項合同4篇
- 二零二五年度離婚協(xié)議中兩個子女教育支持合同
- 玩具活動方案設(shè)計
- Q∕GDW 516-2010 500kV~1000kV 輸電線路劣化懸式絕緣子檢測規(guī)程
- 遼寧省撫順五十中學(xué)2024屆中考化學(xué)全真模擬試卷含解析
- 2024年湖南汽車工程職業(yè)學(xué)院單招職業(yè)技能測試題庫及答案解析
- 家長心理健康教育知識講座
- GB/T 292-2023滾動軸承角接觸球軸承外形尺寸
- 軍人結(jié)婚函調(diào)報告表
- 民用無人駕駛航空器實名制登記管理規(guī)定
- 北京地鐵6號線
- 航空油料計量統(tǒng)計員(初級)理論考試復(fù)習(xí)題庫大全-上(單選題匯總)
評論
0/150
提交評論