2021/10/01 Matlab上課筆記

 2021/10/01 Matlab上課筆記 

 

 

心得: 

我發現MatLab的方便性和強大。 

MatLab的應用真的很廣,可以用在系統模擬,數值分析,資料圖像等。 

我認為它比C#和Unity還要廣。雖然Unity可以寫遊戲,這是MatLab做不到的。 

不過它是要付費,不像Unity,可以免費地用學生版,若要有額外的服務,則要花錢買專業版。 

 

當我要用vector時用中括弧即可。不像C#,要用System.Windows.Vector類別。 

(C#官方文件提到) 

當我要用matrix時用中括弧和分號即可。不像C#,要用System.Drawing.Drawing2D。 

當我要轉置矩陣時只要用'即可。 

當我要輸出內容時只要不打分號即可。 

 

而且重點是它的相容性很高。 

 

MatLab內建指令: 

1.help: 

help yourInstruction 

當我輸入help yourInstruction時它會告訴我yourInstruction這個指令的意思。 

這是C沒有的。 

 

2.ans: 

當表達式的結果沒被指派時,會存到ans中。 

 

變數命名方式: 

跟C和Python不太一樣。 

(1)由文字(包括英文字母),數字和底線組成 

(2)第一個字只能是文字 

不像C第一個字可以是字母和底線。 

(3)不可超過63個字。 

(4)case sensitive,大小寫不同 

(5)i和j表虛數中的sqrt(-1) 

(6)可以處理實數,虛數和複數 

不像C若要表示複數,要用Complex類別。 

 

圈: 

在C中,用大括弧包住內容。 

在MatLab中,用縮排包住內容並在結尾處加一行end。 

 

陣列: 

在MatLab中,索引是從1開始。 

不像大多數程式語言(如C/C++)是從0開始。 

 

符號: 

1.分號: 

(1)輸出(在行結尾): 

在C++裡,是用cout<<。 

在MatLab中,不要在那行最後面打分號即可。 

打分號就不輸出,真的很方便。 

 

(2)在矩陣中,表這個元素是這行的最後一個元素。 

 

如: 

輸入 

x=[1 2 3;4 5 6] 

輸出 

x= 

    1 2 3 

    4 5 6 

 

注意,要是我輸入的矩陣中,若每行的元素個數沒有都一樣,編譯器會報錯。 

 

如: 

輸入 

x=[1 2 3;4] 

編譯器報錯 

Error using vertcat 

Dimensions of arrays being concatenated are not consistent. 

 

2.百分比: 

(1)註解: 

在MatLab中,表註解。 

不像C表取餘數。 

 

變數宣告: 

在MatLab中,不用宣告型別,直接寫變數即可。 

像Python。 

不像C要宣告型別。 

 

函數: 

在C中,若要宣告一個函數,要寫  

型別 函數名稱。 

在MatLab中,因為不須宣告型別,所以要用function,也就是 

function 變數名稱。 

 

匿名函數: 

用@ 

語法 

FuncName=@(param)(content) 

當我寫X=FuncName(10)時,就會以10執行content並將結果回傳並存給X。 

 

物件: 

1.物件導向: 

繼承 

封裝 

多型 

 

2.宣告方式: 

設定放在開頭小括弧內。 

(1)物件: 若要宣告物件要用classdef關鍵字並在結尾處加end關鍵字。 

 

(2)方法:若要宣告方法要用methods關鍵字並在結尾處加end關鍵字。 

若要宣告為靜態方法,用methods(Static) 並在結尾處加end關鍵字。 

不像C++,在函數宣告前方加static關鍵字。 

 

(3)成員:若要宣告成員要用properties關鍵字並在結尾處加end關鍵字。 

若要宣告為私有成員,用 properties(SetAcess = private )並在結尾處加end關鍵字。 

不像C++,在前方加這一行private:。 

不像C#,在每個成員前加private。 

 

應用程式: 

Octave 

Octave蠻像MatLab,但octave 是免費的。 

Comments

Popular posts from this blog

diagonal matrix--diag

How to look at a keyword through code in MatLab? -- MatLab