




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
MATLAB簡介MATLAB=MATrix+LABoratory20世紀七十年代后期:時任美國新墨西哥大學計算機科學系主任的CleveMoler教授出于減輕學生編程負擔的動機,為學生設計了一組“通俗易用”的接口,此即用FORTRAN編寫的萌芽狀態(tài)的MATLAB。MATLAB簡介MATLAB=MATrix1
MATLAB作為一種編程語言和可視化工具,可解決工程、科學計算和數學學科中許多問題。
MATLAB建立在向量、數組和矩陣的基礎上,使用方便,人機界面直觀,輸出結果可視化。
矩陣是MATLAB的核心
強大的繪圖、計算和統(tǒng)計功能MATLAB作為一種編程語言和可視化工具,可2在歐美大學里,諸如應用代數、數理統(tǒng)計、自動控制、數字信號處理、模擬與數字通信、時間序列分析、動態(tài)系統(tǒng)仿真等課程的教科書都把MATLAB作為內容。這幾乎成了九十年代教科書與舊版書籍的區(qū)別性標志。在那里,MATLAB是攻讀學位的大學生、碩士生、博士生必須掌握的基本工具。 在國際學術界,MATLAB已經被確認為準確、可靠的科學計算標準軟件。在許多國際一流學術刊物上,(尤其是信息科學刊物),都可以看到MATLAB的應用。在歐美大學里,諸如應用代數、數理統(tǒng)計、自動控制、數字信號處理3
MATLAB作為線性系統(tǒng)的一種分析和仿真工具,是理工科大學生應該掌握的技術工具,它作為一種編程語言和可視化工具,可解決工程、科學計算和數學學科中許多問題。
MATLAB建立在向量、數組和矩陣的基礎上,使用方便,人機界面直觀,輸出結果可視化。
矩陣是MATLAB的核心MATLAB作為線性系統(tǒng)的一種分析和仿真工具4
Matlab程序的特點1,提供了一種全新的編程語言,其語法規(guī)則簡單,很貼近人的思維方式。2,Matlab語言還直接提供了強有力的繪圖指令。3,Matlab的運算功能很強,對化學計量學程序調試和編制有很大好處。4,Matlab語言在矩陣運算的方面,顯得特別簡捷、高效和方便。
Matlab程序的特點1,提供了一種全新的編程語言,其語法5
應用實例:1
簡單的計算器使用法
【例1-1】求的算術運算結果。
(1)用鍵盤在MATLAB指令窗中輸入以下內容
>>(12+2*(7-4))/3^2
(2)在上述表達式輸入完成后,按【Enter】鍵,該就指令被執(zhí)行。
(3)在指令執(zhí)行后,MATLAB指令窗中將顯示以下結果。
ans=2
應用實例:6【例1-2】簡單矩陣的輸入步驟。
(1)在鍵盤上輸入下列內容
A=[1,2,3;4,5,6;7,8,9]
(2)按【Enter】鍵,指令被執(zhí)行。
(3)在指令執(zhí)行后,MATLAB指令窗中將顯示以下結果:
A=
123
456
789
【例1-2】簡單矩陣的輸入步驟。
(1)在鍵盤上輸入下列內容7【例1-3】矩陣的分行輸入
A=[1,2,3
4,5,6
7,8,9]
(以下是顯示結果)
A=
123
456
789
【例1-3】矩陣的分行輸入
A=[1,2,3
4,5,6
8Matlab的基本運算符(1)矩陣(算術)運算符A’表示矩陣A的轉置;A+B:表示矩陣A和B的和A*B:表示矩陣A和B的乘法A.*B:表示矩陣A和B的對應元素相乘A..\B表示矩陣B的元素除以矩陣A的對應元素(2)矩陣的創(chuàng)建
a)顯示地輸入一個元素序列;b)用Matlab的內部函數創(chuàng)建一個矩陣;c)在M文件中用Matlab語句創(chuàng)建一個矩陣;例:A=[1357;12353;3591]創(chuàng)建矩陣。Matlab的基本運算符(1)矩陣(算術)運算符A’表示矩陣9求解代數方程AX=B問題。教科書的基本敘述:當行數等于列數(標量)時,X=A-1B;若行數大于列數滿秩陣,X=(A’A)-1A’B;若列數大于行數時,有無數解。(A是非奇異矩陣),一般程序就必須按以上不同情況進行編程。然而對MATLAB來說,那只需一條簡單指令:x=A\b。計算的快速性、準確性和穩(wěn)定性是普通程序所遠不及的。
求解代數方程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入門一、變量與函數二、數組三、矩陣四、MATLAB編程MATLAB入門一、121、變量MATLAB中變量的命名規(guī)則是:(1)變量名必須是不含空格的單個詞;(2)變量名區(qū)分大小寫;(3)變量名最多不超過19個字符;(4)變量名必須以字母打頭,之后可以是任意字母、數字或下劃線,變量名中不允許使用標點符號.
一、變量與函數
13特殊變量表特殊變量表142、數學運算符號及標點符號(1)MATLAB的每條命令后,若為逗號或無標點符號,則顯示命令的結果;若命令后為分號,則禁止顯示結果.(2)“%”后面所有文字為注釋.(3)“...”表示續(xù)行.2、數學運算符號及標點符號(1)MATLAB的每條命令后,若153、數學函數3、數學函數16
MATLAB的內部函數是有限的,有時為了研究某一個函數的各種性態(tài),需要為MATLAB定義新函數,為此必須編寫函數文件.函數文件是文件名后綴為M的文件,這類文件的第一行必須是一特殊字符function開始,格式為:
function因變量名=函數名(自變量名)函數值的獲得必須通過具體的運算實現,并賦給因變量.
4、M文件M文件建立方法:1.在Matlab中,點:File->New->M-file2.在編輯窗口中輸入程序內容3.點:File->Save,存盤,M文件名必須與函數名一致。Matlab的應用程序也以M文件保存。MATLAB的內部函數是有限的,有時為了研究某17例:定義函數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.可以直接使用函數fun.m例如:計算f(1,2),只需在Matlab命令窗口鍵入命令:x=[12]fun(x)
返回例:定義函數f(x1,x2)=100(x2-x12)2+(18x=logspace(first,last,n)
創(chuàng)建從開始,到結束,有n個元素的對數分隔行向量.1、創(chuàng)建簡單的數組二、數組MATLAB(shuzu1)x=[abcdef]創(chuàng)建包含指定元素的行向量x=first:last
創(chuàng)建從first開始,加1計數,到last結束的行向量x=first:increment:last
創(chuàng)建從first開始,加increment計數,last結束的行向量x=linspace(first,last,n)
創(chuàng)建從first開始,到last結束,有n個元素的行向量x=logspace(first,last,n)1、創(chuàng)建簡19
2、數組元素的訪問MATLAB(shuzu2)(3)直接使用元素編址序號.x([abcd])表示提取數組x的第a、b、c、d個元素構成一個新的數組[x(a)x(b)x(c)x(d)].(2)訪問一塊元素:x(a:b:c)表示訪問數組x的從第a個元素開始,以步長為b到第c個元素(但不超過c),b可以為負數,b缺損時為1.(1)訪問一個元素:x(i)表示訪問數組x的第i個元素.2、203、數組的方向
前面例子中的數組都是一行數列,是行方向分布的.稱之為行向量.數組也可以是列向量,它的數組操作和運算與行向量是一樣的,唯一的區(qū)別是結果以列形式顯示.
產生列向量有兩種方法:直接產生例c=[1;2;3;4]轉置產生例b=[1234];c=b’說明:以空格或逗號分隔的元素指定的是不同列的元素,而以分號分隔的元素指定了不同行的元素.3、數組的方向214、數組的運算
(1)標量-數組運算數組對標量的加、減、乘、除、乘方是數組的每個元素對該標量施加相應的加、減、乘、除、乘方運算.設: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、數組的運算(1)標量-數組運算設:a=[a1,22(2)數組-數組運算
當兩個數組有相同維數時,加、減、乘、除、冪運算可按元素對元素方式進行的,不同大小或維數的數組是不能進行運算的.
設: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)數組-數組運算設:a=[a1,a2,…,an],b=232.控制指令:who;whos;clear【例2-1】用who檢查MATLAB內存變量。 在指令窗中運行以下指令,就可看到內存變量。who
Yourvariablesare:
RYxy1XZyy2
2.控制指令:who;whos;clear24【例2-2】鍵入whos,獲得駐留變量的詳細情況:全部變量名,變量的數組維數,占用字節(jié)數,變量的類別(如雙精度)等。whosNameSizeBytesClassR33x338712doublearrayX33x338712doublearrayY33x338712doublearrayZ33x338712doublearrayx1x33264doublearrayy33x1264doublearrayy11x18doublearrayy21x18doublearrayGrandtotalis4424elementsusing35392bytes
【例2-2】鍵入whos,獲得駐留變量的詳細情況:全部變253.
save和load指令〖說明〗
如果一組數據是經過長時間的復雜計算后獲得的,那末為避免再次重復計算,常使用save加以保存。此后,每當需要,都可通過load重新獲取這組數據。這種處理模式常在實際中被采用。(mkdir;cd;dir;save;load)【例3-1】數據的存取。(1)建立用戶目錄,并使之成為當前目錄,保存數據mkdir('c:\','my_dir'); %在C盤上創(chuàng)建目錄my_dircdc:\my_dir%使c:\my_dir成為當前目錄savesafXZ%選擇內存中的X,Z變量保存為saf.mat文件dir %顯示目錄上的文件
...saf.mat
3.
save和load指令26(2)清空內存,從saf.mat向內存裝載變量Zclear %清除內存中的全部變量loadsafZ %把saf.mat文件中的Z變量裝入內存who %檢查內存中有什么變量
Yourvariablesare:Z
(2)清空內存,從saf.mat向內存裝載變量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]繪制函數曲線。x=0:0.1:1 %定義自變量的采樣點取值數組y=x.*exp(-x)
%利用數組運算計算各自變量采樣點上的函數值plot(x,y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’) %繪圖
[例4-2]繪制函數曲線。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是獲得在線幫助的最簡單有效的途徑。本例演示:關于矩陣對數函數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)產生一個m行、n列的單位矩陣c=ones(m,n)產生一個m行、n列的元素全為1的矩陣b=zeros(m,n)產生一個m行、n列的零矩陣a=[]產生一個空矩陣,當對一項操作無結果時,返回空矩陣,空矩陣的大小為零.特殊矩陣的建立:.MATLAB(matrix1)d=eye332、矩陣中元素的操作MATLAB(matrix2)(1)矩陣A的第r行:A(r,:)(2)矩陣A的第r列:A(:,r)(4)取矩陣A的第i1~i2行、第j1~j2列構成新矩陣:A(i1:i2,j1:j2)(5)以逆序提取矩陣A的第i1~i2行,構成新矩陣:A(i2:-1:i1,:)(6)以逆序提取矩陣A的第j1~j2列,構成新矩陣:A(:,j2:-1:j1)(7)刪除A的第i1~i2行,構成新矩陣:A(i1:i2,:)=[](8)刪除A的第j1~j2列,構成新矩陣:A(:,j1:j2)=[](9)將矩陣A和B拼接成新矩陣:[AB];[A;B](3)依次提取矩陣A的每一列,將A拉伸為一個列向量:A(:)2、矩陣中元素的操作MATLAB(matrix2)(1)矩陣34
(2)矩陣-矩陣運算[1]元素對元素的運算,同數組-數組運算。
3、矩陣的運算(1)標量-矩陣運算
同標量-數組運算。MATLAB(matrix3)
[2]矩陣運算:矩陣加法:A+B矩陣乘法:A*B方陣的行列式:det(A)方陣的逆:inv(A)方陣的特征值與特征向量:[V,D]=eig[A]
返回(2)矩陣-矩陣運算3、矩陣的運算(1)標量-矩陣35關系與邏輯運算
1、關系操作符關系與邏輯運算1、關系操作符362、邏輯運算符2、邏輯運算符371、for循環(huán):允許一組命令以固定的和預定的次數重復
forx=array{commands}end在for和end語句之間的命令串{commands}按數組(array)中的每一列執(zhí)行一次.在每一次迭代中,x被指定為數組的下一列,即在第n次循環(huán)中,x=array(:,n)控制流MATLAB提供三種決策或控制流結構:
for循環(huán)、while循環(huán)、if-else-end結構.這些結構經常包含大量的MATLAB命令,故經常出現在MATLAB程序中,而不是直接加在MATLAB提示符下.例對n=1,2,…,10,求xn=的值MATLAB(for1)1、for循環(huán):允許一組命令以固定的和預定的次數重復控制流M38
whileexpression{commands}end
只要在表達式(expression)里的所有元素為真,就執(zhí)行while和end語句之間的命令串{commands}.2、While循環(huán)
與for循環(huán)以固定次數
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)智能化管理系統(tǒng)的構建與實踐
- 智慧城市的社會治理與創(chuàng)新
- 家庭教育中心理激勵方法探討
- 提升在線教學質量實操與策略研究
- 19-木皮藍變?有沒有辦法提前預防富深一個解決方案
- 全球視野下的葡萄酒產區(qū)特色:2025年品牌國際化路徑研究報告
- 公交優(yōu)先發(fā)展戰(zhàn)略背景下2025年城市交通擁堵治理路徑探索報告
- Chitosan-Cy7-5-MW-100000-生命科學試劑-MCE
- 北京市昌平二中學南校區(qū)2024年化學九年級第一學期期末質量跟蹤監(jiān)視試題含解析
- 2025屆貴州黔西南州望謨三中學七上數學期末質量檢測試題含解析
- 培訓物業(yè)客服部禮儀禮節(jié)
- 北京海淀區(qū)一零一中學2025年八年級英語第二學期期末復習檢測模擬試題含答案
- 2025年廣東省高考生物試題(含答案解析)
- 院感知識手衛(wèi)生培訓內容
- 2025年 廣州市能源融資租賃有限公司招聘考試筆試試題附答案
- 章程規(guī)范業(yè)務管理制度
- QGDW11914-2018電力監(jiān)控系統(tǒng)網絡安全監(jiān)測裝置技術規(guī)范
- 新生兒洗澡及皮膚護理
- 保鮮庫建設項目可行性研究報告(可編輯)
- 餐飲廢棄物管理制度
- 2025-2030年中國天然氣發(fā)電機行業(yè)市場現狀供需分析及投資評估規(guī)劃分析研究報告
評論
0/150
提交評論