




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB簡介1開啟MATLABWorkspace顯示目前工作環境內定義的變數CommandHistory紀錄曾經下過的指令CommandWindow我們將它譯為操作視窗,就如同一個文字操作介面,有
>>
提示號,在提示號之後輸入指令2023/6/12開啟MATLAB(續)什麼叫M-file:若在CommandWindow上面寫程式,按
Enter後發現寫錯,很難直接修改。例如把err=5e-15改成err=1e-10
寫程式最好另外開啟一個檔案,把程式的「原始碼」寫在裡面,這個檔案我們稱為M-file,此檔案是純文字檔,而且副檔名必須是
m。優點:1.方便修改。
2.不會因為關閉Matlab而失去原始碼。2023/6/13MATLAB基本數學函數指令首先英文字母大小寫是不一樣的喔!!!常用的函式:2023/6/14MATLAB基本數學函數指令(續)常用的函式:名稱內容函式自然對數e的a次方矩陣各元素取exp()exp(a)自然對數e為底矩陣各元素取log()log(a)10為底矩陣各元素取log10()log10(a)2為底矩陣各元素取log2()log2(a)餘數rem(-7,3)=-1mod(-7,3)=2rem(x,y)mod(x,y)2023/6/15MATLAB複數及三角函數三角函數正弦sin()餘弦cos()正切tan()餘切cot()正割sec()餘割csc()反正弦asin()反餘弦acos()反正切atan()反餘切acot()反正割asec()反餘割acsc()2023/6/16MATLAB關係運算a大於(小於)b可表a>(<)ba不等於b可表a~=ba等於b可表a=b2023/6/17MATLAB邏輯運算名稱函式小於<相等==小於等於<=大於>大於等於>=否0是1且&或|非~2023/6/18MATLAB矩陣運算矩陣Ex:>>A=[1,2;3,4](逗號也可以用空白代替)A=1234矩陣四則運算:矩陣的加+,減-,乘*,次方^都和普通計算一樣。
A.是指A矩陣裡的純量同時運算2023/6/19MATLAB矩陣運算(續)四則運算
函式說明A*B一般的矩陣運算
A.*B將相同長度陣列A、B中的元素相乘,結果還是矩陣
A/BA與B的反矩陣相乘,亦即AB-1A\BA的反矩陣與B相乘,亦即A-1BA./BA的元素與B的元素相除A.\BB的元素與A的元素相除2023/6/110矩陣的Transpose、Hermitian及矩陣的基本函式名稱函式conjugatetransposeA’或者
transpose(A)transposetranspose(A)列數,行數size(A)rankrank(A)determinantdet(A)tracetrace(A)inverseinv(A)2-normnorm(A)2023/6/111矩陣的Transpose、Hermitian及矩陣的基本函式(續)名稱函式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及矩陣的基本函式(續)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的矩陣
對角線是1其餘是0eye(2,3)2023/6/114代表矩陣元素的變數說明矩陣位址:
A(1,1)
代表A的(1,1)位置元素
A(2,:)
代表A的第二列
A(:,3)
代表A的第三行
A(1,1:3)代表A的第一列之第一行到第三行2023/6/115冒號(:)指令1:5製造了以下序列
123451:2:10製造了以下序列
13579
x=linspace(a,b,n+1):
產生一個等差序列,序列共有
n+1項,兩兩之差為
(b-a)/n,而首項是
a,尾項是
b。ps:x形成1乘(n+1)矩陣,x(1)=a,x(n+1)=b
2023/6/116分號(;)指令如果想要指派數值給一個變數,而不必看到MATLAB回應變數的值,可以在指令結束之後寫一個分號;如果沒放;則MATLAB會顯示
變數名稱=變數值如果只有值而沒有變數名稱則MATLAB會顯示ans
=值2023/6/117分號(;)指令(續)如果想要變數值但是不想要變數名稱就用dispdisp()
這就是把一個變數的值印出來的意思而且不再加“ans=”
EX.>>disp(‘aaa’)是顯示aaa這串句子>>
'aaa'是顯示ans=aaa2023/6/118逗號(,)指令a=10,b=100,c=200,和
a=10
b=100
c=200是一樣的,差別只差在想不想要用一列敘述就解決程式。2023/6/119MATLAB的輸入、輸出MATLAB在使用數值的輸入和輸出,都是在CommandWindow底下做輸入。輸入(input):EX:>>R=input(‘R=’);%輸入R值>>k=det(R)
2023/6/120MATLAB的輸入、輸出(續)輸出(disp、fprintf):
disp()先前討論過了,
這裡討論fprintf()語法:fprintf('Theareais%8.5f\n',area)%8.5f是8位浮點數Fixed-point,含5位小數
\n是避免下個輸出值和這個輸出值會太接近EX:fprintf('pi=%12.5f\n',pi)還有%d,%s等等,可執行helpfprintf參閱說明2023/6/121break指令和MATLAB的迭代和邏輯分岔概念(for迴圈、if運算、while迴圈)break指令:在下面的for迴圈、if運算、while迴圈中加入break它的意思是:從for迴圈、if運算、while迴圈中強制脫逃。for迴圈:語法:for變數
=向量或序列,計算,end2023/6/122break指令和MATLAB的迭代和邏輯分岔概念(續)Ex:MATLAB:y=1;forx=1:2:10%(x=1,3,5,7,9)只有到9y=y*x;endy2023/6/123break指令和MATLAB的迭代和邏輯分岔概念(續)注意:1.我們習慣用
i,j,k,m,n這些字母當作迭代的變數。不過,記得
Matlab認識複數嗎?其實
i原本是
sqrt(-1)的意思。一旦你說了fori=1:2:100這句,執行之後,i的值就是
99。因為我們把
1:2:100這個向量的元素一個一個代入
i,而最後一個是
99。如果要讓
i恢復單位虛數,就說i=sqrt(-1)或者i=complex(0,1)、j都可以。
2023/6/124break指令和MATLAB的迭代和邏輯分岔概念(續)2.sum和prod的應用:
其實如果只是做等差數列相加運算,可以用sum(1:2:10)=1+3+5+7+9其實如果只是做等差數列相乘運算,可以用prod(1:2:10)=1*3*5*7*9
ps:利用MATLAB處理上述兩個運算,用sum和prod才是王道2023/6/125break指令和MATLAB的迭代和邏輯分岔概念(續)if運算:語法1:if(True_or_False),計算,end語法2;if(True_or_False),計算A,else,計算B,end語法3:if(True_or_False),計算A,elseif(True_or_False),計算B,else,計算C,end2023/6/126break指令和MATLAB的迭代和邏輯分岔概念(續)MATLAB:x=1/7;
if(x+x+x+x==1),disp('Bingo');else,disp('Hee');end結果是Heex=1/7;
if(7*x==1),disp('Bingo');else,disp('Hee');end結果是Bingox=1/3;
if(x+x+x==1),disp('Bingo');else,disp('Hee');end結果是Bingox=1/3;
if(3*x==1),disp('Bingo');else,disp('Hee');end結果是Bingo2023/6/127break指令和MATLAB的迭代和邏輯分岔概念(續)while迴圈:語法:whileCONDITION%CONDITION“通常”是一個邏輯計算
STATEMENTS;end
流程:1.算
CONDITION2.如果CONDITION的結果是FALSE,則執
行END之後的指令;否則執行STATEMENT
3.執行到END時,回到1.
2023/6/128break指令和MATLAB的迭代和邏輯分岔概念(續)※for和while的應用有什麼不同?既然for迴圈和while迴圈可以互換,那何必提供兩種語法?原因有二:1.風格問題有人喜歡for,有人喜歡while2.for迴圈通常用在事先已經確定要執行幾次的情形,while迴圈通常在一邊計算一邊看看要不要繼續做的情況。2023/6/129繪圖-折線圖plotandaxisplot(x,y)的意思就是在平面座標上從(x1,y1)這一點畫一條直線去
(x2,y2),從
(x2,y2)這一點畫一條直線去
(x3,y3),...從
(xn-1,yn-1)這一點畫一條直線去
(xn,yn)。線的顏色:
plot(x,y)內建的是黑線,如果要限定顏色plot(x,y,'r')則是紅線,'g'表示綠色
(green)'b'表示藍色
(blue)2023/6/130繪圖-plotandaxis(續)下面是許多色碼、點的圖案、線碼的表格2023/6/131區間axis(v)v=[v1v2v3v4]axis(v),橫軸v1與v2間,縱軸v3與v4間,呈現圖形。Ex:將-pi到pi分成300同等分的點,對應y=sin(x)的值畫在橫軸
-4~4,縱軸-2~2的平面座標系上MATLAB:x=linspace(-pi,pi,301);plot(x,sin(x));axis([-4,4,-2,2]);2023/6/132設定x-y相同的單位長當我們製圖的時候,橫軸與縱軸的單位長未必一樣長,如果要強迫橫軸與縱軸的單位長相同,下指令axis('equal')。MATLAB:(同上題)x=linspace(-pi,pi,301);plot(x,sin(x),'r');axis([-4,4,-2,2]);axis('equal')2023/6/133設定x-y相同的單位長(續)Ex:畫單位圓MATLAB:t=linspace(0,2*pi,301);plot(cos(t),sin(t));axis(2*[-11-11]);axis('equal')2023/6/134繪製函式圖形(fplot())如果想要繪製MATLAB裡內建的函式圖形,或者已存入work的自定的可繪圖函式,可以用上述的方式,取很多很多點,利用折線圖就可以繪製了。但是其實MATLAB已有內建繪圖的程式,只需要輸入函式和你要的區間就可以了。其語法為fplot('fun',[xminxmaxyminymax])
※yminymax可加可不加
2023/6/135繪製函式圖形(fplot())(續)EX:>>fplot('sin(x)./x',[-2020-0.41.2])%所有的圖形也可以做圖形標示>>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繪圖--長條圖barandaxis若v是n維向量,則bar(v)就畫出高度依序為v1,v2...vn的長條圖,橫軸為1、2、…、n。如果V是一個m乘n矩陣,例如:則橫軸為1、2、3,縱軸為
、
、…、
的高度、
屬於第一行,所以在橫軸1的位置、
屬於第二行,所以在橫軸2的位置、
屬於第三行,所以在橫軸3的位置2023/6/137繪圖--長條圖barandaxis(續)EX:MATLAB:v=[14;0-2;35];bar(v);axis([0.26.8-36])
當然,也可以自訂橫軸的數字,利用語法bar(x,v)(但是xv維度一定要一樣)
2023/6/138繪圖--長條圖barandaxis(續)EX:如果30~39分有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国美式足球手套行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国绞肉机和碎肉器行业市场发展趋势与前景展望战略研究报告
- 支护井施工方案
- 2025-2030中国纺织印染行业发展分析及发展前景与投资研究报告
- 2025-2030中国立式装纸箱机行业市场发展趋势与前景展望战略研究报告
- 2025年肥牛牛柳2项目可行性研究报告
- 2025-2030中国硬盘驱动器存储模块行业市场发展趋势与前景展望战略研究报告
- 2024-2025公司安全管理人员安全培训考试试题及答案5A
- 2025-2030中国病人毛巾行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国男士香水行业市场发展分析及发展前景与投资研究报告
- 招标投标法培训课件
- 针灸治疗呃逆
- 2024年中考英语复习:阅读七选五 专项练习题汇编(含答案解析)
- 《吸收与解吸》课件
- 综合实践活动(1年级下册)第1课时 走近身边孝顺的好榜样-课件
- 初中信息技术教学中的项目式学习
- 部编版语文二年级下册第3单元核心素养教案
- DB43-T 1712-2019 银行业金融机构智能预警系统安全防范要求
- 2023年云南省接受军转干部安置考试试题
- 初三英语试卷分析失分原因和改进措施
- 关于在生产过程中物料流转的交接和管理规定
评论
0/150
提交评论