![第二章 MATLAB程序設(shè)計基礎(chǔ)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/b78e7d44-8c74-47b6-81ac-21671dfa22ef/b78e7d44-8c74-47b6-81ac-21671dfa22ef1.gif)
![第二章 MATLAB程序設(shè)計基礎(chǔ)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/b78e7d44-8c74-47b6-81ac-21671dfa22ef/b78e7d44-8c74-47b6-81ac-21671dfa22ef2.gif)
![第二章 MATLAB程序設(shè)計基礎(chǔ)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/b78e7d44-8c74-47b6-81ac-21671dfa22ef/b78e7d44-8c74-47b6-81ac-21671dfa22ef3.gif)
![第二章 MATLAB程序設(shè)計基礎(chǔ)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/b78e7d44-8c74-47b6-81ac-21671dfa22ef/b78e7d44-8c74-47b6-81ac-21671dfa22ef4.gif)
![第二章 MATLAB程序設(shè)計基礎(chǔ)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/b78e7d44-8c74-47b6-81ac-21671dfa22ef/b78e7d44-8c74-47b6-81ac-21671dfa22ef5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) * 第一節(jié)教學(xué)目標 1 基本運算介紹。 2 變量的概念。 3 系統(tǒng)函數(shù)的概念。 4 一般的應(yīng)用問題轉(zhuǎn)換為計算機模型。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 一、基本運算第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 一、基本運算 簡單的數(shù)學(xué)運算 1+2+3+4+5 1+2+3+4+5;第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 一、基本運算 復(fù)雜一點點的數(shù)學(xué)運算已知 : x=15,y=10,z=7求解: (x+2Y+5z)/3 x=15;y=10;z=7; (x+2*y+5*z)/3第二章第二章 MATLAB程序設(shè)計基
2、礎(chǔ)程序設(shè)計基礎(chǔ) 一、基本運算 操作數(shù)運算符第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 一、基本運算 1 MATLAB算術(shù)運算符 加、減、乘、除、冪次方 + - * / 運算次序:自左向右運算。 優(yōu)先級最高,乘除次之,后加減。 如果有括號,括號優(yōu)先執(zhí)行。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 一、基本運算 2 format命令 用來顯示計算的精度。 不是用來改變計算的精度。MATLAB默認以double(雙精度)進行運算和存儲。使用format可以控制數(shù)據(jù)不同的顯示格式。format shortformat short eformat longformat long efor
3、mat ratformat bank第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 一、基本運算 2 format命令 用pi來測試一下顯示精度:piformat shortpiformat longpiformat ratpi第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 二、變量 變量程序執(zhí)行過程中可以變化的量。MATLAB中的中的變量可以由用戶指定變量名。通過變量名隨時可以引用變量和修改變量。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 二、變量 MATLAB特殊之處:無需進行變量聲明。(遇到新變量名時,自動生成變量, 并指定合適的存儲空間。 如變量早已存在,則自動更新。)
4、 *利與弊的分析*第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 二、變量 1.系統(tǒng)特殊變量1+2+3+4+5ans 是個特殊的系統(tǒng)變量。沒有指定變量來存儲運算結(jié)果時,系統(tǒng)會自動將結(jié)果存儲在臨時變量ans中。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 二、變量 1.系統(tǒng)特殊變量 MATLAB的系統(tǒng)特殊變量ans: 臨時變量pi : inf : 無窮大eps :極小值NaN:Not a Number (Not Available) nan:同上 i: 虛數(shù)sqrt(-1) j: 虛數(shù)sqrt(-1)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 二、變量 2 自定義變量注意我的這
5、些操作: a= 1 abc= 1+2+3+4+5 a=1;b=3;c=5; A=2,B=4,C=6 area = r2 ?第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 二、變量 2 自定義變量命名規(guī)則 * 變量名由字母、數(shù)字和下劃線組成。 字母間不可留空格且第一個字符必須為字母 * 區(qū)分大小寫。 * 變量名的長度上限為n個字符。 補充: * 變量名不能為中文; * 系統(tǒng)變量名不要和自定義重名。 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 二、變量 萬一自定義變量名和系統(tǒng)變量名一樣結(jié)果會怎樣?怎么辦? 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 二、變量 觀察下面的變量名是
6、否合理? isvarname myVarNameisvarname 7myVarName 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 二、變量 3 獲取當前變量 命令行直接鍵入變量名。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 二、變量 4 變量的顯示精度控制顯示精度函數(shù): format控制精度計算的函數(shù): digits(n):設(shè)置缺省的精度; vpa(S,n):將S表示為n位有效位數(shù)的形式。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)4 變量的顯示精度問題: 積少成多的累計誤差? ( 1/3+1/3)=? format long 1/3+1/3第二章第二章 MATLAB
7、程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) s= 1/3+1/3 digits(2) s ? vpa(s) vpa(s,10) s= 1+1/3+1/3 ?4 變量的顯示精度第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 二、變量 5 查看變量 who: 查看當前工作區(qū)(workspace)的變量。 whos:查看當前變量的詳細信息。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 二、變量 6 清除變量 clear:清除所有定義過的變量。 clear 變量名:清除某個變量。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 二、變量 7 變量的初始化(三種方式)1用賦值語句初始化變量。2用input 函
8、數(shù)從鍵盤輸入初始化變量。 例如: in1 = input(enter data:); Enter data:1.23 in2 = input(enter data:,s) Enter data:1.23 in1+in2 (?)(?)3從文件讀取一個數(shù)據(jù)。(以后介紹)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 二、變量 8 變量的作用域(1)局部變量(Local)(2)全局變量(Global)(3)永久變量(Persistent) 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)二、變量7 變量的作用域局部變量:在函數(shù)中使用的變量, 只能在函數(shù)的范圍內(nèi)使用。全局變量:在命令文件或工作空
9、間中定義。 用global定義全局變量。 global Gvar1 Gvar2 Gvar3永久變量:只能在函數(shù)文件中定義和使用, 只允許定義它的函數(shù)存取。 只有清除函數(shù)或者關(guān)閉MATLAB時, 才能從內(nèi)存中清除它們。 persistent perVar; 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)四、函數(shù)相關(guān)知識3 變量的作用域 局部變量:在函數(shù)中使用的變量, 只能在函數(shù)的范圍內(nèi)使用。全局變量:在命令文件或工作空間定義。 用global定義全局變量。 global var1 var2 var3 例如:例如:(?)(?)func1.m function y=func1(x)global
10、Gvar; (?)(?)y=x;Gvar=x*10func2.mfunction y=func2(x)global Gvar; y=x;Gvar=x*100 例如:例如: global Gvar (!)func1.m function y=func1(x)global Gvar; Y=x;Gvar=x*10func2.mfunction y=func2(x)global Gvar; Y=x;Gvar=x*100第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) tips:盡量不使用全局變量和永久變量!第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 三、常用函數(shù) 初等數(shù)學(xué)函數(shù):help el
11、fun 高等數(shù)學(xué)函數(shù):help specfun help elmat第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 三、常用函數(shù) 注意問題:(1)等式中,函數(shù)一定是出現(xiàn)在等式的右邊。(2)函數(shù)參數(shù)要求。(變量個數(shù)和格式要求)(3)允許函數(shù)嵌套。 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 四、現(xiàn)實問題轉(zhuǎn)化為數(shù)學(xué)模型 例如:哥哥弟弟年齡問題。 哥哥比弟弟大19歲,哥哥年齡是弟弟的3倍還多1,問:哥哥和弟弟的年齡分別是多少?第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 四、現(xiàn)實問題轉(zhuǎn)化為數(shù)學(xué)模型 例如:吃桃問題。 桃子1毛錢一個,每3個桃核可以換一個桃子。如果有一元錢,問:一共能
12、吃到多少桃子?課后任務(wù)課后任務(wù)一、一、熟悉熟悉基本數(shù)學(xué)運算。基本數(shù)學(xué)運算。二、二、熟練熟練使用變量的相關(guān)應(yīng)用使用變量的相關(guān)應(yīng)用。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) * 第二節(jié)教學(xué)目標 通過實例演練熟悉部分常用函數(shù)。 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 實戰(zhàn)演練常用函數(shù)的使用第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 函數(shù)?第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)小整理:MATLAB常用的基本數(shù)學(xué)函數(shù) abs(x):純量的絕對值或向量的長度 sqrt(x):開平方 real(z):復(fù)數(shù)z的實部 imag(z):復(fù)數(shù)z的虛部 conj(z):復(fù)數(shù)z
13、的共軛復(fù)數(shù) angle(z):復(fù)數(shù)z的相角round(x):四舍五入至最近整數(shù) fix(x):無論正負,舍去小數(shù)至最近整數(shù) floor(x):地板函數(shù),即舍去正小數(shù)至最近整數(shù) ceil(x):天花板函數(shù),即加入正小數(shù)至最近整數(shù) rat(x):將實數(shù)x化為多項分數(shù)展開rats(x):將實數(shù)x化為分數(shù)表示 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)小整理:MATLAB常用的基本數(shù)學(xué)函數(shù) sign(x):符號函數(shù) (Signum function)。 當x0時,sign(x)=1。 rem(x,y):求x除以y的馀數(shù) gcd(x,y):整數(shù)x和y的最大公因數(shù) lcm(x,y):整數(shù)x和y的最
14、小公倍數(shù) exp(x):自然指數(shù) pow2(x):2的指數(shù) log(x):以e為底的對數(shù),即自然對數(shù) log2(x):以2為底的對數(shù) log10(x):以10為底的對數(shù) 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)1:函數(shù) abs功能 數(shù)值的絕對值與復(fù)數(shù)的幅值格式 Y = abs(X) %返回參量X的每一個分量的絕對值; %若X為復(fù)數(shù)的,則返回每一分量的幅值 % abs(X) = sqrt(real(X).2+imag(X).2)例 x= -18; z1 = abs(x) y= -2+ 4i; z2 = abs(y)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)2:函數(shù) sq
15、rt功能 求平方根函數(shù)格式 Y = sqrt(X) % 數(shù)值的平方根運算例 x= 16; z1 = sqrt(x) y= -18; z2 = sqrt(y) f= 2+ 4i; z3 = sqrt(f)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)3:函數(shù) exp功能 以e為底數(shù)的指數(shù)函數(shù)格式 Y = exp(X) % 對參量X的每一分量,求以e為底數(shù)的指數(shù)函數(shù)Y。 % X中的分量可以為復(fù)數(shù)。 % 對于復(fù)數(shù)分量如,z = x +i*y, % 則相應(yīng)地計算:ez = ex*(cos(y) + i*sin(y)。例 x= 3; z1 = exp(x) y= -3; z1 = exp(y)
16、f= 2+ 4i; z3 = exp(f)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)4:函數(shù) log功能 自然對數(shù),即以e為底數(shù)的對數(shù)。格式 Y = log(X) % 對參量X中的每一個元素計算自然對數(shù)。 % 其中X中的元素可以是復(fù)數(shù)與負數(shù),但由此可能得到意想不到的結(jié)果。 % 若z = x + i*y,則log對復(fù)數(shù)的計算如下: % log (z) = log (abs (z) + i*atan2(y,x)例: x= 20.0855 z1 = log(x) f= 2+ 4i; z3 = log(f)下面的語句可以得到無理數(shù)的近似值:pai = abs(log(-1)第二章第二章 M
17、ATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)5:函數(shù) log10功能 常用對數(shù),即以10為底數(shù)的對數(shù)。格式 Y = log10(X) %計算X中的每一個元素的常用對數(shù), % 若X中出現(xiàn)復(fù)數(shù),則可能得到意想不到的結(jié)果。例 x= 10; z1 = log10(x) y= -10; z1 = log10(y) f= 2+ 4i; z3 = log10(f)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)6:函數(shù) lcm功能 整數(shù)x和y的最小公倍數(shù)格式 z = lcm(x,y) %計算整數(shù)x和y的最小公倍數(shù) 例 x= 10; y=23; z1 = lcm(x,y) x= 10; y=2; z2 = l
18、cm(x,y) x= 10; y=-2; /? z3 = lcm(x,y)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)7:函數(shù) gcd功能 整數(shù)x和y的最大公約數(shù)格式 z = gcd(x,y) %計算整數(shù)x和y的最大公約數(shù) 例 x= 10; y=23; z1 = gcd(x,y) x= 10; y=2; z2 = gcd(x,y) x= 10; y=-2; z3 = gcd(x,y)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)8:函數(shù) real功能 復(fù)數(shù)的實數(shù)部分。格式 Y = real(Z) %返回輸入?yún)⒘縕的每一個分量的實數(shù)部分。例 f = 3+8i; z=real(f
19、)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)9:函數(shù) imag功能 復(fù)數(shù)的虛數(shù)部分格式 Y = imag(Z) %返回輸入?yún)⒘縕的每一個分量的虛數(shù)部分。例f=9+7i;z= imag(f)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)10:函數(shù) conj功能 復(fù)數(shù)的共軛值格式 ZC = conj(Z) %返回參量Z的每一個分量的共軛復(fù)數(shù): %conj(Z) = real(Z) - i*imag(Z) 例f=9+7i;z= conj(f)如果兩復(fù)數(shù)的實部相等, 虛部系數(shù)互為相反數(shù), 那么, 這兩個復(fù)數(shù)叫做共軛復(fù)數(shù).共軛復(fù)數(shù)的乘積是一個實數(shù). 提問:什么是復(fù)數(shù)的共軛值?第二章第
20、二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)11:函數(shù) sin功能 正弦函數(shù)格式 Y = sin(X) % 計算參量X(可以是向量、矩陣,元素可以是復(fù)數(shù)) % 中每一個角度分量的正弦值Y *所有分量的角度單位為弧度值 第二章第二章 MATLAB程序設(shè)計基程序設(shè)計基礎(chǔ)礎(chǔ)sin(|x|+|y|)cos(|x+y|)書例1-3 計算下式的結(jié)果,其中x=-3.5度,Y=6.7度. x=pi/180*(-3.5);y=pi/180*6.7; z=sin(abs(x)+abs(y)/sqrt(cos(abs(x+y) sin(|x|+|y|)cos(|x+y|)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序
21、設(shè)計基礎(chǔ)實戰(zhàn)12:函數(shù) cos功能 余弦函數(shù)格式 Y = cos(X) % 計算參量X(可以是向量、矩陣,元素可以是復(fù)數(shù)) % 中每一個角度分量的余弦值Y *所有分量的角度單位為弧度值第二章第二章 MATLAB程序設(shè)計基程序設(shè)計基礎(chǔ)礎(chǔ)sin(|x|+|y|)cos(|x+y|)書例1-3 計算下式的結(jié)果,其中x=-3.5度,Y=6.7度. x=pi/180*(-3.5);y=pi/180*6.7; z=sin(abs(x)+abs(y)/sqrt(cos(abs(x+y) sin(|x|+|y|)cos(|x+y|)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)13:函數(shù) asin功能
22、 反正弦函數(shù)格式 Y = asin(X) % 返回參量X(可以是向量、矩陣)中每一個 % 元素的反正弦函數(shù)值Y。 % 若X中有的分量處于-1,1之間, % 則Y = asin(X)對應(yīng)的分量處于-/2,/2, % 若X中有分量在區(qū)間-1,1之外, % 則Y= asin(X)對應(yīng)的分量為復(fù)數(shù)。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)13:函數(shù) asin例題: x=-1; z1=asin(x) x=-2; /? z2=asin(x)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)14:函數(shù) acos功能 反余弦函數(shù)格式 Y = acos(X) %返回參量X(可以是向量、矩陣)中
23、每一個 %元素的反余弦函數(shù)值Y。 %若X中有的分量處于-1,1之間, %則Y = acos(X)對應(yīng)的分量處于0,之間, %若X中有分量在區(qū)間-1,1之外, %則Y = acos(X)對應(yīng)的分量為復(fù)數(shù)。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)14:函數(shù) acos例題: x=-1; z1=acos(x) x=-2; /? z2=acos(x)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)15:函數(shù) tan功能 正切函數(shù)格式 Y = tan(X) %計算參量X %(可以是向量、矩陣,元素可以是復(fù)數(shù)) %中每一個角度分量的正切值Y, %所有角度分量的單位為弧度值。 第二章第二章
24、 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)15:函數(shù) tan特別地,我們要指出的是,tan(pi/2)和tan(-pi/2)并不是精確的值, 因為matlab中的pi僅僅是精確值近似的表示值而已。例題: tan(pi/2) x=-pi/2+0.01: 0.01:pi/2-0.01; plot(x,tan(x);grid on;第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)實戰(zhàn)16:函數(shù) atan功能 反正切函數(shù)格式 Y = atan(X) %返回參量X(可以是向量、矩陣)中每一個 %元素的反正切函數(shù)值Y。 %若X中有的分量為實數(shù),則Y = atan(X)對應(yīng) %的分量處于-/2,/2之間。
25、例: atan(0)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)課后任務(wù)課后任務(wù)一、一、熟練熟練使用常用函數(shù)使用常用函數(shù)(初等)(初等)。二、二、理解理解應(yīng)用題并轉(zhuǎn)化為數(shù)學(xué)模型。應(yīng)用題并轉(zhuǎn)化為數(shù)學(xué)模型。疑問疑問精度問題精度問題有時候函數(shù)結(jié)果返回0而不是0.0000。按理,0!=0.0000.類似的問題還有:在matlab中為什么sin(pi) != 0?而cos(pi)卻等于-1,而不是-1.0000?而format bank Sin(0)=0.00, cos(pi) 等于-1.00?疑問疑問解釋一:MATLAB中的數(shù)字是默認按照雙精度型浮點數(shù)存儲的,他們的區(qū)別可能有兩種情況:一、0代表
26、符號值的0,是沒有經(jīng)過舍入的精確值,而0.0000是浮點數(shù),有舍入。由于MATLAB中默認數(shù)據(jù)類型是浮點型,所以在輸入計算時兩者是沒有差別的。二、在MATLAB的輸出結(jié)果中同樣是浮點數(shù),如果一個矩陣中各元素的數(shù)量級相差較大,同時顯示出來時有的元素會顯示為0.0000,如果你只單獨顯示這一個數(shù),發(fā)現(xiàn)它只是很小,并不是0。疑問疑問解釋二:Sin是是build-in函數(shù),看不到源代碼。函數(shù),看不到源代碼。讓讓sin(0)=0而讓而讓sin(pi)!=0,cos(pi)=-1等等完全由完全由mathworks公司函數(shù)內(nèi)部定義。公司函數(shù)內(nèi)部定義。疑問疑問看如下的代碼,分析:看如下的代碼,分析: x=0;
27、 for n=1:82 x=x+0.01 end x=0.82 x=0; for n=1:82 x=x+1 end x=82第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)第三節(jié)教學(xué)目標 1 一維數(shù)組創(chuàng)建和引用 2 二維數(shù)組創(chuàng)建和引用 3 特殊數(shù)組 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、一維數(shù)組的創(chuàng)建 建立方法一: 直接輸入法 建立方法二: 冒號法 建立方法三: 特殊方法 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、一維數(shù)組的創(chuàng)建 建立方法一:直接輸入法 A=1 2 3 4 A=1,2,3,4 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、一維數(shù)組的創(chuàng)建 建
28、立方法二:冒號法 調(diào)用格式:A=初始量:步長:終止量 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、一維數(shù)組的創(chuàng)建 建立方法二:冒號法 例題:建立數(shù)組A,其中A=1,2,3,4,5 A=1:1:5 A=1:5 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、一維數(shù)組的創(chuàng)建 建立方法三: 特殊方法 調(diào)用格式: A=linspace(初始量,終止量,數(shù)組元素個數(shù)) B=logspace(初始量,終止量,數(shù)組元素個數(shù)) 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)例題:生成數(shù)組A,其中A=1,2,3,4,5 A=linspace(1,5,5) A=linspace(1,5.5,5
29、) A=linspace(1,5,5.5)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 例題:生成數(shù)組B=logspace(0,2,5) B=logspace(0,2,5) 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)例題:生成數(shù)組B=logspace(1,pi,5) B=logspace(1,pi,5) 例題:生成數(shù)組B=logspace(1,3,1) B=logspace(1,3,1) 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、一維數(shù)組的創(chuàng)建 注意事項: logspace(y1,y2,N)表示在10y1和10y2之間插入N-2個元素,組成一個含有N個元素的數(shù)組; 如
30、果y2=pi,則表示在10y1和pi之間插入N-2個元素; 如果NA=1,2,3,4,5 A(3) A(1:3)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)三 二維數(shù)組的創(chuàng)建直接輸入法文件生成法(M文件、txt文件、excel文件、dat文件等)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)三 二維數(shù)組的創(chuàng)建例題 myArray=1 2 3 4 5 6 ; 6 5 4 3 2 1 5,sqrt(25),10-5,0+5,abs(-5),5 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)四 二維數(shù)組的引用:引用格式: arrayName(m,n);引用二維數(shù)組的第m行n列的元素ar
31、rayName(m,:);引用二維數(shù)組的第m行的所有列元素arrayName(:,n);引用二維數(shù)組的第n列的所有行元素arrayName(m1:m2,n);引用二維數(shù)組的第n列中m1至m2行的元素arrayName(m,n1:n2);引用二維數(shù)組的第m行中n1至n2列的元素arrayName(m1 m2,n);引用二維數(shù)組的第n列中m1行和m2行的元素arrayName(m,n1 n2);引用二維數(shù)組的第m行中n1列和n2列的元第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)四 二維數(shù)組的引用:例題: A=1,2,3,4,5;6,7,8,9,10 A(1,:) A(:,3) A(2, 1:
32、2) A(1:2,2)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (1)字符數(shù)組 調(diào)用格式: s=string name=str1 str2 str3第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (1)字符數(shù)組 s1=who are you; s2=Im Tin Tin; s3=s1 s2; m=size(s1); n=size(s2); k=size(s3);第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基
33、礎(chǔ)五 特殊數(shù)組 (1)字符數(shù)組 * 字符串轉(zhuǎn)換方式一 函數(shù)命令:char 調(diào)用格式:S=char(T) 表示將正整數(shù)矩陣轉(zhuǎn)換成字符串矩陣S。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (1)字符數(shù)組 * 字符串轉(zhuǎn)換方式一 T=102 67 132 ; 50 95 78 S=char(T)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (1)字符數(shù)組 * 字符串轉(zhuǎn)換方式二 函數(shù)命令:int2str, num2str 調(diào)用格式: int2str(A) num2str(A,k) num2str(A,format) 表示將數(shù)或矩陣轉(zhuǎn)換成字符串或字符串矩陣。第二章第二
34、章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (1)字符數(shù)組 * 字符串轉(zhuǎn)換方式二 A=1.2 6.7 3.2 ; 5.5 9.5 7.8; B1=int2str(A); B2=num2str(A,0); (?0) B3=num2str(A,%10.3f); B1+B2; B2+B3; B1+B3;第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (1)字符數(shù)組 * 字符串轉(zhuǎn)換方式三 函數(shù)命令:eval,str2num 調(diào)用格式: eval(S) str2num(S) 表示將字符串S轉(zhuǎn)化為數(shù)值。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (1)字符數(shù)組
35、 * 字符串轉(zhuǎn)換方式三 a=1 2; w=1 3; x=1 2; S= a.*sin(w.*x) val=eval(S); v2=subs(S);(?)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (1)字符數(shù)組 * 字符串轉(zhuǎn)換方式三 v1=str2num(S); (?) str2num(3.14159e0) str2num(1 2;3 4) ans.*3第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (1)字符數(shù)組 *字符串比較 函數(shù)命令:strcmp 調(diào)用格式:strcmp(str1,str2) 表示將兩個字符串進行比較,相等時返回邏輯值為真。第二章第二章
36、 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (1)字符數(shù)組 *字符串比較 str1=bad; str2=bad; str3=dab; strcmp(str1,str2); strcmp(str1,str3);第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (1)字符數(shù)組 *字符串轉(zhuǎn)內(nèi)嵌函數(shù) 函數(shù)命令:inline 調(diào)用格式:inline(exr) inline(expr,arg1,arg2,) 表示將字符串表達式轉(zhuǎn)化為函數(shù)表達式。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組(1)字符數(shù)組 *字符串轉(zhuǎn)內(nèi)嵌函數(shù) f=inline(5*sin(x)+3*co
37、s(y),x,y)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (2)結(jié)構(gòu)數(shù)組 提問:結(jié)構(gòu)體的概念?如果讓你統(tǒng)計全班同學(xué)基本信息,你的數(shù)據(jù)怎么組織?第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (2)結(jié)構(gòu)數(shù)組* 結(jié)構(gòu)數(shù)組: 是根據(jù)屬性名組織起來的不同類型數(shù)據(jù)的集合。* 結(jié)構(gòu)數(shù)組通過屬性名來引用。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (2)結(jié)構(gòu)數(shù)組函數(shù)命令:struct 調(diào)用格式:sn=struct(filed1,filed2,)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組(2)結(jié)構(gòu)數(shù)組例題:結(jié)構(gòu)數(shù)組student有
38、name和age兩個屬性。兩組數(shù)據(jù): (liu,20);(Wang,21)。并求student(1),student(2),student(2).name。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組(2)結(jié)構(gòu)數(shù)組 student=struct(name,Liu,Wang,Age,20,21); student(1) student(2) student(2).name第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組(2)結(jié)構(gòu)數(shù)組 如果想新增加域field怎么辦? 如果想給已有的域filed設(shè)置新的值怎么辦? 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五
39、 特殊數(shù)組 (2)結(jié)構(gòu)數(shù)組例:建立學(xué)生檔案結(jié)構(gòu)體,并計算每個學(xué)生的總成績。(page96) 學(xué)號(number):數(shù)值型 姓名(name):字符型 身高(height):數(shù)值型 英語考試成績(English):數(shù)值型 數(shù)學(xué)考試成績(Math):數(shù)值型 物理考試成績(Physics):數(shù)值型第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組(2)結(jié)構(gòu)數(shù)組 stud(1).number=input(please input number:); stud(1).math=input(please input math:); stud(1).physics=input(please inp
40、ut physics:); stud(1).english=input(please input english:); stud(1).total=stud(1).math+stud(1).physics+stud(1).english;第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (2)結(jié)構(gòu)數(shù)組 n=input(please input n:); for i=1:n stud(i).number=input(please input number:); stud(i).math=input(please input math:); stud(i).physics=input
41、(please input physics:); stud(i).english=input(please input english:); stud(i).total=stud(i).math+stud(i).physics+stud(i).english;end第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組(2)結(jié)構(gòu)數(shù)組* 三個相關(guān)的函數(shù)命令: fieldnames,size,rmfield, getfiled, setfield第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (2)結(jié)構(gòu)數(shù)組 fieldnames(stud) size(stud) rmfie
42、ld(stud,number) stud=setfield(stud,1,1,math,100) str1=getfield(stud,1,1,math)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (2)結(jié)構(gòu)數(shù)組 結(jié)構(gòu)數(shù)組的嵌套例題(page98):建立嵌套的結(jié)構(gòu)數(shù)組。a=struct(name,Mike,number,1000,score,struct(math,90,english,89,physics,97); a a(1).number a(1).score第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (3)細胞數(shù)組 提問:普通數(shù)組元素之間有什么關(guān)
43、聯(lián)?結(jié)構(gòu)數(shù)組元素之間有什么關(guān)聯(lián)?其特殊性在哪里?還有沒有更特殊的可能性?第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (3)細胞數(shù)組函數(shù)命令:cell 細胞數(shù)組通常用創(chuàng)建,數(shù)據(jù)通過數(shù)組下標引用。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (3)細胞數(shù)組 B=cell(5,3); B(1,1)=1 4 3; 0 5 8; 7 2 9; B(1,2)=Anne cat; B(2,1)=3+7i; B(2,2)=0:pi/10:pi; B3,1=3 4 2;9 7 6;8 5 1; B3,2=Anne Smith; B4,1=3+7i; B4,2=-pi:pi/
44、10:pi;第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (3)細胞數(shù)組 * celldisp和cellplot方法 B(1,1)=1 4 3; 0 5 8; 7 2 9; B(1,2)=Anne cat; B(2,1)=3+7i; B(2,2)=0:pi/10:pi; B celldisp(B) cellplot(B) 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組(3)細胞數(shù)組 *引用細胞數(shù)組元素: C=B1,1 C=B(1,1) D=B1,1(2,2)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組(3)細胞數(shù)組 *細胞數(shù)組的更新: B(3
45、,1)=No.1; (?) B3,2=No.2; B3,3=No.3; B M=B(1:3,1:2)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組(3)細胞數(shù)組 *細胞數(shù)組的刪除: B(:,3)= (?) B2,3= (?) 兩次操作的區(qū)別? B2,2(3)=0第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組(3)細胞數(shù)組 *細胞數(shù)組中reshape的使用: A=cell(3,4) size(A) B=reshape(A,6,2) size(B)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (3)細胞數(shù)組細胞數(shù)組和數(shù)值數(shù)組的轉(zhuǎn)換 例題:將二維細胞
46、數(shù)組F轉(zhuǎn)換為三維數(shù)值數(shù)據(jù)。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、矩陣 8 特殊數(shù)組 (2)細胞數(shù)組 F1,1=1 2;3 4; F1,2=-1 0; 0 1; F2,1=7 8;4 1; F2,2=4i 3+2i;1-8i 5; for k=1:4 for i=1:2 for j=1:2 NUM(i,j,k)=Fk(i,j); end end end F NUM第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (4)結(jié)構(gòu)細胞數(shù)組將結(jié)構(gòu)數(shù)組放入細胞數(shù)組中,可組成結(jié)構(gòu)細胞數(shù)組。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)五 特殊數(shù)組 (4)結(jié)構(gòu)細胞數(shù)組 c_st
47、r=cell(1,2); c_str1.label=12/2/94; 12/5/94; c_str1.test=47 52 55 48; 17 22 35 11; c_str2.xdata=-0.003 0.41 1.98 2.12 17.11; c_str2.ydata=-3 5 18 0 9; c_str2.zdata=0.6 0.8 1 2.2 3.4; c_str1(1).test(2,2)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)第四節(jié)教學(xué)目標 MATLAB的運算符(算術(shù)、關(guān)系、邏輯) 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、算術(shù)運算符算術(shù)運算符+、- 表示算術(shù)
48、加法和減法*、/ 表示算術(shù)乘法和除法 表示左除 表示乘方.* 表示點乘. 表示點左除./ 表示點右除. 表示點乘方第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、算術(shù)運算符優(yōu)先級 算術(shù)運算符優(yōu)先級最高, 關(guān)系運算符次之, 而邏輯運算符的優(yōu)先級最低。 實際應(yīng)用中,可以通過括號來調(diào)整運算過程。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、算術(shù)運算符 例題:a=5,b=6 ,求解以下運算結(jié)果。a+b;a-b;a*b;a/b;ab;ab第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、算術(shù)運算符 例題:a=1 3 5,b=2 4 6 ,求解以下運算結(jié)果。a+b;a-b;a*b; ab
49、?a/b;ab; ?a.*b;a./b; a.b;a.b第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)二、關(guān)系運算符 表示小于 表示大于= 表示大于或等于= 表示等于= 表示不等于第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 例題:已知二維數(shù)組A=1 2;2 3,求A中等于2的元素個數(shù)n。 A=1 2;2 3; B=A=2; n=sum(sum(B);第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 例題總結(jié):單個數(shù)比較,一維數(shù)組比較,二維數(shù)組比較。各種關(guān)系運算符比較。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)三、邏輯運算符& 邏輯與(and),表示兩個數(shù)組的對應(yīng)元素都是1
50、,結(jié)果為1,否則為0| 邏輯或(or),表示對應(yīng)元素只要有一個是1,結(jié)果為1,否則為0 非(not),表示與元素相反xor 異或,表示對應(yīng)元素不同,結(jié)果為1,否則為0第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 例題:已知數(shù)組A=0 1 0; 1 0 1和B=1 1 1;0 0 0, 求A&B,A|B,A和xor(A,B)。 A=0 1 0; 1 0 1;B=1 1 1;0 0 0; A&B; A|B; A; xor(A,B);第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)四、邏輯函數(shù)all 查看數(shù)組的行或者列,每行或列的所有元素為1,結(jié)果為1any 查看數(shù)組的行或者列,每行或列只要
51、有一個元素為1,結(jié)果為1exist 查看變量或者函數(shù)是否存在find 找出非零元素的位置標識isempty 判斷矩陣是否為空矩陣isequal 判斷對象是否相等isnumeric 判斷對象是否為數(shù)值型bitand 按位與bitor 按位或bitcmp 按位反碼,共n位,n必須小于操作數(shù)的二進制位數(shù)bitxor 按位異或& 捷徑與| 捷徑或第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)例題:A=1 3 5,B=1 3 5 ; 2 4 6,求all(A),all(B),all(B2),any(A),any(B),any(B,2)。 A=1 3 5;B=1 3 5 ; 2 4 6; all(A)
52、 all(B) all(B,2) any(A) any(B) any(B,2)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)例題:觀察以下函數(shù)的返回值: exist(work),exist(myfile),exist(C:windows)。 exist(work) exist(exam2_33) exist(C:windows)【說明】exist函數(shù)非常有用,其返回值為數(shù)字07, 分別表示不同的含義。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)例題:數(shù)組數(shù)組A=1 0 3;3 0 1, 求求find(A),m,n=find(A),m,n,v=find(A)。 A=1 0 3;3 0
53、1; find(A) m,n=find(A) m,n,v=find(A)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)例題:已知二維數(shù)組已知二維數(shù)組A=0.1 0.6; B=0.1 0.6; C=TinTin;求求isequal(A, B),isequal(A, C),isnumeric(A),isnumeric(B), isnumeric(C)。 A=0.1 0.6; B=0.1 0.6; C=TinTin; isequal(A, B) isequal(A, C) isnumeric(A) isnumeric(B) isnumeric(C)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基
54、礎(chǔ)例題:例題:已知已知A=7,B=3,求求bitand(A,B),bitor(A,B),bitxor(A,B)。 A=7;B=3; bitand(A,B) bitor(A,B) bitxor(A,B)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)例題:執(zhí)行下面的命令,觀察運行結(jié)果。體會捷徑與和捷徑或。執(zhí)行下面的命令,觀察運行結(jié)果。體會捷徑與和捷徑或。%可以在可以在m文件中設(shè)置斷點以更好觀察文件中設(shè)置斷點以更好觀察 mycmp=(exist(circle.m)=2 ) & (circle(5) a=2;b=3;mycmp=(b=0) | (a/b10)第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程
55、序設(shè)計基礎(chǔ)第五節(jié)教學(xué)目標 MATLAB的三種控制結(jié)構(gòu) MATLAB的M文件(命令文件和函數(shù)文件) MATLAB函數(shù) MATLAB函數(shù)調(diào)用和參數(shù)傳遞 MATLAB的調(diào)試 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、MATLAB的三種控制結(jié)構(gòu) 按照程序設(shè)計的觀點, 任何算法功能都可以通過程序模塊組成的三種基本程序結(jié)構(gòu)的組合來實現(xiàn):*順序結(jié)構(gòu):程序按程序語句或模塊在執(zhí)行流中的 順序逐個執(zhí)行。 *選擇結(jié)構(gòu):程序按設(shè)定的條件實現(xiàn)程序執(zhí)行流的 多路分支。 *循環(huán)結(jié)構(gòu):程序按給定的條件重復(fù)地執(zhí)行指定的 程序段或模塊。第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、MATLAB的三種控制結(jié)構(gòu)1
56、 順序結(jié)構(gòu)程序程序模塊模塊1 1程序模塊程序模塊2 2只需將程序語句順序排列即可只需將程序語句順序排列即可第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、MATLAB的三種控制結(jié)構(gòu)2 選擇結(jié)構(gòu)選擇結(jié)構(gòu)由兩種語句結(jié)構(gòu)實現(xiàn):選擇結(jié)構(gòu)由兩種語句結(jié)構(gòu)實現(xiàn):if語句switch語句條件條件程序模塊程序模塊1成立成立不成立不成立程序模塊程序模塊2第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、MATLAB的三種控制結(jié)構(gòu)2 選擇結(jié)構(gòu) if語句 if 表達式表達式 程序模塊程序模塊1 else 程序模塊程序模塊2 end第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) if 表達式 程序模塊 e
57、nd一、MATLAB的三種控制結(jié)構(gòu)2 選擇結(jié)構(gòu) if語句 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) if表達式1 程序模塊1 elseif 表達式2 程序模塊2 elseif 表達式n 程序模塊n else 程序模塊n+1 end一、MATLAB的三種控制結(jié)構(gòu)2 選擇結(jié)構(gòu) if語句 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)例題:將百分制的學(xué)生成績轉(zhuǎn)換為五級制的成績輸出。例題:將百分制的學(xué)生成績轉(zhuǎn)換為五級制的成績輸出。clearn=input(輸入n= ); if n=90 r=Aelseif n=80 r=Belseif n=70 r=Celseif n=60 r=Dels
58、e r=Eend第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、MATLAB的三種控制結(jié)構(gòu)2 選擇結(jié)構(gòu) switch語句 第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、MATLAB的三種控制結(jié)構(gòu)2 選擇結(jié)構(gòu) switch語句 switch 表達式 case 數(shù)值1 程序模塊1; case 數(shù)值2 程序模塊2; case 數(shù)值n 程序模塊n; otherwise 程序模塊n+1end第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)例題:例題: 將百分制的學(xué)生成績轉(zhuǎn)換為五級制的成績輸出。將百分制的學(xué)生成績轉(zhuǎn)換為五級制的成績輸出。clearn=input(輸入輸入n= ); pand
59、uan= fix(n/10) switch panduan case 10,9 r=A case 8 r=B case 7 r=C case 6 r=D otherwise r=Eend clearn=input(輸入輸入n= ); switch fix(n/10) case 10,9 r=A case 8 r=B case 7 r=C case 6 r=D otherwise r=Eend第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、MATLAB的三種控制結(jié)構(gòu)3 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)可以由兩種語句結(jié)構(gòu)實現(xiàn):for語句while語句程序模塊程序模塊不成立不成立成立成立條件條件第二章第二章
60、MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、MATLAB的三種控制結(jié)構(gòu)3 循環(huán)結(jié)構(gòu) for語句 for 循環(huán)變量起始值:步長:終止值循環(huán)變量起始值:步長:終止值 循環(huán)體循環(huán)體end第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、MATLAB的三種控制結(jié)構(gòu) 例:使用例:使用forfor結(jié)構(gòu)計算結(jié)構(gòu)計算1+2+3+1001+2+3+100clearclearsum=0;sum=0;for i=1:1:100for i=1:1:100 sum=sum+i;sum=sum+i;endendsumsum第二章第二章 MATLAB程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)一、MATLAB的三種控制結(jié)構(gòu)3 循環(huán)結(jié)構(gòu) whi
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)安全全面防護措施策略
- DB6528T 140-2024庫爾勒香梨密植高效栽培技術(shù)規(guī)程
- 五年期產(chǎn)品供應(yīng)合同書
- 個人住房融資合同協(xié)議書
- 人事保管檔案合同實施細則
- 個人養(yǎng)殖場合作協(xié)議合同
- 個人合伙合作協(xié)議書合同范本
- 個人借款合同延期至協(xié)議
- 產(chǎn)品銷售補償合同范本
- 買賣合同糾紛起訴書范本
- 2024-2025學(xué)年湖北省武漢市部分重點中學(xué)高一上學(xué)期期末聯(lián)考數(shù)學(xué)試卷(含答案)
- 排球正面上手傳球 說課稿-2023-2024學(xué)年高一上學(xué)期體育與健康人教版必修第一冊
- 2025年浙江省交通投資集團財務(wù)共享服務(wù)中心招聘2名高頻重點提升(共500題)附帶答案詳解
- 做投標文件培訓(xùn)
- 9.4+跨學(xué)科實踐:制作簡易活塞式抽水機課件+-2024-2025學(xué)年人教版物理八年級下冊
- 建筑工程工作計劃
- 2025年中國國際投資促進中心限責任公司招聘管理單位筆試遴選500模擬題附帶答案詳解
- 瓶裝液化氣送氣工培訓(xùn)
- 外科護理課程思政課程標準
- 船舶航行安全
- 道德經(jīng)全文完整版本
評論
0/150
提交評論