第二章MATLAB的基本使用方法_第1頁
第二章MATLAB的基本使用方法_第2頁
第二章MATLAB的基本使用方法_第3頁
第二章MATLAB的基本使用方法_第4頁
第二章MATLAB的基本使用方法_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第2章基本使用方法教學(xué)內(nèi)容簡單的數(shù)學(xué)運(yùn)算常用的操作命令和快捷鍵MATLABR2010a的數(shù)據(jù)類型MATLABR2010a的運(yùn)算符MATLAB的一些基礎(chǔ)函數(shù)MATLAB腳本文件1/14/20231MATLAB兩大特點(diǎn)1:面向復(fù)數(shù)設(shè)計(jì)的運(yùn)算>>a=-8;ra=a^(1/3)ra=1.0000+1.7321i>>p=[100-a];r=roots(p)r=-2.00001.0000+1.7321i1.0000-1.7321i1/14/202322:面向數(shù)組設(shè)計(jì)的運(yùn)算1/14/202332.1簡單的數(shù)學(xué)運(yùn)算直接輸入法>>pi*4^2ans=50.2655

沒有將結(jié)果賦予一個(gè)變量時(shí),MATLAB自動將結(jié)果賦予一個(gè)暫時(shí)的變量名ans2.存儲變量法>>s=pi*4^2s=50.2655>>h=2h=2>>v=s*hv=100.53102.1.1最簡單的計(jì)算器使用方法1/14/202342.1.2MATLAB中的常用數(shù)學(xué)函數(shù)MATLAB提供的基本初等函數(shù)包括三角函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)、復(fù)數(shù)函數(shù)、取整和求余函數(shù)、坐標(biāo)變換函數(shù)、數(shù)理函數(shù)和一些特殊函數(shù)。教材P14-16

MATLAB中使用函數(shù)不需要先對函數(shù)聲明

1/14/20235>>a=1;b=2;c=sqrt(3);>>cos_alpha=(a^2+b^2-c^2)/(2*a*b)cos_alpha=0.5000>>alpha=acos(cos_alpha)%反余弦函數(shù)acos()alpha=1.0472>>alpha=alpha*180/pi%將弧度值轉(zhuǎn)化為角度alpha=60.0000例2-3:已知三角形三個(gè)邊長度分別為1、2、,求長度為1和2的兩條邊的夾角大小。1/14/20236>>a=1,b=2,c=sqrt(3)a=1b=2c=1.7321觀察一下符號分號“;”,逗號“,”的區(qū)別。1/14/202372.1.3MATLAB的數(shù)學(xué)運(yùn)算符a\b=b/a。1/14/20238例:矩陣乘法和點(diǎn)乘>>a=[12;34];>>b=[23;11];>>c=a*bc=451013>>d=a.*bd=2634>>a=magic(3)a=816357492>>c=ones(2,3)c=111111魔術(shù)矩陣為每行、每列以及對角之和均相等的矩陣1/14/202392.1.4標(biāo)點(diǎn)符號的使用1/14/2023101:分號(;)功能:用于區(qū)分?jǐn)?shù)組的行,或者用于一個(gè)語句的結(jié)尾處,取消運(yùn)行行顯示。2:百分號(%)功能:用于在程序文本中添加注釋,提高程序的可讀性。百分號之后的文本都將視為注釋,系統(tǒng)不對其進(jìn)行編譯。>>c=ones(2,3);>>c=ones(2,3)%createa2*3matrixofones.c=1111111/14/2023113:逗號(,)>>x=[1.545,2.1]x=1.54502.1000>>round(x)ans=22>>x,x'x=1.54502.1000ans=1.54502.1000>>x,b=x';x=1.54502.10001/14/2023122.2常用的操作命令和快捷鍵掌握一些常用的操作命令和快捷鍵,可以使得對MATLAB的操作更加便利。1/14/202313clear命令>>xx=1.54502.1000>>clearx>>x???Undefinedfunctionorvariable'x'.1/14/202314快捷鍵及其功能1/14/2023152.3MATLABR2010a的數(shù)據(jù)類型Matlab常用的數(shù)據(jù)類型:數(shù)值:numeric字符:char邏輯:logical單元:cell結(jié)構(gòu):struct1/14/202316數(shù)值類型整數(shù):int8,uint8,int16,uint16等浮點(diǎn)數(shù):單精度(single)和雙精度(double)復(fù)數(shù):complex1/14/2023172.3.1整數(shù)MATLAB支持8位、16位、32位和64位的有符號和無符號整數(shù)數(shù)據(jù)類型。上述整數(shù)數(shù)據(jù)類型除了定義范圍不同外,具有相同的性質(zhì)。1/14/202318整數(shù)數(shù)據(jù)類型的定義格式:數(shù)據(jù)類型標(biāo)識符(數(shù)據(jù)值)例如:定義一個(gè)8位有符號的整數(shù)x=30測試數(shù)據(jù)類型函數(shù):class()>>x=int8(30)x=30>>class(x)ans=int8>>y=80y=80>>class(y)ans=double>>MATLAB默認(rèn)的數(shù)據(jù)類型1/14/202319整數(shù)的運(yùn)算>>y=uint8(15)y=15>>x=uint8(30)x=30>>x+yans=45>>x*yans=255>>x/yans=2>>y\xans=2>>x\yans=1>>當(dāng)運(yùn)算結(jié)果溢出時(shí),系統(tǒng)將結(jié)果設(shè)置為該數(shù)據(jù)類型的上限或者下限左除和右除的關(guān)系:y\x=x/y在進(jìn)行除法時(shí),MATLAB首先將兩個(gè)數(shù)視為雙精度類型進(jìn)行運(yùn)算,然后將結(jié)果轉(zhuǎn)化為相應(yīng)的整形數(shù)據(jù)1/14/202320>>x=double(x),y=double(y)x=30y=15>>y/xans=0.5000>>z=y/xz=0.5000>>z=int8(z)z=1各種數(shù)據(jù)類型之間的轉(zhuǎn)換:方式一:datatype(variable)例:>>x=int8(4.5)x=5方式二:cast(x,’type’)例:>>y=cast(4.5,'int8')y=5>>class(y)ans=int81/14/202321不同整數(shù)類型之間不能進(jìn)行運(yùn)算>>x=int8(5)x=5>>y=int16(23)y=23>>z=x+y???Errorusing==>plusIntegerscanonlybecombinedwithintegersofthesameclass,orscalardoubles.1/14/2023222.3.2浮點(diǎn)數(shù)MATLAB的默認(rèn)數(shù)據(jù)類型是雙精度類型(double)。為了節(jié)省存儲空間,MATLAB也支持單精度數(shù)據(jù)類型的數(shù)組。創(chuàng)建單精度類型的變量時(shí)需要聲明變量類型,與創(chuàng)建整型變量類似。>>x=single(3.4)x=3.4000>>y=34y=34>>x+yans=37.4000>>class(x+y)ans=single單精度數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行運(yùn)算時(shí),返回值為單精度。1/14/202323例2-12單精度和雙精度數(shù)據(jù)類型的取值范圍和精度>>realmin(‘single’),realmax('single')ans=1.1755e-038

ans=3.4028e+038>>eps('single')ans=1.1921e-007>>realmin(‘double’),realmax('double')ans=2.2251e-308ans=1.7977e+308>>eps('double')ans=2.2204e-0161/14/2023242.3.3復(fù)數(shù)MATLAB的所有運(yùn)算是定義在復(fù)數(shù)域上.MATLAB中虛數(shù)單位用i或者j表示通過兩種方法創(chuàng)建復(fù)數(shù):直接輸入法

(不建議大家使用)通過complex函數(shù)1/14/202325>>z=2+3iz=2.0000+3.0000i>>x=2,y=3,z1=x+y*ix=2y=3z1=2.0000+3.0000i2+3ix+y*i1/14/202326>>x=2,y=3,z1=x+yix=2y=3???Undefinedfunctionorvariable'yi'.>>x=int8(2),y=int8(3),z1=x+y*ix=2y=3???Errorusing==>mtimesComplexintegerarithmeticisnotsupported.注意:?是不是復(fù)數(shù)的實(shí)部和虛部不能為整數(shù)呢1/14/202327complex函數(shù)的調(diào)用方法如下。c=complex(a,b):返回結(jié)果c為復(fù)數(shù),其實(shí)部為a,虛部為b。輸入?yún)?shù)a和b可以為標(biāo)量,或者維數(shù)、大小相同的向量、矩陣或者多維數(shù)組,輸出參數(shù)和a和b的結(jié)構(gòu)相同。a和b可以有不同的數(shù)據(jù)類型,當(dāng)a和b為各種不同的類型時(shí),返回值分別為:當(dāng)a和b中有一個(gè)為單精度時(shí),返回結(jié)果為單精度;如果a和b其中一個(gè)為整數(shù)類型,則另外一個(gè)必須有相同的整數(shù)類型,或者為雙精度型,返回結(jié)果c為相同的整數(shù)類型。1/14/202328>>x=int8(2),y=int8(3)x=2y=3>>z2=complex(x,y)z2=2+3icomplex()創(chuàng)建單個(gè)復(fù)數(shù)1/14/202329>>a=int8([1234])a=1234>>b=int8([2345])b=2345>>c=complex(a,b)c=1+2i2+3i3+4i4+5icomplex()創(chuàng)建復(fù)數(shù)數(shù)組1/14/202330復(fù)數(shù)直角坐標(biāo)和極坐標(biāo)之間轉(zhuǎn)換real(z):給出復(fù)數(shù)z的實(shí)部imag(z):給出復(fù)數(shù)z的虛步abs(z):給出z的模angle(z):以弧度為單位給出復(fù)數(shù)z的幅角1/14/2023311/14/202332c=complex(a),只有一個(gè)輸入?yún)?shù),返回結(jié)果c為復(fù)數(shù),其實(shí)部為a,虛部為0。但是此時(shí)c的數(shù)據(jù)類型為復(fù)數(shù)。>>x=int8(x)x=2>>c=complex(x)c=2>>isreal(c)ans=0>>d=complex(a)d=1234>>isreal(d)ans=0>>e=x+0*ie=2>>isreal(e)ans=1isreal(x)判斷x是否為實(shí)數(shù)1/14/2023332.3.4邏輯變量1.邏輯變量的值:邏輯真(1)、邏輯假(0)2.一些MATLAB函數(shù)或操作符會返回邏輯真或邏輯假表示條件是否滿足。例如:表達(dá)式(5*10)>40返回邏輯真。3.邏輯數(shù)組:數(shù)組的元素全部是邏輯值。如下面的表達(dá)式返回邏輯數(shù)組:>>[3040506070]>40ans=

001111/14/202334創(chuàng)建邏輯數(shù)組1:創(chuàng)建邏輯數(shù)組的最簡單的方法為直接輸入元素的值為true或者false>>x=[true,false,true]x=1012:邏輯數(shù)組也可以通過邏輯表達(dá)式生成>>x=[1234]>2x=0011>>class(x)ans=logical1/14/202335MATLAB中返回邏輯值的函數(shù)和操作符1/14/202336邏輯數(shù)組的應(yīng)用用于條件表達(dá)式 如果僅當(dāng)條件成立時(shí)執(zhí)行某段代碼,可以應(yīng)用邏輯數(shù)組進(jìn)行判斷和控制>>str='hello'str=hello>>if~isempty(str)&&ischar(str)sprintf('inputstringis"%s"',str)endans=inputstringis"hello"1/14/2023372.用于數(shù)組索引 在MATLAB中支持通過一個(gè)數(shù)組對另一個(gè)數(shù)組進(jìn)行索引>>a=1:2:10a=13579>>b=[135]b=135>>a(b)ans=1591/14/202338通過邏輯數(shù)組對數(shù)組進(jìn)行索引>>a=rand(3)a=0.96490.95720.14190.15760.48540.42180.97060.80030.9157>>b=a>0.5b=110000111>>c=a(b)c=0.96490.97060.95720.80030.9157>>a(b)=0a=000.14190.15760.48540.42180000.9649

0.95720.14190.15760.48540.4218

0.9706

0.8003

0.91571/14/2023393.邏輯數(shù)組的判斷MATLAB中提供了一組函數(shù)用于判斷數(shù)組是否為邏輯數(shù)組1/14/202340>>a=rand(3);>>b=a>0.5;>>islogical(b)ans=1>>islogical(a)ans=01/14/202341>>a=[true,false,true]a=101>>b=90b=90>>aa=101>>whosaNameSizeBytesClassAttributesa1x33logical>>class(a)ans=logical>>islogical(a)ans=1>>islogical(b)ans=0>>isa(b,'logical')ans=0>>isa(b,'double')ans=11/14/2023422.3.5數(shù)據(jù)類型操作函數(shù)type包括numeric、integer、float和其它數(shù)據(jù)類型1/14/2023432.3.6變量MATLAB不需要對變量進(jìn)行事先聲明,也不需要指定變量的類型,系統(tǒng)會根據(jù)對變量賦予的值為變量自動指定類型。MATLAB的變量命名規(guī)則:(1)變量名區(qū)分大小寫。如pi和Pi是兩個(gè)不同的變量。在命令窗口中輸入如下的命令,查看其結(jié)果。(2)變量名長度不超過63個(gè)字符,超過的部分將會被忽略。(3)變量名必須以字母開始,其后可以為字母、數(shù)字或者下劃線。MATLAB中的變量名不支持其他符號,因?yàn)槠渌栐贛ATLAB中具有特殊的意義。系統(tǒng)預(yù)定義的特殊變量(P29表2-15)1/14/2023442.4MATLABR2010a的運(yùn)算符2.4.1關(guān)系運(yùn)算符

MATLAB的關(guān)系運(yùn)算符能用來比較兩個(gè)相同大小的數(shù)組,或用來比較一個(gè)數(shù)組和一個(gè)標(biāo)量。MATLAB的關(guān)系運(yùn)算符包括所有常用的比較運(yùn)算符,如表所示1/14/2023452.4.2邏輯運(yùn)算符邏輯運(yùn)算符主要包括“與”、“或”和“非”。使用邏輯運(yùn)算符可以將多個(gè)表達(dá)式組合在一起,或者對關(guān)系表達(dá)式取反。MATLAB中的邏輯運(yùn)算符如表所示。1/14/202346>>a=5,b=9;a=5>>c1=(a<b)&&(b/a==fix(b/a))c1=0>>c2=(a<b)||(b/a==fix(b/a))c2=11/14/2023472.4.3運(yùn)算符優(yōu)先級別MATLAB首先執(zhí)行具有較高優(yōu)先級的運(yùn)算,然后執(zhí)行具有較低優(yōu)先級的運(yùn)算;如果兩個(gè)運(yùn)算的優(yōu)先級相同,則按從左到右的順序執(zhí)行。MALTAB中各運(yùn)算符的優(yōu)先級順序如表所示,表中按照優(yōu)先級從高到低的順序排列各運(yùn)算符。1/14/2023482.5MATLAB的一些基礎(chǔ)函數(shù)位操作函數(shù)邏輯運(yùn)算函數(shù)集合函數(shù)時(shí)間與日期函數(shù)1/14/202349十進(jìn)制數(shù)與二進(jìn)制相互轉(zhuǎn)換函數(shù)d=bin2dec(binarystr)str=dec2bin(d)>>bin2dec('10100')ans=20>>a=dec2bin(28)a=111001/14/202350表2-19MATLAB中的位操作函數(shù)1/14/202351>>dec2bin(A)ans=11100>>dec2bin(B)ans=10101>>bitand(A,B)ans=20>>bitor(A,B)ans=29>>bitxor(A,B)ans=91/14/202352表2-20MATLAB中的邏輯運(yùn)算函數(shù)1/14/2023532.6MATLAB腳本文件對于多數(shù)問題,所需的命令較多,或者需要邏輯運(yùn)算,進(jìn)行流程控制,此時(shí)采用直接輸入命令的方法則會引起不便。針對這些問題,一個(gè)合理的解決方法是使用腳本文件(M文件)。腳本文件不接受輸入?yún)?shù),不返回任何值,而是代碼的結(jié)合,該方法允許用戶將一系列MATLAB

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論