Matlab 入門級教程

很多小白新入門,本文專門針對各位介紹 Matlab 的使用

高版本 Matlab 很大產品選擇的時候安裝下面打勾的幾個就足夠了,如果某些研究實在需要,之後在運行安裝程序添加相應工具箱即可,函數工具箱安裝的越多,軟件越卡。

下面是已安裝好的 Matlab 界面,各模塊窗口可以在佈局中勾選

寫程序點新建腳本創建

比如說寫一個 a=1

點保存命名文件時,如果是名稱是英文,那麼可以直接點上方綠色運行按鈕運行,但不支持中文名稱

但是可以選中程序右鍵點執行所選內容

運行後,右邊工作區會保存結果至名稱爲 a 的矩陣中,雙擊可以打開矩陣

下面命令窗口也會打印出執行的命令和結果

如果是循環程序,每次打印出結果肯定會延長運行時間,因此可以在命令行後加上分號,這樣就不會打印出結果了,如果想看結果,運行結束後可以在工作區找到相應矩陣查看

如果是要批量清楚工作區變量矩陣,可以在命令窗口輸入 clear

右下方命令歷史記錄窗口會記錄下當前運行的代碼,但還是建議及時保存文件

下面這個按鈕可以切換文件夾

當前文件夾又稱運行目錄,目錄下的自定義函數優先被調用,如果是調用不在運行目錄下的自定函數,會報錯提示未找到該函數,網上別人寫的程序直接拿來用會經常遇見這種問題。

除了自定義函數,如果是要導入函數工具箱,可以先將壓縮包解壓,再點擊主頁設置路徑,點添加幷包含子文件夾,Matlab 自帶的都是基本的運算函數,比如在運行優化算法時,缺少相應函數,可以通過這個方法導入

Matlab 腳本文件,可以簡單分爲兩種,一個是可以直接運行的 (下圖第二個),一個是不可直接運行,只能用於調用的 (下圖第一個)

第二個文件就是上面介紹過的 a=1,然後也可以多寫點代碼

第一個文件則使用 function 文件建立,具體的用法可以在我之前發佈的 Matlab 函數創建教程查看,這裏就簡單說下

自定義函數名稱爲 fun,其中的 fun 也是腳本文件名稱,兩者名稱必須一致,c 是輸入,b 是輸出,該函數實現的是將 c 值賦給 b,例如:

最後想說的也是衆多小白的雷區,看見程序就直接拿來用了,也不管別人的數據矩陣維度了,錯了就問爲什麼程序錯誤,矩陣超維肯定是不行的,就好比,你要拿一出沒有的東西

可以通過 size 函數返回矩陣的行數和列數,看下矩陣的維度,用法 [n,m]=size(x),length 這個函數則是返回矩陣行數和列數其中最大的一個,用法 n=length(x)

比如說這個熵權法程序

上面 n 和 m 返回的分別是 10 和 6,如果是用的 length,則只返回一個數 10

就是說在運行別人程序時,首先要看的就是初始的數據矩陣,然後再檢查下,後面程序如果沒有 size 或者 length 函數可以自行讀取輸入數據矩陣的維度時,循環程序部分循環次數是否直接設置的是數值,例如

如果 x 矩陣維度變了,依然執行下面這個循環,就會出現矩陣超維

還有種情況例如 a 矩陣 10 行 10 列,b 矩陣 4 行 4 列,直接來一個 a(1:2,1:3)=b,用 a 矩陣前兩行 3 列一共 6 個單元去等於 b 矩陣,矩陣維度不一致直接相等,也會報錯,小白們往往遇到的問題就是本文所提及的,語法好學,但是小錯誤不可避免。因此在學習別人程序時,一定要檢查下矩陣維度對不對。

還有個需要注意的就是矩陣的轉置,就是單引號

有些時候也會改變矩陣的維度

拉通運行如果不知道哪裏錯了,可以一行一行選中程序,右鍵運行,找到錯的地方看下是什麼原因

比如這幾行代碼運行報錯,但是不知道哪裏錯了

一行行選中代碼運行,終於發現 ps.mn 少了個 i

代碼缺胳膊少腿也是小白們經常犯的錯誤

如果是循環部分程序,比如說下面幾行代碼

先輸個 i=1,j=1

然後再選中運算部分,右鍵執行,可以多嘗試幾個 i 和 j,如果都沒問題,那麼這裏基本沒啥錯誤了

這篇推文講了小白們剛學 Matlab 會遇到的一些問題,並不是怎麼改還是錯的,細心一點就行

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/qALSEEFq5mr4RY2cZrDs3g