第2講MATLAB數(shù)據(jù)和基本函數(shù)_第1頁
第2講MATLAB數(shù)據(jù)和基本函數(shù)_第2頁
第2講MATLAB數(shù)據(jù)和基本函數(shù)_第3頁
第2講MATLAB數(shù)據(jù)和基本函數(shù)_第4頁
第2講MATLAB數(shù)據(jù)和基本函數(shù)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2講MATLAB數(shù)據(jù)和基本函數(shù)2.1MATLAB數(shù)據(jù)的特點1.矩陣是MATLAB最基本、最重要的數(shù)據(jù)對象。單個數(shù)據(jù)(標(biāo)量)可以看成是矩陣的特例。2.MATLAB基本數(shù)據(jù)類型數(shù)值字符結(jié)構(gòu)型數(shù)據(jù)(Structure)單元型數(shù)據(jù)(Cell)。矩陣數(shù)據(jù)的存儲規(guī)則(存儲順序):列優(yōu)先存儲主要分類:整型(int):8位、16位、32位、64位;

有符號(如,int8)、無符號(如,uint8)

intmax、intmin函數(shù)。如intmax(‘int8’).浮點:單精度single(32位)、雙精度double(64位,用最多)realmax、realmin函數(shù);例如realmax(‘single’)

數(shù)據(jù)類型轉(zhuǎn)換,例如:b=single(a)邏輯:是1、非0字符:‘字符串’結(jié)構(gòu)型、單元型:數(shù)據(jù)組合函數(shù)句柄:高級編程中使用

Matlab中的分類:

double--Doubleprecisionfloatingpointnumberarray(thisisthetraditionalMATLABmatrixorarray)logical--Logicalarraychar--Characterarraycell--Cellarraystruct--Structurearrayfunction_handle--FunctionHandleint8--8-bitsignedintegerarrayuint8--8-bitunsignedintegerarrayint16--16-bitsignedintegerarrayuint16--16-bitunsignedintegerarrayint32--32-bitsignedintegerarrayuint32--32-bitunsignedintegerarray<class_name>--Customobjectclass<java_class>--Javaclassnameforjavaobjects用class函數(shù)進(jìn)行數(shù)據(jù)類型判斷如:class(a)2.2變量

變量是任何程序設(shè)計語言的基本要素之一,MATLAB語言當(dāng)然也不例外。

與常規(guī)的程序設(shè)計語言不同:

不要求事先對所使用的變量進(jìn)行聲明,也不需要指定變量類型,MATLAB語言會自動依據(jù)所賦予變量的值或?qū)ψ兞克M(jìn)行的操作來識別變量的類型。

在賦值過程中如果賦值變量已存在時,MATLAB語言將使用新值代替舊值,并以新值類型代替舊值類型。

舉例:1、a=9;sqrt(a);OK!

2、a==9;新變量類型替代了原類型

3、b=int8(9);sqrt(b);

不支持2.2.1變量的命名在MATLAB中,變量名是以字母開頭,后接字母、數(shù)字或下劃線的字符序列,長度不超過31位(第31個字符之后的字符將被MATLAB語言所忽略)。在MATLAB中,變量名區(qū)分字母的大小寫。MATLAB提供的標(biāo)準(zhǔn)函數(shù)名以及命令名必須用小寫字母。在未加特殊說明時,一切變量為局部變量,即在其調(diào)用的M文件內(nèi)有效。若要將變量定義為全局變量,則應(yīng)當(dāng)對變量進(jìn)行說明,即在該變量前加關(guān)鍵字global。

2.2.2賦值語句MATLAB賦值語句有兩種格式:(1)變量=表達(dá)式,將表達(dá)式的值賦給變量(2)表達(dá)式,將表達(dá)式的值賦給ans(默認(rèn))一般地,運算結(jié)果在命令窗口中顯示出來。如果在語句的最后加分號,那么,MATLAB僅僅執(zhí)行賦值操作,不再顯示運算的結(jié)果。在MATLAB語句后面可以加上注釋,注釋以%開頭,后面是注釋的內(nèi)容。

例2.1

計算表達(dá)式的值,并將結(jié)果賦給變量x,然后顯示出結(jié)果。在MATLAB命令窗口輸入命令:

x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i)%計算表達(dá)式的值

2.2.3數(shù)據(jù)的輸出格式MATLAB用十進(jìn)制數(shù)表示一個常數(shù),具體可采用日常記數(shù)法和科學(xué)記數(shù)法兩種表示方法。數(shù)據(jù)輸出時用戶可以用format命令設(shè)置或改變數(shù)據(jù)輸出格式,格式為:format格式符;

也可以通過file菜單|preferences對話框設(shè)定。注意,format命令只影響數(shù)據(jù)輸出格式,而不影響數(shù)據(jù)的計算和存儲。2.2.4預(yù)定義變量1、常量;2、默認(rèn)變量名在MATLAB工作空間中,還駐留幾個由系統(tǒng)本身定義的變量,它們有特定的含義??梢灾匦沦x值,但在使用時,應(yīng)盡量避免對這些變量重新賦值。 名稱值i、j虛數(shù)單位piπeps浮點數(shù)相對誤差NaN不定值Realmin最小正浮點數(shù)Realmax最大正浮點數(shù)ans默認(rèn)結(jié)果beep發(fā)警告聲Inf無窮大

2.2.5內(nèi)存變量的管理

1.內(nèi)存變量的顯示與刪除

who和whos這兩個命令用于顯示在MATLAB工作空間中已經(jīng)駐留的變量名清單。clear命令用于刪除MATLAB工作空間中的變量。注意,預(yù)定義變量不能被刪除,而是恢復(fù)(reset)。

2.工作空間瀏覽器

(1)工作空間瀏覽器的啟動

(2)工作空間瀏覽器的操作

3.內(nèi)存變量文件利用MAT文件(.mat)可以把當(dāng)前MATLAB工作空間中的一些有用變量長久地保留下來。MAT文件的生成和裝入由save和load命令來完成。常用格式為:

save文件名[變量名表]

load文件名[變量名表]也可以通過工作空間瀏覽器進(jìn)行。2.3字符串字符串是用單撇號括起來的字符序列。例如,'CentralSouthUniversity'。若字符串中的字符含有單撇號,則該單撇號字符應(yīng)用兩個單撇號來表示。字符串是以ASCII碼形式存儲的。

字符串命令和函數(shù)abs(str)和double(str)獲取字符串矩陣所對應(yīng)的ASCII碼數(shù)值矩陣char(n)把ASCII碼矩陣轉(zhuǎn)換為字符串矩陣size(a)查看字符數(shù)組的維數(shù)num2str(f)數(shù)字轉(zhuǎn)換到字符串int2num(f)整數(shù)轉(zhuǎn)換到字符串mat2num(A)矩陣轉(zhuǎn)換到字符串str2num(str)字符串轉(zhuǎn)換到數(shù)字blanks(n)生成n個空字符串deblank(str)返回沒有后續(xù)空格的字符串lower(str)轉(zhuǎn)換小寫upper(str)轉(zhuǎn)換大寫strcmp(str1,str2)比較str1和str2,相等返回1,否則返回0stricmp(str1,str2)同上,但不區(qū)分大小寫strncmp(str1,str2,n)比較str1和str2中前n個字符,相等返回1,否則返回0strncmpi(str1str2,n)同上,但不區(qū)分大小寫findstr(str1,str2)在str1中查找str2的起始位置strrep(str1,str2,str3)在str1中含有str2的所有位置用str3代替strtok(str1,str2)返回str1中含有str2的第一個標(biāo)記前所有的str1的部分。如果str2沒有指定,則返回str1中不含空格的第一個序列strcat(str1,str2,…)將字符串連接起來strvcat(str1,str2,…)將字符串連成一個列向量strmatch(key,strs)檢查strs中的各行,返回一個向量,它包含了行以字符串key開頭的行號

例如:strmatch('max',strvcat('max','minimax','maximum'))eval(str)執(zhí)行str中包含的matlab命令;evaluationselection

例如

t=pi;m='[t,sin(t),cos(t)]';y=eval(m)y=3.14160.0000-1.00002.4結(jié)構(gòu)型變量2.5.1結(jié)構(gòu)數(shù)據(jù)

MATLAB通過使用結(jié)構(gòu)(Structure)數(shù)據(jù)類型把一組不同類型的數(shù)據(jù)同時又是在邏輯上相關(guān)的數(shù)據(jù)組成一個有機(jī)的整體,以便于管理和引用。2.5.2定義方法1、用指針操作符“.”直接定義;2、用函數(shù)struct定義>>a.type=‘big';>>a.color=‘red’;>>a.x=3;>>a=type:'big'color:'red'x:31、直接定義:2、函數(shù)定義:>>s=struct('type','big','color','red','x',3)單元(Cell)數(shù)據(jù)的概念與結(jié)構(gòu)有些類似,也是把不同屬性的數(shù)據(jù)放在一個變量中。所不同的是:結(jié)構(gòu)變量的各個元素下有成員,每個成員都有自己的名字,對成員的引用是:結(jié)構(gòu)變量名.成員名。單元矩陣的各個元素就是不同類型的數(shù)據(jù),用帶有大括號下標(biāo)的形式引用單元矩陣元素。2.5單元型變量(細(xì)胞型)單元型變量的創(chuàng)建使用大括號

>>A={1:4,[12;34],'abcd'}A=[1x4double][2x2double]'abcd‘對細(xì)胞逐一賦值

>>c{1,1}=1:3;>>c{1,3}='abcd';>>cc=[1x3double][]'abcd‘使用cell創(chuàng)建大小合適的空矩陣

>>d=cell(2,4)d=[][][][][][][][]相關(guān)函數(shù)celldisp(cell)逐個顯示cell的每個元素的值cellplot(cell)顯示cell的結(jié)構(gòu)圖基本數(shù)學(xué)函數(shù)三角函數(shù)1.sin(x)、cos(x)、tan(x)功能:正弦、余弦、正切,x為弧度2.asin(x)、acos(x)、atan(x)功能:反正弦、反余弦、反正切3.sec(x)、csc(x)功能:正割、余割4.asec(x)、acsc(x)5.sinh(x)、coth(x)、tanh(x)、coth(x)6.asinh(x)、acosh(x)、atanh(x)、acoth(x)7.sech(x)、acsch(x)8.asech(x)、acsch(x)指數(shù)和對數(shù)函數(shù)1.exp(x)功能:指數(shù)函數(shù),e的x次2.log(x)功能:自然對數(shù),即ln(x)3.log10(x)功能:常用對數(shù)4.log2(x)功能:以2為底的對數(shù)5.pow2(x,f)功能:X乘2的f次7.sqrt(x)功能:平方根復(fù)數(shù)函數(shù)1.abs(z)功能:絕對值和復(fù)數(shù)模2.angle(z)功能:相角3.conj(z)功能:復(fù)共軛4.imag(z)功能:復(fù)數(shù)虛部5.real(z)功能:復(fù)數(shù)實部6.cplxpair(v)功能:將向量v中的復(fù)數(shù)排序成共軛對,并且各元素按實部遞增排序,若v中的一個元素在v中沒有他自己的共軛復(fù)數(shù),則返回錯誤信息。取整和求余函數(shù)1.fix(x)功能:朝零方向取整2.floor(x)功能:朝負(fù)無窮大方向取整,求小于或等于x的整數(shù)3.ceil(x)功能:朝正無窮大方向取整,求大于或等于x的整數(shù)4.round(x)功能:朝最近整數(shù)取整(四舍五入),如果x是向量,則適用于所有元素5.gcd(x,y)功能:求x和y的最大公因子6.lcm(x,y)功能:求正整數(shù)x和y的最小公倍數(shù)7.mod(x,y):取模功能:模數(shù)7.rem(x,y):取余功能:除后余數(shù),與mod的區(qū)別:rem(x,y),x-n.*y,n=fix(x./y)mod(x,y),x-n.*y,n=floor(x./y)當(dāng)除數(shù)與被除數(shù)的符號相同時,rem和mod的結(jié)果是完全相同的;當(dāng)除數(shù)與被除數(shù)的符號不相同時,結(jié)果不同8.sign(x)功能:符號函數(shù),正得1,負(fù)得-1,零得09.rat(x)功能:求x的分?jǐn)?shù)表達(dá)式10.rat(x,tol)功能:帶相對誤差tol的x的分?jǐn)?shù)表達(dá)式邏輯函數(shù)1.all(x)功能:

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論