MATLAB入门级知识
? 要入坑MATLAB了。
? 老年人的記憶力傷不起,還是記下來方便以后查閱。
? 主要分為三部分:數據類型、可視化、程序設計。
?
-
數據類型
? MATLAB中的數據類型主要包括字符型(char)、整型(int8、int16、int32、int64、uint8、...、uint64)、浮點(single、double)、元胞型(cell)和結構體型(structure)。
? 一些特殊變量包括:
| ans | 默認的結果變量 |
| pi | 圓周率 |
| i或j | 虛數單位 |
| realmin、realmax | 最小、大可用實數 |
| inf或INF | 無窮大 |
| nan或NaN | 不定值,如0/0 |
? 上述數據類型的創建就不說了,數組的創建如下:
???
? 我們可以使用“雙冒號”生成等差向量(1:起始,1:步長,5:終止):
???
? 矩陣的創建:
| magic(N) | N階魔方矩陣(行、列、對角線相等的矩陣) |
| eye(m,n) | m*n的單位矩陣 |
| zeros(d1,d2,...) | d1*d2*...的全0數組 |
| ones(d1,d2,...) | d1*d2*...的全1數組 |
| rand(d1,d2,...) | d1*d2*...的(0,1)均勻分布隨機數組 |
| randn(d1,d2,...) | d1*d2*...的正態分布隨機數組 |
?
? 矩陣元素的引用通過”()“來進行:
???
? 矩陣的合并:
???
? 矩陣常用函數:
| det(x) | 計算方陣的行列式 |
| rank(x) | 計算矩陣的秩 |
| inv(x) | 計算矩陣的逆 |
| [v,d]=eig(x) | 計算矩陣的特征值、特征向量 |
| diag(x) | 產生矩陣的對角陣 |
| [q,r]=qr(x) | 計算矩陣的QR分解 |
| triu(x) | 產生矩陣的上三角矩陣,其余元素補0 |
| tril(x) | 產生矩陣的下三角矩陣,其余元素補0 |
? 字符串:
???
???
? 如何在字符串中包含單引號?
???
? 元胞:
??? 元胞用"{}"來創建,這個數據類型給我的感覺就是結構體,可以結構套結構:
???
? 邏輯運算包括:與&、或|、非~、異或xor
? 位運算包括:按位與bitand、按位或bitor、按位非bitcmp、按位異或bitxor
? 多項式:
??? 多項式求解:
????
??? 求多項式在給定的時對應的值:
???
??? 多項式擬合:
???
???
-
可視化
? 二維繪圖:
???
???
? 可以使用subplot(m,n,i)在同一個窗口中繪制多個圖片,其中m和n代表窗口的劃分,i代表第i個位置:
???
???
? 可以在同一個窗口中對圖片堆疊,多次繪制:
???
???
? 繪圖時可以指定顏色、點型、線型等:
| 黃色 | y | 實點 | . | 實線 | - |
| 紫紅 | m | 圓圈 | o | 點線 | : |
| 青色 | c | 叉型 | x | 點畫線 | -. |
| 紅色 | r | 十字 | + | 虛線 | -- |
| 綠色 | g | 星號 | * | ? | ? |
| 藍色 | b | 方塊 | s | ? | ? |
| 白色 | w | 鉆石 | d | ? | ? |
| 黑色 | k | 五角 | p | ? | ? |
???
???
? 可以通過“axis”指令設置坐標軸范圍:
???
???
? 可以使用“legend”指令給圖片添加圖例:
???
???
? 柱狀圖:
???
???
? 三維繪圖:
??? 繪制三維曲線:
???
???
? 繪制三維網線圖
???
???
?
-
程序設計
? 分支控制:
? ? if語句:
if xxxyyy elseif zzzttt elseqqq end? ? switch語句:
switch xxx case 1111 case 2222 ... otherwiseothers end? 循環控制:
? ? for循環:
for n=1:5... end? ? while循環:
while(x<=10)... end? 流程控制:
??? return 提前結束程序
??? keyboard 暫停程序,等待鍵盤輸入
??? input 用于接收用戶輸入,如r=input('str','s'),'str'是顯示在workspace中的提示信息,'s'代表輸入的是字符串,不需執行。
? ? pause 暫停程序,按任意鍵繼續
? 函數:
??? 每個.m文件中可以包含1個主函數和多個子函數,主函數在.m文件的第一行進行聲明。下面是函數的格式:
function output=function_name(input)...??? 可以在函數外使用“nargin”和“nargout”來獲取函數的輸入/輸出參數個數:
nargin('function_name') nargout('function_name')? 在函數內部可以省略上述代碼中括號內內容,如下:
function n=ext(x,y)if(nargin==1)plot(x,y)elseplot(x,y+1)end?
?
?
總結
以上是生活随笔為你收集整理的MATLAB入门级知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ECCV 2018 DaSiamRPN:
- 下一篇: ECCV 2018 DSLT:《Deep