顯示目前工作環(huán)境內(nèi)定義的變數(shù)_第1頁(yè)
顯示目前工作環(huán)境內(nèi)定義的變數(shù)_第2頁(yè)
顯示目前工作環(huán)境內(nèi)定義的變數(shù)_第3頁(yè)
顯示目前工作環(huán)境內(nèi)定義的變數(shù)_第4頁(yè)
顯示目前工作環(huán)境內(nèi)定義的變數(shù)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

MATLAB簡(jiǎn)介1開(kāi)啟MATLABWorkspace顯示目前工作環(huán)境內(nèi)定義的變數(shù)CommandHistory紀(jì)錄曾經(jīng)下過(guò)的指令CommandWindow我們將它譯為操作視窗,就如同一個(gè)文字操作介面,有

>>

提示號(hào),在提示號(hào)之後輸入指令2023/6/12開(kāi)啟MATLAB(續(xù))什麼叫M-file:若在CommandWindow上面寫(xiě)程式,按

Enter後發(fā)現(xiàn)寫(xiě)錯(cuò),很難直接修改。例如把err=5e-15改成err=1e-10

寫(xiě)程式最好另外開(kāi)啟一個(gè)檔案,把程式的「原始碼」寫(xiě)在裡面,這個(gè)檔案我們稱為M-file,此檔案是純文字檔,而且副檔名必須是

m。優(yōu)點(diǎn):1.方便修改。

2.不會(huì)因?yàn)殛P(guān)閉Matlab而失去原始碼。2023/6/13MATLAB基本數(shù)學(xué)函數(shù)指令首先英文字母大小寫(xiě)是不一樣的喔!!!常用的函式:2023/6/14MATLAB基本數(shù)學(xué)函數(shù)指令(續(xù))常用的函式:名稱內(nèi)容函式自然對(duì)數(shù)e的a次方矩陣各元素取exp()exp(a)自然對(duì)數(shù)e為底矩陣各元素取log()log(a)10為底矩陣各元素取log10()log10(a)2為底矩陣各元素取log2()log2(a)餘數(shù)rem(-7,3)=-1mod(-7,3)=2rem(x,y)mod(x,y)2023/6/15MATLAB複數(shù)及三角函數(shù)三角函數(shù)正弦sin()餘弦cos()正切tan()餘切cot()正割sec()餘割csc()反正弦asin()反餘弦acos()反正切atan()反餘切acot()反正割asec()反餘割acsc()2023/6/16MATLAB關(guān)係運(yùn)算a大於(小於)b可表a>(<)ba不等於b可表a~=ba等於b可表a=b2023/6/17MATLAB邏輯運(yùn)算名稱函式小於<相等==小於等於<=大於>大於等於>=否0是1且&或|非~2023/6/18MATLAB矩陣運(yùn)算矩陣Ex:>>A=[1,2;3,4](逗號(hào)也可以用空白代替)A=1234矩陣四則運(yùn)算:矩陣的加+,減-,乘*,次方^都和普通計(jì)算一樣。

A.是指A矩陣裡的純量同時(shí)運(yùn)算2023/6/19MATLAB矩陣運(yùn)算(續(xù))四則運(yùn)算

函式說(shuō)明A*B一般的矩陣運(yùn)算

A.*B將相同長(zhǎng)度陣列A、B中的元素相乘,結(jié)果還是矩陣

A/BA與B的反矩陣相乘,亦即AB-1A\BA的反矩陣與B相乘,亦即A-1BA./BA的元素與B的元素相除A.\BB的元素與A的元素相除2023/6/110矩陣的Transpose、Hermitian及矩陣的基本函式名稱函式conjugatetransposeA’或者

transpose(A)transposetranspose(A)列數(shù),行數(shù)size(A)rankrank(A)determinantdet(A)tracetrace(A)inverseinv(A)2-normnorm(A)2023/6/111矩陣的Transpose、Hermitian及矩陣的基本函式(續(xù))名稱函式1-normnorm(A,1)infinite-normnorm(A,inf)eigenvalueeig(A)singularvaluesvd(A)B:eigenvectorC:eigenvalue組成的矩陣[B,C]=eig(A)B*C*D=AB,D:unitarymatrixC:singularvalueA:m×nB:m×mC:m×nD:n×n[B,C,D]=svd(A)2023/6/112矩陣的Transpose、Hermitian及矩陣的基本函式(續(xù))Ex:(MATLAB)>>A=[1+2i,2+3i;3+4i,4+5i]>>A'ans=1.0000-2.0000i3.0000-4.0000i2.0000-3.0000i4.0000-5.0000i2023/6/113製造特殊矩陣--0與

1MATLAB提供許多製造特殊矩陣的指令例如:名稱函式2乘3的零矩陣zeros(2,3)元素都是1的2乘3的矩陣ones(2,3)3乘3的零方陣zeros(3)元素都是1的3乘3的方陣ones(3)3乘3的單位方陣eye(3)2乘3的矩陣

對(duì)角線是1其餘是0eye(2,3)2023/6/114代表矩陣元素的變數(shù)說(shuō)明矩陣位址:

A(1,1)

代表A的(1,1)位置元素

A(2,:)

代表A的第二列

A(:,3)

代表A的第三行

A(1,1:3)代表A的第一列之第一行到第三行2023/6/115冒號(hào)(:)指令1:5製造了以下序列

123451:2:10製造了以下序列

13579

x=linspace(a,b,n+1):

產(chǎn)生一個(gè)等差序列,序列共有

n+1項(xiàng),兩兩之差為

(b-a)/n,而首項(xiàng)是

a,尾項(xiàng)是

b。ps:x形成1乘(n+1)矩陣,x(1)=a,x(n+1)=b

2023/6/116分號(hào)(;)指令如果想要指派數(shù)值給一個(gè)變數(shù),而不必看到MATLAB回應(yīng)變數(shù)的值,可以在指令結(jié)束之後寫(xiě)一個(gè)分號(hào);如果沒(méi)放;則MATLAB會(huì)顯示

變數(shù)名稱=變數(shù)值如果只有值而沒(méi)有變數(shù)名稱則MATLAB會(huì)顯示ans

=值2023/6/117分號(hào)(;)指令(續(xù))如果想要變數(shù)值但是不想要變數(shù)名稱就用dispdisp()

這就是把一個(gè)變數(shù)的值印出來(lái)的意思而且不再加“ans=”

EX.>>disp(‘a(chǎn)aa’)是顯示aaa這串句子>>

'aaa'是顯示ans=aaa2023/6/118逗號(hào)(,)指令a=10,b=100,c=200,和

a=10

b=100

c=200是一樣的,差別只差在想不想要用一列敘述就解決程式。2023/6/119MATLAB的輸入、輸出MATLAB在使用數(shù)值的輸入和輸出,都是在CommandWindow底下做輸入。輸入(input):EX:>>R=input(‘R=’);%輸入R值>>k=det(R)

2023/6/120MATLAB的輸入、輸出(續(xù))輸出(disp、fprintf):

disp()先前討論過(guò)了,

這裡討論fprintf()語(yǔ)法:fprintf('Theareais%8.5f\n',area)%8.5f是8位浮點(diǎn)數(shù)Fixed-point,含5位小數(shù)

\n是避免下個(gè)輸出值和這個(gè)輸出值會(huì)太接近EX:fprintf('pi=%12.5f\n',pi)還有%d,%s等等,可執(zhí)行helpfprintf參閱說(shuō)明2023/6/121break指令和MATLAB的迭代和邏輯分岔概念(for迴圈、if運(yùn)算、while迴圈)break指令:在下面的for迴圈、if運(yùn)算、while迴圈中加入break它的意思是:從for迴圈、if運(yùn)算、while迴圈中強(qiáng)制脫逃。for迴圈:語(yǔ)法:for變數(shù)

=向量或序列,計(jì)算,end2023/6/122break指令和MATLAB的迭代和邏輯分岔概念(續(xù))Ex:MATLAB:y=1;forx=1:2:10%(x=1,3,5,7,9)只有到9y=y*x;endy2023/6/123break指令和MATLAB的迭代和邏輯分岔概念(續(xù))注意:1.我們習(xí)慣用

i,j,k,m,n這些字母當(dāng)作迭代的變數(shù)。不過(guò),記得

Matlab認(rèn)識(shí)複數(shù)嗎?其實(shí)

i原本是

sqrt(-1)的意思。一旦你說(shuō)了fori=1:2:100這句,執(zhí)行之後,i的值就是

99。因?yàn)槲覀儼?/p>

1:2:100這個(gè)向量的元素一個(gè)一個(gè)代入

i,而最後一個(gè)是

99。如果要讓

i恢復(fù)單位虛數(shù),就說(shuō)i=sqrt(-1)或者i=complex(0,1)、j都可以。

2023/6/124break指令和MATLAB的迭代和邏輯分岔概念(續(xù))2.sum和prod的應(yīng)用:

其實(shí)如果只是做等差數(shù)列相加運(yùn)算,可以用sum(1:2:10)=1+3+5+7+9其實(shí)如果只是做等差數(shù)列相乘運(yùn)算,可以用prod(1:2:10)=1*3*5*7*9

ps:利用MATLAB處理上述兩個(gè)運(yùn)算,用sum和prod才是王道2023/6/125break指令和MATLAB的迭代和邏輯分岔概念(續(xù))if運(yùn)算:語(yǔ)法1:if(True_or_False),計(jì)算,end語(yǔ)法2;if(True_or_False),計(jì)算A,else,計(jì)算B,end語(yǔ)法3:if(True_or_False),計(jì)算A,elseif(True_or_False),計(jì)算B,else,計(jì)算C,end2023/6/126break指令和MATLAB的迭代和邏輯分岔概念(續(xù))MATLAB:x=1/7;

if(x+x+x+x==1),disp('Bingo');else,disp('Hee');end結(jié)果是Heex=1/7;

if(7*x==1),disp('Bingo');else,disp('Hee');end結(jié)果是Bingox=1/3;

if(x+x+x==1),disp('Bingo');else,disp('Hee');end結(jié)果是Bingox=1/3;

if(3*x==1),disp('Bingo');else,disp('Hee');end結(jié)果是Bingo2023/6/127break指令和MATLAB的迭代和邏輯分岔概念(續(xù))while迴圈:語(yǔ)法:whileCONDITION%CONDITION“通常”是一個(gè)邏輯計(jì)算

STATEMENTS;end

流程:1.算

CONDITION2.如果CONDITION的結(jié)果是FALSE,則執(zhí)

行END之後的指令;否則執(zhí)行STATEMENT

3.執(zhí)行到END時(shí),回到1.

2023/6/128break指令和MATLAB的迭代和邏輯分岔概念(續(xù))※for和while的應(yīng)用有什麼不同?既然for迴圈和while迴圈可以互換,那何必提供兩種語(yǔ)法?原因有二:1.風(fēng)格問(wèn)題有人喜歡for,有人喜歡while2.for迴圈通常用在事先已經(jīng)確定要執(zhí)行幾次的情形,while迴圈通常在一邊計(jì)算一邊看看要不要繼續(xù)做的情況。2023/6/129繪圖-折線圖plotandaxisplot(x,y)的意思就是在平面座標(biāo)上從(x1,y1)這一點(diǎn)畫(huà)一條直線去

(x2,y2),從

(x2,y2)這一點(diǎn)畫(huà)一條直線去

(x3,y3),...從

(xn-1,yn-1)這一點(diǎn)畫(huà)一條直線去

(xn,yn)。線的顏色:

plot(x,y)內(nèi)建的是黑線,如果要限定顏色plot(x,y,'r')則是紅線,'g'表示綠色

(green)'b'表示藍(lán)色

(blue)2023/6/130繪圖-plotandaxis(續(xù))下面是許多色碼、點(diǎn)的圖案、線碼的表格2023/6/131區(qū)間axis(v)v=[v1v2v3v4]axis(v),橫軸v1與v2間,縱軸v3與v4間,呈現(xiàn)圖形。Ex:將-pi到pi分成300同等分的點(diǎn),對(duì)應(yīng)y=sin(x)的值畫(huà)在橫軸

-4~4,縱軸-2~2的平面座標(biāo)系上MATLAB:x=linspace(-pi,pi,301);plot(x,sin(x));axis([-4,4,-2,2]);2023/6/132設(shè)定x-y相同的單位長(zhǎng)當(dāng)我們製圖的時(shí)候,橫軸與縱軸的單位長(zhǎng)未必一樣長(zhǎng),如果要強(qiáng)迫橫軸與縱軸的單位長(zhǎng)相同,下指令axis('equal')。MATLAB:(同上題)x=linspace(-pi,pi,301);plot(x,sin(x),'r');axis([-4,4,-2,2]);axis('equal')2023/6/133設(shè)定x-y相同的單位長(zhǎng)(續(xù))Ex:畫(huà)單位圓MATLAB:t=linspace(0,2*pi,301);plot(cos(t),sin(t));axis(2*[-11-11]);axis('equal')2023/6/134繪製函式圖形(fplot())如果想要繪製MATLAB裡內(nèi)建的函式圖形,或者已存入work的自定的可繪圖函式,可以用上述的方式,取很多很多點(diǎn),利用折線圖就可以繪製了。但是其實(shí)MATLAB已有內(nèi)建繪圖的程式,只需要輸入函式和你要的區(qū)間就可以了。其語(yǔ)法為fplot('fun',[xminxmaxyminymax])

※yminymax可加可不加

2023/6/135繪製函式圖形(fplot())(續(xù))EX:>>fplot('sin(x)./x',[-2020-0.41.2])%所有的圖形也可以做圖形標(biāo)示>>title('fplotoff(x)=sin(x)/x')>>xlabel('x'),ylabel('f(x)')

EX:>>fplot('x^3-3*x^2+x-3',[0,5,130,0])2023/6/136繪圖--長(zhǎng)條圖barandaxis若v是n維向量,則bar(v)就畫(huà)出高度依序?yàn)関1,v2...vn的長(zhǎng)條圖,橫軸為1、2、…、n。如果V是一個(gè)m乘n矩陣,例如:則橫軸為1、2、3,縱軸為

、

、…、

的高度、

屬於第一行,所以在橫軸1的位置、

屬於第二行,所以在橫軸2的位置、

屬於第三行,所以在橫軸3的位置2023/6/137繪圖--長(zhǎng)條圖barandaxis(續(xù))EX:MATLAB:v=[14;0-2;35];bar(v);axis([0.26.8-36])

當(dāng)然,也可以自訂橫軸的數(shù)字,利用語(yǔ)法bar(x,v)(但是xv維度一定要一樣)

2023/6/138繪圖--長(zhǎng)條圖barandaxis(續(xù))EX:如果30~39分有

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論