版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1第二章第二章 MATLABMATLAB基礎(chǔ)知識基礎(chǔ)知識2 數(shù)值表示、變量、表達(dá)式數(shù)值表示、變量、表達(dá)式 數(shù)值、變量和表達(dá)式數(shù)值、變量和表達(dá)式 前面第二節(jié)只是演示了“計算器”功能,那僅是MATLAB全部功能中小小一角。為深入學(xué)習(xí)MATLAB,有必要系統(tǒng)介紹一些基本規(guī)定。這里先介紹關(guān)于變量的若干規(guī)定。 1、數(shù)值的記述、數(shù)值的記述 MATLAB的數(shù)值采用習(xí)慣的十進(jìn)制表示,可以帶小數(shù)點或負(fù)號。以下記述都合法。 3 -99 0.001 9.456 1.3e-34.5e33 在采用IEEE浮點算法的計算機(jī)上,數(shù)值通常采用“占用64位內(nèi)存的雙精度”表示。 3081030810其相對精度是 eps (MAT
2、LAB的一個預(yù)定義變量),大約保持有效數(shù)字 16位。數(shù)值范圍大致從 到 。 2、變量命名規(guī)則、變量命名規(guī)則l變量名、函數(shù)名是對字母大小寫敏感的。 如變量myvar和MyVar表示兩個不同的變量。sin是MATLAB定義的正弦函數(shù)名,但SIN,Sin等都不是。 l變量名的第一個字符必須是英文字母,其后最多可包含63個字符(英文、數(shù)字和下連符)。如myvar201是合法的變量名。l變量名中不得包含空格、標(biāo)點、運(yùn)算符,但可以包含下連符。 如變量名my_var_201是合法的,且讀起來更方便。而my,var201由于逗號的分隔,表示的就不是一個變量名。 3 3、MATLABMATLAB默認(rèn)的預(yù)定義變量
3、默認(rèn)的預(yù)定義變量 在MATLAB中有一些所謂的預(yù)定義變量(Predefined Variable),見下表。每當(dāng)MATLAB啟動,這些變量就被產(chǎn)生。這些變量都有特殊含義和用途。建議: 用戶在編寫命令和程序時,應(yīng)盡可能不對下表所列預(yù)定義變量名重新賦值,以免產(chǎn)生混淆。 表表 MATLAB MATLAB中最常用的預(yù)定義變量中最常用的預(yù)定義變量/1ji不是一個數(shù)(Not a Number),如0/0,虛單元圓周率 預(yù)定義預(yù)定義變量變量含含 義義預(yù)定義變量預(yù)定義變量含含 義義ans計算結(jié)果的默認(rèn)變量名NaN 或 nan不是一個數(shù)(Not a number)eps機(jī)器零閾值Inf或或inf無窮大,如1/0
4、nargin函數(shù)輸入變量數(shù)目i 或 j虛單位nargout函數(shù)輸出變量數(shù)目 pi圓周率realmax最大正實數(shù)realmin最小正實數(shù)說明l假如用戶對表中任何一個預(yù)定義變量進(jìn)行賦值,則那個變量的默認(rèn)值將被用戶新賦的值“臨時”覆蓋。所謂“臨時”是指:假如使用clear命令清除MATLAB內(nèi)存中的變量,或MATLAB命令窗被關(guān)閉后重新啟動,那么所有的預(yù)定義變量將被重置為默認(rèn)值,不管這些預(yù)定義變量曾被用戶賦過什么值。l在遵循IEEE算法規(guī)則的機(jī)器上,被 0 除是允許的。它不會導(dǎo)致程序執(zhí)行的中斷,只是在給出警告信息的同時,用一個特殊名稱(如Inf,NaN)記述。這個特殊名稱將在以后的計算中以合理的形式
5、發(fā)揮作用?!纠?本例演示:預(yù)定義變量已經(jīng)存在的事實;若干預(yù)定義變量的數(shù)量級概念。運(yùn)用以下命令,以便初步了解預(yù)定義變量。 realmaxans = 1.797693134862316e+308realmin eps 4 4、運(yùn)算符和表達(dá)式、運(yùn)算符和表達(dá)式(1)算術(shù)運(yùn)算符在MATLAB中的表達(dá)方式,見下表。 運(yùn)算運(yùn)算數(shù)學(xué)表達(dá)式數(shù)學(xué)表達(dá)式MATLAB運(yùn)算符運(yùn)算符MATLAB表達(dá)式表達(dá)式加加a+b+a+b減減a-b-a-b乘乘axb*a*b除除a/b或或ab/或或a/b或或ab冪冪ab說明l MatlabMatlab用用“”和和”/”/”分別表示分別表示“左除左除”和和“右除右除”。對標(biāo)量而言,兩者
6、沒有區(qū)別。對。對標(biāo)量而言,兩者沒有區(qū)別。對矩陣產(chǎn)生不同影響。(矩陣產(chǎn)生不同影響。(后面詳細(xì)說明后面詳細(xì)說明)l MATLABMATLAB表達(dá)式的書寫規(guī)則與表達(dá)式的書寫規(guī)則與“手寫方式手寫方式”幾幾乎完全相同。乎完全相同。l 表達(dá)式按與常規(guī)相同的優(yōu)先級自左至右執(zhí)行表達(dá)式按與常規(guī)相同的優(yōu)先級自左至右執(zhí)行運(yùn)算。運(yùn)算。l 優(yōu)先級:指數(shù)運(yùn)算級別最高,乘除次之,加優(yōu)先級:指數(shù)運(yùn)算級別最高,乘除次之,加減最低。減最低。l 括號改變運(yùn)算的次序。括號改變運(yùn)算的次序。5 5、面向復(fù)數(shù)設(shè)計的運(yùn)算、面向復(fù)數(shù)設(shè)計的運(yùn)算 MATLAB的所有運(yùn)算都是定義在復(fù)數(shù)域上的。這樣設(shè)計的好處是:在進(jìn)行運(yùn)算時,不必像其他程序語言那樣把
7、實部、虛部分開處理。為描述復(fù)數(shù),虛數(shù)單位用預(yù)定義變量 i 或 j 表示。【例】 復(fù)數(shù)ieziziz63212,21,34表達(dá), 及計算321zzzz。 本例演示:正確的復(fù)數(shù)輸入法;涉及復(fù)數(shù)表示方式的基本命令。1)經(jīng)典教科書的直角坐標(biāo)表示法z1= 4 + 3i%合法,但建議少用或不用 z1 =4.0000 + 3.0000i 說明l建議不要使用這種輸入格式。因為這種書寫格式,只適用于“數(shù)值標(biāo)量”復(fù)數(shù),而不適用于“數(shù)值矩陣”。l在這種書寫格式中,3i是一個完整的虛數(shù),在3和i之間不許“空格”存在 2)采用運(yùn)算符構(gòu)成的直角坐標(biāo)表示法和極坐標(biāo)表示法 z2 = 1 + 2 * i % %運(yùn)算符構(gòu)成的直角
8、坐標(biāo)表示法運(yùn)算符構(gòu)成的直角坐標(biāo)表示法z3=2*exp(i*pi/6) % %運(yùn)算符構(gòu)成的極坐標(biāo)表示法運(yùn)算符構(gòu)成的極坐標(biāo)表示法 z=z1*z2/z31.8840 + 5.2631i z2 =1.0000 + 2.0000iz3 =z =1.7321 + 1.0000i運(yùn)行結(jié)果3)復(fù)數(shù)的實虛部、模和幅角計算real_z=real(z)image_z=imag(z)magnitude_z=abs(z)angle_z_radian=angle(z)% %弧度單位弧度單位angle_z_degree=angle(z)*180/pi % %度數(shù)單位度數(shù)單位 【例】 圖示復(fù)數(shù)iziz21,3421本例演示:
9、MATLAB的運(yùn)算在復(fù)數(shù)域上進(jìn)行;命令后“分號”的作用;復(fù)數(shù)加法的幾何意義;展示MATLAB的可視化能力。 的和(下圖)。z1=4+3*i;z2=1+2*i;z12=z1+z2%以下用于繪圖以下用于繪圖clf,hold onplot(0,z1,z12,-b,LineWidth,3)plot(0,z12,-r,LineWidth,3)plot(z1,z12,ob,MarkerSize,8)hold off,grid on,axis equalaxis(0,6,0,6)text(3.5,2.3,z1)text(5,4.5,z2)text(2.5,3.5,z12)xlabel(real)ylabel
10、(image)shg % %在一個物理行中,允許輸入多條命令。在一個物理行中,允許輸入多條命令。% %但各命令間要用但各命令間要用“分號分號”或或“逗號逗號”分開。分開。% %命令后采用命令后采用“分號分號”,使運(yùn)算結(jié)果不顯示。,使運(yùn)算結(jié)果不顯示。%clf%clf清空圖形窗。逗號用來分隔兩個命令。清空圖形窗。逗號用來分隔兩個命令。 【例】 用MATLAB計算 能得到 2 嗎?381)直接計算時,得到處于第一象限的方根。a=-8;r_a=a(1/3)% %求求3 3次根次根 2)38的全部方根計算如下:% 先構(gòu)造一個多項式arrp3)(arrpara333)(r式將等式變?yōu)槎囗検降男危茫悍匠痰?/p>
11、兩邊同時三次方令p=1,0,0,-a;%p是多項式3)圖形表示MR=abs(R(1); %計算復(fù)根的模計算復(fù)根的模t=0:pi/20:2*pi; %產(chǎn)生參變量在產(chǎn)生參變量在0到到2*pi間的一組采樣點間的一組采樣點x=MR*sin(t);y=MR*cos(t);plot(x,y,b:),grid on %畫一個半徑為畫一個半徑為R的圓的圓 %注意注意“英文狀態(tài)逗號英文狀態(tài)逗號”在不同位置的作用在不同位置的作用hold onplot(R(2),.,MarkerSize,30,Color,r) %畫第一象限的方根畫第一象限的方根plot(R(1,3),o,MarkerSize,15,Color,b
12、) %畫另兩個方根畫另兩個方根axis(-3,3,-3,3),axis square %保證屏幕顯示呈真圓保證屏幕顯示呈真圓hold off 注:注:MarkerSize圖形對象屬性,點大小圖形對象屬性,點大小 square-軸屬性為方形軸屬性為方形說明l本例有助于理解MATLAB的計算特點。 l對復(fù)數(shù)進(jìn)行方根運(yùn)算時,MATLAB只給出處于“第一象限”的那個根,運(yùn)算只返還一個“主解”。要得復(fù)數(shù)的全部方根,必須專門編寫程序。6 6、面向數(shù)組設(shè)計的運(yùn)算、面向數(shù)組設(shè)計的運(yùn)算 在MATLAB中,標(biāo)量數(shù)據(jù)被看作 的數(shù)組(Array)數(shù)據(jù)。所有的數(shù)據(jù)都被存放在適當(dāng)大小的數(shù)組中。為加快計算速度(運(yùn)算的向量化
13、處理),MATLAB對以數(shù)組形式存儲的數(shù)據(jù)設(shè)計了兩種基本運(yùn)算:一種是所謂的數(shù)組運(yùn)算;另一種是所謂的矩陣運(yùn)算。在此僅以算例展示MATLAB的計算特點,在后續(xù)的課程中更詳細(xì)的敘述。 ) 11 ( 【例】 實數(shù)數(shù)組4231AR的“一行”輸入法。 AR= 1,3;2,4 實數(shù)數(shù)組8675AI的“分行”輸入法。 AI=5,76,8 說明l在MATLAB中,不必事先對數(shù)組維數(shù)及大小做任何說明,內(nèi)存將自動配置。l二維數(shù)組輸入的三大要素:數(shù)組標(biāo)識符“ ”;元素分隔符空格或逗號“,”;數(shù)組行間分隔符分號“;”或“回車鍵”。lMATLAB對字母大小寫是敏感的。比如本例中的數(shù)組賦給了變量AR,而不是 Ar, aR,
14、 或ar 。l在全部鍵入一個命令行內(nèi)容后,必須按下 Enter 鍵,該命令才會被執(zhí)行。 【例】 對復(fù)數(shù)數(shù)組iiii84627351A進(jìn)行求實部、虛部、模和幅角的運(yùn)算。 l本例演示:復(fù)數(shù)數(shù)組的生成;MATLAB命令對數(shù)組元素“并行操作”的實質(zhì)。1)創(chuàng)建復(fù)數(shù)數(shù)組AR=1,3;2,4;AI=5,7;6,8;A=AR-AI*i% %形成復(fù)數(shù)矩陣形成復(fù)數(shù)矩陣 2)求復(fù)數(shù)數(shù)組的實部和虛部A_real=real(A)A_image=imag(A) 3)求復(fù)數(shù)數(shù)組中各元素的模和幅角循 環(huán)法(笨拙!)for m=1:2 for n=1:2 Am1(m,n)=abs(A(m,n); Aa1(m,n)=angle(
15、A(m,n)*180/pi; %以度為單位計算幅角以度為單位計算幅角 endendAm1,Aa1 4)求復(fù)數(shù)數(shù)組中各元素的模和幅角直接法Am2=abs(A)Aa2=angle(A)*180/pi 說明l函數(shù)real, imag, abs, angle是同時、并行地作用于數(shù)組的每個元素。對4個元素運(yùn)算所需的時間大致與對單個元素所需時間相同。這有利于運(yùn)算速度的提高。這是“向量化”運(yùn)算的一種形式。l本例給出了循環(huán)法求各元素模和幅角的命令。這是很笨拙的計算方法。對于MATLAB以外的許多編程語言來說,可能不得不采用“循環(huán)”處理方式來解本例。記?。簩τ贛ATLAB來說,應(yīng)該盡量摒棄“循環(huán)”處理,而采用“
16、向量化”處理方式?!纠?teyt3sin3t4,0畫出衰減振蕩曲線 ,的取值范圍是 t=0:pi/50:4*pi;%定義自變量定義自變量t的取值數(shù)組的取值數(shù)組y=exp(-t/3).*sin(3*t); %計算與自變量相應(yīng)的計算與自變量相應(yīng)的y數(shù)組。數(shù)組。plot(t,y,-r,LineWidth,2)%繪制曲線繪制曲線axis(0,4*pi,-1,1)xlabel(t),ylabel(y) 注意:乘法符前面的小黑點。注意:乘法符前面的小黑點。乘法符前面的小黑點,稱為點乘,對于矩陣的點乘,即為對應(yīng)元素的乘法例如:A=A1,A2,A3,A4;B=B1,B2,B3,B4C=A.*B=A1*B1,
17、A2*B2,A3*B3,A4*B4說明l本例第二條命令中的“.*”符號表示乘法是在兩個數(shù)組相同位置上的元素間進(jìn)行的。Matlab中把這種乘法稱為“數(shù)組乘”或簡稱“點乘”。數(shù)組乘的引入,不但使得程序簡潔自然,而且避免了耗費機(jī)時的“循環(huán)計算”。關(guān)于數(shù)組運(yùn)算的詳細(xì)敘述以后進(jìn)行。l本例第二條命令是典型的“向量化”處理形式。建議同學(xué)們,只要可能,應(yīng)盡量采用“向量化”運(yùn)算形式?!纠?復(fù)數(shù)矩陣iiii24356223B的生成,既計算矩陣A,B的乘積 iiii84627351A本例演示:MATLAB矩陣運(yùn)算命令的簡捷性。 A=1-5*i,3-7i;2-6*i,4-8*i %復(fù)數(shù)數(shù)組的又一種輸入方式復(fù)數(shù)數(shù)組的又一種輸入方式B=
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 冀教版七年級數(shù)學(xué)上冊 1.6 有理數(shù)的減法 聽評課記錄
- 北師大版道德與法治七年級下冊10.2《積極面對競爭》聽課評課記錄
- 粵人版地理七年級下冊《第一節(jié) 非洲概述》聽課評課記錄
- 2025年天文測量儀器合作協(xié)議書
- 加盟合作框架協(xié)議書范本
- 臨時棄土場土地租用協(xié)議書范本
- 2025年度網(wǎng)紅蛋糕店品牌授權(quán)轉(zhuǎn)讓合同
- 二零二五年度離婚協(xié)議書涉及子女醫(yī)療費用承擔(dān)合同
- 2025年度農(nóng)業(yè)旅游租賃田地合同
- 2025年度期刊訂閱用戶信息保護(hù)合同
- 前牙即刻種植的臨床應(yīng)用
- 2024-2025學(xué)年初中七年級上學(xué)期數(shù)學(xué)期末綜合卷(人教版)含答案
- 體育活動策劃與組織課件
- 公司違規(guī)違紀(jì)連帶處罰制度模版(2篇)
- 2025屆高考物理二輪總復(fù)習(xí)第一編專題2能量與動量第1講動能定理機(jī)械能守恒定律功能關(guān)系的應(yīng)用課件
- T型引流管常見并發(fā)癥的預(yù)防及處理
- 2024-2025學(xué)年人教新版九年級(上)化學(xué)寒假作業(yè)(九)
- 內(nèi)業(yè)資料承包合同個人與公司的承包合同
- 【履職清單】2024版安全生產(chǎn)責(zé)任體系重點崗位履職清單
- 2022年全國醫(yī)學(xué)博士英語統(tǒng)一考試試題
- 《工業(yè)自動化技術(shù)》課件
評論
0/150
提交評論