![第二計算機語言_第1頁](http://file4.renrendoc.com/view2/M02/2F/16/wKhkFmY_Kb2AcOzVAABWY_kz_ns825.jpg)
![第二計算機語言_第2頁](http://file4.renrendoc.com/view2/M02/2F/16/wKhkFmY_Kb2AcOzVAABWY_kz_ns8252.jpg)
![第二計算機語言_第3頁](http://file4.renrendoc.com/view2/M02/2F/16/wKhkFmY_Kb2AcOzVAABWY_kz_ns8253.jpg)
![第二計算機語言_第4頁](http://file4.renrendoc.com/view2/M02/2F/16/wKhkFmY_Kb2AcOzVAABWY_kz_ns8254.jpg)
![第二計算機語言_第5頁](http://file4.renrendoc.com/view2/M02/2F/16/wKhkFmY_Kb2AcOzVAABWY_kz_ns8255.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第二計算機語言MATLAB
張賢明
東南大學(xué)
二。。七年七月
目錄
第一章MATLAB概述...............................................................1
第一節(jié)簡單說明...................................................................1
第二節(jié)課程教學(xué)目的及基本要求....................................................4
第三節(jié)MATLAB簡介..............................................................5
第車節(jié)MATLAB集成環(huán)境.........................................................11
第五節(jié)MATLAB常用命令.........................................................12
第二章MATLAB數(shù)值運算...........................................................15
第一節(jié)矩陣創(chuàng)建與運算............................................................15
第二節(jié)多項式運算................................................................18
第三節(jié)代數(shù)方程組求解...........................................................20
第四節(jié)數(shù)據(jù)分析與統(tǒng)計...........................................................21
第五節(jié)擬合與插值................................................................23
第三章MATLAB符號運算..........................................................26
第一節(jié)符號運算的基本操作........................................................26
第二節(jié)因式分解、展開和簡化......................................................27
第三節(jié)符號微積分................................................................28
第四節(jié)符號方程求解..............................................................31
第五節(jié)可視化數(shù)學(xué)分析界面........................................................33
第四章MATLAB計算的可視化......................................................34
第一節(jié)二維數(shù)據(jù)曲線圖............................................................34
第二節(jié)三維圖形..................................................................42
第三節(jié)圖形修飾處理..............................................................49
第四節(jié)圖像處理與動畫制作........................................................51
第五章MATLAB程序設(shè)計..........................................................54
第一節(jié)M文件及程序運算符.......................................................54
第二節(jié)程序控制結(jié)構(gòu)..............................................................55
第三節(jié)函數(shù)文件..................................................................60
第四節(jié)程序調(diào)試及常用指令........................................................62
第六章MATLAB文件操作..........................................................66
第一節(jié)文件的打開與關(guān)閉.........................................................66
第二節(jié)文件的讀寫操作............................................................66
第三節(jié)數(shù)據(jù)文件定位..............................................................69
第七章MATLAB圖形句柄..........................................................70
第一節(jié)圖形對象及其句柄.........................................................70
第二節(jié)圖形對象屬性..............................................................74
第三節(jié)圖形對象的創(chuàng)建............................................................84
第八章MATLAB圖形用戶界面設(shè)計..................................................89
第一節(jié)簡單用戶界面制作.........................................................89
1
第二節(jié)圖形用戶界面的設(shè)計原則和一般步驟............................................91
第三節(jié)菜單設(shè)計.....................................................................92
第四節(jié)用戶控件.....................................................................96
第五節(jié)圖形用戶界面設(shè)計工具........................................................101
第六節(jié)綜合練習(xí).....................................................................105
2
第一章MATLAB概述
第一節(jié)簡單說明
一、課程設(shè)置依據(jù)
名稱開設(shè)情況使用概率方面對主語言作用
第二外國語言多(日、德、法)少無(單詞,語法)
第二計算機語言少(MATLAB)多有(程序控制方式)
如:(D程序控制,相似;
MATLAB:
fori=l:1:100
C++:
for(i=l;i<=100;i++)
(2)文件操作,相同。
fp二fopen(文件名,打開方式)
fclose(fp)
fread,fwrite,fprintf,fscanf(fp,格式,輸入列表)
fclose(fp)
二、計算機語言分類
第一代計算機語言:機器語言,由0,1組成的二進(jìn)制碼;
第二代計算機語言:匯編語言,用指令來代替二進(jìn)制碼,它可以直接對計算機硬件進(jìn)行操作;
以上為低級語言,專業(yè)語言。
第三代計算機語言:算法語言,源程序可以用解釋、編譯兩種方式執(zhí)行,影響較大、使用較
普遍的有FORTRAN、ALGOL.COBOL,BASIC,LISP,SNOBOL、PL/1、Pascal.C、PROLOG.Ada、C++、
Delphi,JAVA等。其中:
FORTRAN(FORmulaTRANslation公式翻譯),適用于數(shù)值計算。
C/C++(BasicCombinedProgrammingLanguage基礎(chǔ)混合編程語言),適用于編寫系統(tǒng)軟件
(UNIX)o
BASIC(Beginner(sAll-purposeSymbolicInstructionCode初學(xué)者通用符號指令代碼),
適用于初學(xué)者。
第四代計算機語言:非過程化語言,是交互式程序設(shè)計環(huán)境,由計算機自動生成程序,提高
了軟件的生產(chǎn)效率,常用的有VC、VB、VF、MATLAB等。其中:
MATLAB(皿rixL弛oratory矩陣實驗室),是一種演算式語言,使用方便,應(yīng)用廣泛。
以上稱高級語言,大眾語言。
第五代計算機語言:人工智能語言。MATLAB適合于人的思維方式(for1=1:1:10),屬人性化
語言.
三、MATLAB主要特點
例:求?元二次方程ax2+bx+c=0的根,編寫其程序,求根公式為
_-h±y/h2-4ac
x\,2=(Qw0)°
2a
1
此方程可能有兩個實根(包括實重根),也可能有一對共軌復(fù)根,均需要按照判別式從-4公
的情況來決定。
1、C程序
ftinclude<stdio.h>
#include<math.h>
voidsolv(floata,floatb,floatc)
(
doubledisc,twoa,terml,term2;
if(a==0.0)
if(b二二0.0)
printf(z,Noanswerduetoinputerror!\nz,);
else
printf("Thesinglerootis:%f\n,z,-c/b);
else
(
disc=b*b-4*a*c;
twoa=2*a;
terml=-b/twoa;
term2=sqrt(fabs(disc))/twoa;
if(disc<0.0)
printf(z,Complexroot:\nrealpart=%f,imagepart=%f\n,\terml,term2);
else
printf("realroot:\nrootl=%f,root2=%f\n,,,terml+term2,terml-term2);
)
)
voidmainO
(
floata,b,c;
printf(z,Inputa,b,c:〃);
scanfC%f%f%f,z,&a,&b,&c);
solv(a,b,c);
)(30行)
2、VB程序
PrivateSubForm_Activate()
Dima#,b#,c#,d#,xl#,x2#
a=Val(InputBox(〃a=〃,〃數(shù)據(jù)輸入框〃,1))
b二Val(InputBox(〃b=〃,〃數(shù)據(jù)輸入框〃,2))
c=Val(InputBox(〃c=〃,〃數(shù)據(jù)輸入框〃,1))
Ifa=0Then
Ifb=0Then
Ifc=0ThenPrint〃解得:x有無窮解〃ElsePrint〃解得:x無解〃
Else
Print〃解得:x=〃&-c/b
EndIf
Else
2
d=b*b-4*a*c
Ifd>0Then
xl=(-b+Sqr(d))/(2*a)
x2=(-b-Sqr(d))/(2*a)
Print〃解得:xl=〃&xl,
Print〃x2=〃&x2
Else
xl=-b/(2*a)
Ifd=0ThenPrint〃解得:x=〃&xl
Ifd<0Then
x2=Sqr(-d)/(2*a)
Print〃解得:xl=〃&xl&〃+〃&x2&〃i〃
Print〃x2=〃&xl&〃-〃&x2&〃i〃
EndIf
EndIf
EndIf
EndSub(29行)
3、FORTRAN程序
4READ(5,5)A,B,C
5FORMAT(3F4.1)
IF(A)15,35,15
15XlR=-B/(2.0*A)
D=B*B-4.0*A*C
IF(D)10,20,30
10X2R=X1R
X1I=SQRT(-D)A2.O*A)
X2I=-X1I
GOTO34
20X2R=X1
X1I=O.0
X2I=0.0
GOTO34
X2R=X1R-SQRT(D)/⑵0*A)
X1R=XIR+SQRT(D)/(2.O*A)
Xl1=0.0
X2I=0.0
34WRITE(6,6)A,B,C,X1R,XII,X2R,X2IXO=X
6FORMAT(IX,7(F7.4,3X))
GOTO4
STOPo
END(23行)
4、MATLAB程序
?P=[l,2,1]
P=
121
>>r=roots(p)
3
r=
-1
-1(2行)
?p=[1,2,3];r=roots(p)
r=
-1.0000+1.4142i
-1.0000-1.4142i(l行2句)
?r=roots([6,-5,1])
0.5000
0.3333(1行1句)
所有計算問題函數(shù)化,工具箱化,屬演算式語言,使用簡單。
第二節(jié)課程教學(xué)目的及基本要求
一、教學(xué)目的
本課程為全校性公共任選課,完全不必具備其它計算機語言的基礎(chǔ)和專業(yè)知識,各年級各專
業(yè)的同學(xué)都可選修。通過本課程學(xué)習(xí),使學(xué)生了解MATLAB,能夠熟練掌握數(shù)學(xué)(矩陣)運算,簡
單編程,簡單的數(shù)據(jù)處理及基本圖形繪制,幫助學(xué)生解決學(xué)習(xí)或工作中的數(shù)值計算、數(shù)據(jù)處理、
圖形繪制等問題,并達(dá)到計算機語言素養(yǎng)的訓(xùn)練,為C++高級編程服務(wù)。
二、學(xué)習(xí)內(nèi)容
(1)MATLAB簡介;
(2)MATLAB的數(shù)值運算;
(3)MATLAB的符號運算;
(4)MATLAB計算的可視化;
(5)MATLAB文件操作;
(6)MATLAB程序設(shè)計;
(7)MATLAB圖形句柄;
(8)MATLAB圖形用戶界面設(shè)計。
三、考核方式
(1)綜合作業(yè)60+測驗40;
(2)綜合作業(yè)需完成自制用戶介面設(shè)計,并結(jié)合實例實現(xiàn)簡單分析或計算功能,并把計算結(jié)果
圖形化,要有個性化圖形設(shè)置;
4
>MATLAB6.5輔助神經(jīng)網(wǎng)絡(luò)分析與設(shè)計系統(tǒng)目回區(qū)|
文件操作輸入輸出文件格式輔助功能
動量法和學(xué)習(xí)速率自適應(yīng)調(diào)整方法訓(xùn)練與學(xué)習(xí)
輸入文件位置及名稱e\bp\aa.txt
輸出文件位置及名稱e:\bp\cc.txt
待求文件位置及名稱
隱含層神經(jīng)單元個數(shù)15
顯示間隔次數(shù)25
最大循環(huán)次數(shù)1000
目標(biāo)誤差0.02
設(shè)置學(xué)習(xí)速率0.01
學(xué)習(xí)速率增加的比率1.05
學(xué)習(xí)速率減小的比率0.7
設(shè)定動量常數(shù)09
設(shè)定展大誤差比率1.04
BP神經(jīng)網(wǎng)絡(luò)分析與設(shè)計系統(tǒng)
(3)最后一次課安排測驗,完成40分填空題,為MATLAB軟件中特別實用的內(nèi)容和函數(shù),主要
為己知函數(shù)寫出功能或根據(jù)要求寫出相應(yīng)函數(shù)。
四、教學(xué)參考書
1、掌握和精通MATLAB
1997年7月第一版;純印刷版發(fā)行;以4.2c為軟件基礎(chǔ);除符號計算外,其余內(nèi)容迄今適
用。(全書52萬字)
2、精通MATLAB5.3
2000年8月第一版;印刷、電子版配套發(fā)行;以5.3為軟件基礎(chǔ);內(nèi)容詳盡深入,迄今全部
適用。(全書90萬字)
3、精通MATLAB6.5
2002年12月第一版;2002全新版,詳述MATLAB6.5精華,由印刷版和電子版融合而成,是本
課程的教學(xué)用書。(全書103萬多字)
第三節(jié)MATLAB簡介
一、課程介紹
5
C++支持面向?qū)ο蟮某绦蛟O(shè)計方法,特別適合于中型和大型的軟件開發(fā)項目(Windows),從開
發(fā)時間、費用到軟件的重用性、可擴充性、可維護(hù)性和可靠性等方面,C++均具有很大的優(yōu)越性。
但C++是編譯類語言,使用過程不方便,對一些簡單問題,解釋類語言比較靈活,可以動態(tài)地調(diào)
整(可不使用程序文件)、修改應(yīng)用程序。MATLAB是一種解釋類語言,它將一個優(yōu)秀軟件的易用
性與可靠性、通用性與專業(yè)性、一般目的的應(yīng)用與高深的科學(xué)技術(shù)應(yīng)用有機的相結(jié)合,是一種直
譯式的高級語言,比其它程序設(shè)計語言容易。計算機語言正向“智能化”方向發(fā)展,MATLAB被稱
為第四代編程語言,滿足“智能化”的方向。MATLAB已經(jīng)不僅僅是一個“矩陣實驗室”了,它集
科學(xué)計算、圖象處理、多媒體處理于一身,并提供了豐富的Windows圖形界面設(shè)計方法。它以超
群的風(fēng)格與性能風(fēng)靡全世界,成功地應(yīng)用于各工程學(xué)科的研究領(lǐng)域。近年來,MATLAB語言已在我
國推廣使用,現(xiàn)在已應(yīng)用于各學(xué)科研究部門和許多高等院校。
二、MATLAB由來
MATLAB語言是由美國的CleverMoler博士于1980年開發(fā)的,設(shè)計者的初衷是為解決“線性
代數(shù)”課程的矩陣運算問題,取名MATLAB即蟠rixLaboratory矩陣實驗室的意思。
MATLAB是一種演算式語言。MATLAB的基本數(shù)據(jù)單元是既不需要指定維數(shù),也不需要說明數(shù)據(jù)
類型的矩陣(向量和標(biāo)量為矩陣的特例),而且數(shù)學(xué)表達(dá)式和運算規(guī)則與通常的習(xí)慣相同。因此
MATLAB語言編程簡單,使用方便。
三、MATLAB的應(yīng)用領(lǐng)域
(1)工業(yè)研究與開發(fā);
(2)數(shù)學(xué)教學(xué),特別是線性代數(shù);
(3)數(shù)值分析和科學(xué)計算方面的教學(xué)與研究;
(4)電子學(xué)、控制理論和物理學(xué)等工程和科學(xué)學(xué)科方面的教學(xué)與研究;
(5)經(jīng)濟(jì)學(xué)、化學(xué)和生物學(xué)等計算問題的所有其他領(lǐng)域中的教學(xué)與研究。
四、初識MATLAB
1、矩陣乘積問題
考慮兩個矩陣A和B的乘積問題,在C語言中要實現(xiàn)兩個矩陣的乘積并不僅僅是一組雙重循
環(huán)的問題。雙重循環(huán)當(dāng)然是矩陣乘積所必需的,除此之外要考慮的問題很多。例如:A和B有一
個是復(fù)數(shù)矩陣怎么考慮;其中一個是復(fù)數(shù)矩陣時怎么考慮;全部是實系數(shù)矩陣時又怎樣處理,這
樣就要在一個程序中有4個分支,分別考慮這4種情況。然而還得判斷這兩個矩陣是否可乘???/p>
慮兩個矩陣是否可乘也并不僅僅是判斷A的列數(shù)是否等于B的行數(shù)這么簡單。其中一個若為標(biāo)量,
則它們可以無條件相乘。其中有標(biāo)量時又得考慮實數(shù)與復(fù)數(shù)問題等。所以說,沒有幾十分種的時
間,用C語言并不可能編寫出考慮各種情況的子程序。有了MATLAB這樣的工具,A和B矩陣乘積
用A*B這樣簡單的算式就行了。
例:
?A=magic(3)
A=
816
357
492
?A*A'
ans=
1017153
718371
5371101
?A*A
6
ans二
916767
679167
676791
MATLAB提供了豐富的矩陣運算處理功能,是基于矩陣運算的處理工具。
又例如C=A+B,A,B,C都是矩陣,是矩陣的加運算。
即使一個常數(shù),Y=5,MATLAB也看做是一個1x1的矩陣。
2、求解線性方程組(對于線性系統(tǒng)有Ax二b)
(1)3XI+X2-X3=3.6
XI+2XZ+4X3=2.1
-XI+4XZ+5X3=-l.4
?A=[31-1;124;-l45];b=[3.6;2.
?x=A\b
x=
1.4818
-0.4606
0.3848
(2)
?A=[2,-3,1;8,3,2;45,1,-9];b=[4;2;17];
?x=inv(A)*b
0.4784
-0.8793
0.4054
3、繪圖
(1)繪制正弦曲線和余弦曲線。
?x=[0:0.5:360]*pi/180;
>>plot(x,sin(x),x,cos(x));
>>legend(,sin','con,)
(2)考慮一個二元函數(shù)
35x2y2(x+)2y2
Z=/(x,y)=3(l-x)2er2/2-(y+i)2-io(|-x-y)e---^e-'-
如何用三維圖形的方式表現(xiàn)出這個曲面?
用C這類語言,繪制三維圖形是一個難點,且從一個機器移植程序到另一個機器,大部分時
7
間花在調(diào)試程序上。但使用MATLAB這類高級語言,完成這樣的工作就是幾個直觀語句的事。且得
出圖形美觀準(zhǔn)確、可以將語句不變化地移植到另外的機器匕得出完全一致的結(jié)果,如下所示。
>>[x,y]=meshgrid(-3:1/8:3)
?z=3.*(l-x).2.*exp(-(x.2)./2-(y+l).2)-10.*(x/5-x.3-y.5).*exp(-x."2-y.2)-1
/3.*exp(-(x+l).2-y.2)
?Surf(x,y,z)
?Shadinginterp
>>Colorbar
(3)豐富的繪圖功能與計算結(jié)果的可視化:
具有高層繪圖功能一兩維、三維繪圖;具有底層繪圖功能一句柄繪圖;使用plot函數(shù)可隨時
將計算結(jié)果可視化。
4、數(shù)學(xué)分析
(1)求方程3x,+7x3+9x2-23=0的全部根。
?p=[3,7,9,0,-23L%建立多項式系數(shù)向量
?x=roots(p)/求根
X=
-1.8857
-0.7604+1.7916i
-0.7604-1.7916i
1.0732
i
(2)求積分Jxlog(l+x)dxo
o
?quad(,x.*log(l+x)',0,1)
0.2500
2]
(3)求積分--------dx.
{X3-2X-5
?F=inline('1./(x.-3-2.*x-5),);
?Q=quad(F,0,2)
Q=
-0.4605
用于解代數(shù)方程、微積分、復(fù)合導(dǎo)數(shù)、積分、二重積分、有理函數(shù)、微分方程、泰樂級數(shù)展
開、尋優(yōu)等等,可求得解析符號解。
5、圖形化程序編制功能
8
動態(tài)系統(tǒng)進(jìn)行建模、仿真和分析的軟件包,用結(jié)構(gòu)圖編程,而不用程序編程,只需拖幾個方
塊、連幾條線,即可實現(xiàn)編程功能。以下列出部分分工具箱名稱:
MATLAB主工具箱
符號數(shù)學(xué)工具箱
SIMULINK仿真工具箱
控制系統(tǒng)工具箱
信號處理工具箱
圖象處理工具箱
通訊工具箱
系統(tǒng)辨識工具箱
神經(jīng)元網(wǎng)絡(luò)工具箱
金融工具箱
例:
在MATLAB中有許多用于不同應(yīng)用領(lǐng)域的工具箱。這里,作為一個例子給出PDE工具箱,這個
工具箱通過使用有限元方法(theFiniteElementMethod)解橢圓方程、拋物線方程和雙曲線方程。
區(qū)域要分成大量三角形子區(qū)域,對每個三角形,其解由一個簡單函數(shù)估計。所用的三角形越多,
其偏差就越小。
6、文件操作
(1)與DOS命令一致。
cd—可改變當(dāng)前工作目錄
cd_—顯示當(dāng)前子目錄
cdc:\matlab\toolbox
cd_..一退出當(dāng)前子目錄到上一級目錄
cd_\一回到根目錄
(2)m文件執(zhí)行方式與DOS命令一致。
examl.m文件執(zhí)行examl即可。
>>examl
Q=
-0.4605
9
五、聯(lián)機幫助
help功能提供MATLAB大部分主題的在線幫助信息。
help顯示help主題一覽表。
helpplotxyz顯示有關(guān)三維做圖指令幫助信息。
help[顯示特殊字符與符號幫助信息。
helphelp顯示help的幫助信息。
例:
?helpplot
PLOTLinearplot.
PLOT(X,Y)plotsvectorYversusvectorX.IfXorYisamatrix,thenthevectoris
plottedversustherowsorcolumnsofthematrix,whicheverlineup.IfXisascalarand
Yisavector,length(Y)disconnectedpointsareplottedo
PLOT(Y)plotsthecolumnsofYversustheirindex.IfYiscomplex,PLOT(Y)is
equivalenttoPLOT(real(Y),imag(Y)).InallotherusesofPLOT,theimaginarypartis
ignored.Variouslinetypes,plotsymbolsandcolorsmaybeobtainedwith。
PLOT(X,Y,S)whereSisacharacterstringmadefromoneelement
fromanyorallthefollowing3columns:
bblue.point-solid
ggreenocircle:dotted
rredxx-markdashdot
ccyan+plus一dashed
mmagenta*star
yyellowssquare
kblackddiamond
Vtriangle(down)
ctriangle(up)
<triangle(left)
>triangle(right)
ppentagram
hhexagram
Forexample,PLOT(X,Y,'r+:')plotsareddottedlinewithaplusateachdatapoint;
PLOT(X,Y,'bs')plotsbluesquareateachdatapointbutdoesnotdrawanyline.
PLOT(XI,Yl,SI,X2,Y2,S2,X3,Y3,S3,...)combinestheplotsdefinedbythe(X,Y,S)
triples,wheretheX'sandY'sarevectorsormatricesandtheS'sarestrings.
Forexample,PLOT(X,Y,'y-',X,Y,'go')plotsthedatatwice,withasolidyellowline
interpolatinggreencirclesatthedatapoints.
ThePLOTcommand,ifnocolorisspecified,makesautomaticuseofthecolorsspecified
bytheaxesColorOrderproperty.ThedefaultColorOrderislistedinthetableabovefor
colorsystemswherethedefaultisblueforoneline,andformultiplelines,tocycle
throughthefirstsixcolorsinthetable.Formonochromesystems,PLOTcyclesoverthe
axesLineStyleOrderproperty.
PLOTreturnsacolumnvectorofhandlestoLINEobjects,onehandleperline.
TheX,Ypairs,orX,Y,Striples,canbefollowedbyparameter/valuepairstospecify
additionalpropertiesofthelines.
SeealsoSEMILOGX,SEMILOGY,LOGLOG,PLOTYY,GRID,CLF,CLC,TITLE,XLABEL,YLABEL,
AXIS,AXES,HOLD,COLORDEF,LEGEND,SUBPLOT,STEM.
第四節(jié)MATLAB集成環(huán)境
啟動MATLAB后,將進(jìn)入MATLAB6.5集成環(huán)境。MATLAB6.5集成環(huán)境包括MATLAB主窗口、
命令窗口(CommandWindow)、工作空間窗口(Workspace)、命令歷史窗口(CommandHistory),當(dāng)
前目錄窗口(CurrentDirectory)和啟動平臺窗口(LaunchPad),
1、菜單欄
在MATLAB6.5主窗口的菜單欄,共包含F(xiàn)ile、Edit、View、Web、Window和Help6個菜單
項。
2、工具欄
MATLAB6.5主窗口的工具欄共提供了10個命令按鈕。這些命令按鈕均有對應(yīng)的菜單命令,
但比菜單命令使用起來更快捷、方便。
3、命令窗口
命令窗口是MATLAB的主要交互窗口,用于輸入命令并顯示除圖形以外的所有執(zhí)行結(jié)果。
MATLAB命令窗口中的“>>”為命令提示符,表示MATLAB正在處于準(zhǔn)備狀態(tài)。在命令提示符后鍵
入命令并按下回車鍵后,MATLAB就會解釋執(zhí)行所輸入的命令,并在命令后面給出計算結(jié)果。
一般來說,一個命令行輸入一條命令,命令行以回車結(jié)束。但一個命令行也可以輸入若干條
命令,各命令之間以逗號分隔,若前一命令后帶有分號,則逗號可以省略。
如果一個命令行很長,一個物理行之內(nèi)寫不下,可以在第一個物理行之后加上3個小黑點并
按下回車鍵,然后接著下一個物理行繼續(xù)寫命令的其他部分。3個小黑點稱為續(xù)行符,即把下面
的物理行看作該行的邏輯繼續(xù)。
在MATLAB里,有很多的控制鍵和方向鍵可用于命令行的編輯。
4、工作空間窗口
工作空間是MATLAB用于存儲各種變量和結(jié)果的內(nèi)存空間。在該窗口中顯示工作空間中所有變
量的名稱、大小、字節(jié)數(shù)和變量類型說明,可對變量進(jìn)行觀察、編輯、保存和刪除。
5、當(dāng)前目錄窗口和搜索路徑
當(dāng)前目錄是指MATLAB運行文件時的工作目錄,只有在當(dāng)前目錄或搜索路徑下的文件、函數(shù)可
以被運行或調(diào)用。
在當(dāng)前目錄窗口中可以顯示或改變當(dāng)前目錄,還可以顯示當(dāng)前目錄下的文件并提供搜索功能。
將用戶目錄設(shè)置成當(dāng)前目錄也可使用cd命令。例如,將用戶目錄c:\mydir設(shè)置為當(dāng)前目錄,
可在命令窗口輸入命令:
?cdc:\mydir
6、命令歷史記錄窗口
11
在默認(rèn)設(shè)置下,歷史記錄窗口中會自動保留自安裝起所有用過的命令的歷史記錄,并且還標(biāo)
明了使用時間,從而方便用戶查詢。而且,通過雙擊命令可進(jìn)行歷史命令的再運行。如果要清除
這些歷史記錄,可以選擇Edit菜單中的ClearCommandHistory命令。
7、啟動Start按鈕
MATLAB6.5主窗口左下角還有一個Start按鈕,單擊該按鈕會彈出一個菜單,選擇其中的命
令可以執(zhí)行MATLAB產(chǎn)品的各種工具,并且可以查閱MATLAB包含的各種資源。
8、演示系統(tǒng)
在幫助窗口中選擇演示系統(tǒng)(Demos)選項卡,然后在其中選擇相應(yīng)的演示模塊,或者在命令窗
口輸入Demos,或者選擇主窗口Help菜單中的Demos子菜單,打開演示系統(tǒng)。
第五節(jié)MATLAB常用命令
1、addpathc:\matlab\work一添加工作路徑。
2、cdc:\mydir一更改工作路徑。
3、path一顯示當(dāng)前工作路徑。
4、doc—顯示幫助信息,如下圖所示。
5、sin
SIN(X)isthesineoftheelementsofX.
6、what
M-filesinthecurrentdirectory
7、clear
CLEARClearvariablesandfunctionsfrommemory.
CLEARALLremovesallvariablesfromtheworkspace.
CLEARVARIABLESdoesthesamething.
8^length
LENGTHLengthofvector.
LENGTH(X)returnsthelengthofvectorX.
9、load
LOADLoadworkspacevariablesfromdisk.
LOADFILENAMEretrievesallvariablesfromafilegivenafullpathnameoraMATLABPATH
relativepartialpathname(seePARTIALPATII).IfFILENAMEhasnoextensionLOADlooksfor
12
FILENAMEandFILENAME,matandtreatsitasabinary"MAT-file".IfFILENAMEhasan
extensionotherthan.mat,itistreatedasASCII.
10>mlock
MLOCKPreventM-filefrombeingcleared.MLOCKlocksthecurrentlyrunning\f-filein
memorysothatsubsequentCLEARcommandsdonotremoveit.
UsethecommandMUNLOCKorMUNLOCK(FUN)toreturntheM-filetoitsnormalCLEAR-able
state.
11、who
WHOListcurrentvariables.
12、whos
WHOSListcurrentvariables,longform.
13>format
FORMATSetoutputformat.
AllcomputationsinMATLABaredoneindoubleprecision.
FORMATmaybeusedtoswitchbetweendifferentoutputdisplayformatsasfollows:
FORMATDefault.SameasSHORT.
FORMATSHORTScaledfixedpointformatwith5digits.
FORMATLONGScaledfixedpointformatwith15digits.
FORMATSHORTEFloatingpointformatwith5digits.
FORMATLONGEFloatingpointformatwith15digits.
FORMATSHORTGBestoffixedorfloatingpointformatwith5digits.
FORMATLONGGBestoffixedorfloatingpointformatwith15digits.
FORMATHEXHexadecimalformat.
FORMAT+Thesymbols+,-andblankareprintedforpositive,negativeandzero
elements.Imaginarypartsareignored.
FORMATBANKFixedformatfordollarsandcents.
FORMATRATApproximationbyratioofsmallintegers.
14、delete
DELETEDeletefileorgraphicsobject.
DELETEfile_namedeletesthenamedfilefromdisk.Wildcardsmaybeused.Forexample,
DELETE*.pdeletesallP-filesfromthecurrentdirectory.
15>dir
DIRListdirectory.
DIRdirectory_nameliststhefilesinadirectory.Pathnamesandwildcardsmaybe
used.Forexample,DIR*.mlistsalltheM-filesinthecurrentdirectory.
16>hold
HOLDHoldcurrentgraph.
HOLDONholdsthecurrentplotandallaxispropertiessothatsubsequentgraphing
commandsaddtotheexistinggraph.
HOLDOFFreturnstothedefaultmodewherebyPLOTcommandserasethepreviousplots
andresetallaxispropertiesbeforedrawingnewplots.
17>1inspace
LINSPACELinearlyspacedvector.
LINSPACE(X1,X2)generatesarowvectorof100linearlyequallyspacedpointsbetween
XIandX2.
LINSPACE(XI,X2,N)generatesNpointsbetweenXIandX2.ForN<2,LINSPACEreturns
13
X2.
18>save
SAVESaveworkspacevariablestodisk.
SAVEFILENAMEsavesallworkspacevariablestothebinary"MAT-file”
namedFILENAME,mat.ThedatamayberetrievedwithLOAD.IfFILENAME
hasnoextension,.matisassumed.
SAVEFILENAMEXsavesonlyX.
SAVEFILENAMEXYZsavesX,Y,andZ.Thewildcard'canbeusedto
saveonlythosevariablesthatmatchapattern.
ASCIIOptions:
SAVE...-ASCIIuses8-digitASCIIforminsteadofbinaryregardless
offileextension.
SAVE...-ASCII-DOUBLEuses16-digitASCIIform.
SAVE...-ASCII-TABSdelimitswithtabs.
SAVE...-ASCII-DOUBLE-TABS16-digit,tabdelimited.
MATOptions:
SAVE...-MATsavesinMATformatregardlessofextension.
SAVE...-V4savesaMAT-filethatMATLAB4canLOAD.
SAVE...-APPENDaddsthevariablestoanexistingfile(MAT-fileonly).
14
第二章MATLAB數(shù)值運算
第一節(jié)矩陣創(chuàng)建與運算
一、創(chuàng)建矩陣的方法
1、直接輸入法
?a=[l23;456]
a=
123
456
規(guī)則:
(1)矩陣元素必須用[]括住;
(2)矩陣元素必須用逗號或空格分隔;
(3)在[]內(nèi)矩陣的行與行之間必須用分號分隔。
2、矩陣元素
矩陣元素可以是任何MATLAB表達(dá)式,可以是實數(shù),也可以是復(fù)數(shù),復(fù)數(shù)可用特殊函數(shù)i,
j輸入
?x=[2pi/2:sqrt(3)3+5i]
x=
2.00001.5708
1.73213.0000+5.00001
3、符號的作用
(1)逗號和分號可作為指令間的分隔符,MATLAB允許多條語句在同一行出現(xiàn);
(2)分號如果出現(xiàn)在指令后,屏幕上將不顯示結(jié)果。
4、說明
(1)只要是賦過值的變量,不管是否在屏幕上顯示過,都存儲在工作空間中,以后可隨時顯示
或調(diào)用;
(2)變量名盡可能不要重復(fù),否則會覆蓋;
(3)當(dāng)一個指令或矩陣太長時,可用???續(xù)行。
5、冒號的作用
(1)用于生成等間隔的向量,默認(rèn)間隔為1;
(2)用于選出矩陣指定行、列及元素;
?b=a(l:2,2:3)
b=
23
56
(3)使矩陣中所有元素變?yōu)橐涣小?/p>
?c=b(:)
c=
2
5
3
6
6、用MATLAB函數(shù)創(chuàng)建矩陣
15
(1)空陣[]—MATLAB允許輸入空陣,當(dāng)一項操作無結(jié)果時,返回空陣:
(2)rand一隨機矩陣;
(3)eye一單位矩陣;
(4)zeros一全部元素都為0的矩陣;
(5)ones一全部元素都為1的矩陣。
7、其它
還有伴隨矩陣、稀疏矩陣、魔方矩陣、對角矩陣、范德蒙等矩陣的創(chuàng)建,就不一一介紹了。
注意:
(1)MATLAB嚴(yán)格區(qū)分大小寫字母,因此a與A是兩個不同的變量;
(2)MATLAB函數(shù)名必須小寫。
二、矩陣的修改
1、直接修改
可用T鍵找到所要修改的矩陣,用一罐移動到要修改的矩陣元素上即可修改。
2、指令修改
可以用A(*,*)=*來修改。
例如
?a=[l20;305;789]
a=
120
305
789
?a(3,3)=0
a=
120
305
780
三、數(shù)據(jù)的保存與獲取
1、生成mat數(shù)據(jù)文件
把MATLAB工作空間中一些有用的數(shù)據(jù)長久保存下來的方法是生成mat數(shù)據(jù)文件。
?save—將工作空間中所有的變量存到matlab.mat文件中。
?savedata—將工作空間中所有的變量存到data,mat文件中。
?savedataab—將工作空間中a和b變量存到data,mat文件中。
2、調(diào)用已生成的mat文件
下次運行MATLAB時即可用load指令調(diào)用已生成的mat文件。
?load一打開matlab.mat文件。
?loaddata—打開data,mat文件。
?loaddataab一打開data,mat文件中的a,b變量。
mat文件是標(biāo)準(zhǔn)的二進(jìn)制文件,還可以ASCII碼形式保存(-ascii)。
四、矩陣運算
1、矩陣加、減(+,一)運算
規(guī)則:
(1)相加、減的兩矩陣必須有相同的行和列兩矩陣對應(yīng)元素相加減;
(2)允許參與運算的兩矩陣之一是標(biāo)量。標(biāo)量與矩陣的所有元素分別進(jìn)行加減操作。
2、矩陣乘(*)運算
16
規(guī)則:
(DA矩陣的列數(shù)必須等于B矩陣的行數(shù);
(2)標(biāo)量可與任何矩陣相乘。
?a=[l23;456;780];b=[l;2;3hc=a*b
c=
14
32
23
?d=[-l;0;2];f=pi*d
f=
-3.1416
0
6.2832
矩陣除的運算在線性代數(shù)中沒有,有矩陣逆的運算。
3、矩陣乘方—a「n,a"p,p'a
a八p—a自乘p次哥
對于P的其它值,計算將涉及特征值和特征向量,如果P是矩陣,a是標(biāo)量£p使用特征值和
特征向量自乘到P次幕;如a,p都是矩陣,a、則無意義。
?a=[l,2,3;4,5,6;7,8,9];丁2
ans=
303642
668196
102126150
4、矩陣的其它運算
(1)inv一矩陣求逆;
(2)det-行列式的值;
(3)eig—矩陣的特征值;
(4)diag—對角矩陣;
(5)'-矩陣轉(zhuǎn)置;
(6)sqrt一矩陣開方;
5、矩陣的一些特殊操作
(1)矩陣的變維
?a=[l:12];b=reshape(a,3,4);c=zeros(3,4);c(:)=a(:)
c=
14710
25811
36912
⑵矩陣的變向
rot90:旋轉(zhuǎn);fliplr:上翻;flipud:下翻。
(3)矩陣的抽取
diag:抽取主對角線;
tril:抽取主下三角;
triu:抽取主上三角。
(4)矩陣的擴展
五、矩陣的數(shù)組運算
17
數(shù)組運算指元素對元素的算術(shù)運算,與通常意義上的由符號表示的線性代數(shù)矩陣運算不同。
1、數(shù)組加減
a.+b
a.-b
2、數(shù)組乘除
a.*b—a,b兩數(shù)組必須有相同的行和列兩數(shù)組相應(yīng)元素相乘。
?a=[l23;456;789];
?b=[246;135;7910];
?a.*b
ans=
2818
41530
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年臨時電梯使用協(xié)議范本
- 2025年施工合同修改協(xié)議
- 2025年創(chuàng)業(yè)園區(qū)租賃協(xié)議
- 2025年交通工程安全事故補償協(xié)議
- 2025年三人合資企業(yè)合同范本
- 2025年離異家庭撫養(yǎng)權(quán)策劃安排合同
- 2025年住房及其周邊設(shè)施購買合同
- 2025年代理服務(wù)合同范文協(xié)議書
- 2025年策劃社團(tuán)聯(lián)合共創(chuàng)協(xié)議書
- 2025年交通項目合作實施協(xié)議書模板
- TSG07-2019鍋爐安裝工藝+焊接專用工藝卡+施工記錄表
- 2024-2025學(xué)年陜西省西安市浐灞區(qū)數(shù)學(xué)三年級第一學(xué)期期末統(tǒng)考試題含解析
- 《鈉離子電池用電解液編制說明》
- 全球醫(yī)療旅游經(jīng)濟(jì)的現(xiàn)狀與未來趨勢
- 2024年度儲能電站在建項目收購合作協(xié)議范本3篇
- 新建冷卻塔布水器項目立項申請報告
- 廣東省梅州市梅縣區(qū)2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試題
- 護(hù)理人員的職業(yè)安全防護(hù)
- 2024數(shù)據(jù)中心綜合布線工程設(shè)計
- 胸外科講課全套
- 2024年下半年中煤科工集團(tuán)北京華宇工程限公司中層干部公開招聘易考易錯模擬試題(共500題)試卷后附參考答案
評論
0/150
提交評論