显示目前工作环境内定义的变数.ppt_第1页
显示目前工作环境内定义的变数.ppt_第2页
显示目前工作环境内定义的变数.ppt_第3页
显示目前工作环境内定义的变数.ppt_第4页
显示目前工作环境内定义的变数.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB簡介 開啟MATLAB Workspace顯示目前工作環境內定義的變數CommandHistory紀錄曾經下過的指令CommandWindow我們將它譯為操作視窗 就如同一個文字操作介面 有 提示號 在提示號之後輸入指令 2020 1 12 開啟MATLAB 續 什麼叫M file 若在CommandWindow上面寫程式 按Enter後發現寫錯 很難直接修改 例如把err 5e 15改成err 1e 10寫程式最好另外開啟一個檔案 把程式的 原始碼 寫在裡面 這個檔案我們稱為M file 此檔案是純文字檔 而且副檔名必須是m 優點 1 方便修改 2 不會因為關閉Matlab而失去原始碼 2020 1 12 MATLAB基本數學函數指令 首先英文字母大小寫是不一樣的喔 常用的函式 2020 1 12 MATLAB基本數學函數指令 續 常用的函式 2020 1 12 MATLAB複數及三角函數 三角函數 2020 1 12 MATLAB關係運算 a大於 小於 b可表a ba不等於b可表a ba等於b可表a b 2020 1 12 MATLAB邏輯運算 2020 1 12 MATLAB矩陣運算 矩陣Ex A 1 2 3 4 逗號也可以用空白代替 A 1234矩陣四則運算 矩陣的加 減 乘 次方 都和普通計算一樣 A 是指A矩陣裡的純量同時運算 2020 1 12 MATLAB矩陣運算 續 四則運算 2020 1 12 矩陣的Transpose Hermitian及矩陣的基本函式 2020 1 12 矩陣的Transpose Hermitian及矩陣的基本函式 續 2020 1 12 矩陣的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 0000i 2020 1 12 製造特殊矩陣 0與1 MATLAB提供許多製造特殊矩陣的指令例如 2020 1 12 代表矩陣元素的變數 說明矩陣位址 A 1 1 代表A的 1 1 位置元素A 2 代表A的第二列A 3 代表A的第三行A 1 1 3 代表A的第一列之第一行到第三行 2020 1 12 冒號 指令 1 5製造了以下序列123451 2 10製造了以下序列13579x linspace a b n 1 產生一個等差序列 序列共有n 1項 兩兩之差為 b a n 而首項是a 尾項是b ps x形成1乘 n 1 矩陣 x 1 a x n 1 b 2020 1 12 分號 指令 如果想要指派數值給一個變數 而不必看到MATLAB回應變數的值 可以在指令結束之後寫一個分號 如果沒放 則MATLAB會顯示變數名稱 變數值如果只有值而沒有變數名稱則MATLAB會顯示ans 值 2020 1 12 分號 指令 續 如果想要變數值但是不想要變數名稱就用dispdisp 這就是把一個變數的值印出來的意思而且不再加 ans EX disp aaa 是顯示aaa這串句子 aaa 是顯示ans aaa 2020 1 12 逗號 指令 a 10 b 100 c 200 和a 10b 100c 200是一樣的 差別只差在想不想要用一列敘述就解決程式 2020 1 12 MATLAB的輸入 輸出 MATLAB在使用數值的輸入和輸出 都是在CommandWindow底下做輸入 輸入 input EX R input R 輸入R值 k det R 2020 1 12 MATLAB的輸入 輸出 續 輸出 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參閱說明 2020 1 12 break指令和MATLAB的迭代和邏輯分岔概念 for迴圈 if運算 while迴圈 break指令 在下面的for迴圈 if運算 while迴圈中加入break它的意思是 從for迴圈 if運算 while迴圈中強制脫逃 for迴圈 語法 for變數 向量或序列 計算 end 2020 1 12 break指令和MATLAB的迭代和邏輯分岔概念 續 Ex MATLAB y 1 forx 1 2 10 x 1 3 5 7 9 只有到9y y x endy 2020 1 12 break指令和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都可以 2020 1 12 break指令和MATLAB的迭代和邏輯分岔概念 續 2 sum和prod的應用 其實如果只是做等差數列相加運算 可以用sum 1 2 10 1 3 5 7 9其實如果只是做等差數列相乘運算 可以用prod 1 2 10 1 3 5 7 9ps 利用MATLAB處理上述兩個運算 用sum和prod才是王道 2020 1 12 break指令和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 end 2020 1 12 break指令和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結果是Bingo 2020 1 12 break指令和MATLAB的迭代和邏輯分岔概念 續 while迴圈 語法 whileCONDITION CONDITION 通常 是一個邏輯計算STATEMENTS end流程 1 算CONDITION2 如果CONDITION的結果是FALSE 則執行END之後的指令 否則執行STATEMENT3 執行到END時 回到1 2020 1 12 break指令和MATLAB的迭代和邏輯分岔概念 續 for和while的應用有什麼不同 既然for迴圈和while迴圈可以互換 那何必提供兩種語法 原因有二 1 風格問題有人喜歡for 有人喜歡while2 for迴圈通常用在事先已經確定要執行幾次的情形 while迴圈通常在一邊計算一邊看看要不要繼續做的情況 2020 1 12 繪圖 折線圖plotandaxis plot 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 2020 1 12 繪圖 plotandaxis 續 下面是許多色碼 點的圖案 線碼的表格 2020 1 12 區間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 2020 1 12 設定x y相同的單位長 當我們製圖的時候 橫軸與縱軸的單位長未必一樣長 如果要強迫橫軸與縱軸的單位長相同 下指令axis equal MATLAB 同上題 x linspace pi pi 301 plot x sin x r axis 4 4 2 2 axis equal 2020 1 12 設定x y相同的單位長 續 Ex 畫單位圓MATLAB t linspace 0 2 pi 301 plot cos t sin t axis 2 11 11 axis equal 2020 1 12 繪製函式圖形 fplot 如果想要繪製MATLAB裡內建的函式圖形 或者已存入work的自定的可繪圖函式 可以用上述的方式 取很多很多點 利用折線圖就可以繪製了 但是其實MATLAB已有內建繪圖的程式 只需要輸入函式和你要的區間就可以了 其語法為fplot fun xminxmaxyminymax yminymax可加可不加 2020 1 12 繪製函式圖形 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 2020 1 12 繪圖 長條圖barandaxis 若v是n維向量 則bar v 就畫出高度依序為v1 v2 vn的長條圖 橫軸為1 2 n 如果V是一個m乘n矩陣 例如 則橫軸為1 2 3 縱軸為 的高度 屬於第一行 所以在橫軸1的位置 屬於第二行 所以在橫軸2的位置 屬於第三行 所以在橫軸3的位置 2020 1 12 繪圖 長條圖barandaxis 續 EX MATLAB v 14 0 2 35 bar v axis 0 26 8 36 當然 也可以自訂橫軸的數字 利用語法bar x v 但是xv維度一定要一樣 2020 1 12 繪圖 長條圖barandaxis 續 EX 如果30 39分有1人 40 49分有4人 60 69分有2人 70 79分有3人 80 89分有5人 90 99分有3人 100分有1人MATLAB v 14023531 x 35455565758595100 bar x v axis 3010506 title 輔仁數學期中考成績 xlabel 分數 ylabel 人數 2020 1 12 自訂函式 function 在M file裡 完成你要的函式 然後在程式的最上方 加入以下語法 function變數名稱 函式名稱 變數名稱 EX functionn apple x 等號的左邊是要output的數據的變數名稱 等號的右邊是要input的數據的變數名稱 輸入參數是從呼叫者 caller 那裡傳過來的 儲存函式 最好將M file和函式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论