一、常用對象操作:除了一般windows窗口的常用功能鍵外。
1、!dir 可以查看當前工作目錄的文件。 !dir& 可以在dos狀態下查看。
2、who 可以查看當前工作空間變量名, whos 可以查看變量名細節。
3、功能鍵:
功能鍵 快捷鍵 說明
方向上鍵 Ctrl+P 返回前一行輸入
方向下鍵 Ctrl+N 返回下一行輸入
方向左鍵 Ctrl+B 光標向后移一個字符
方向右鍵 Ctrl+F 光標向前移一個字符
Ctrl+方向右鍵 Ctrl+R 光標向右移一個字符
Ctrl+方向左鍵 Ctrl+L 光標向左移一個字符
home Ctrl+A 光標移到行首
End Ctrl+E 光標移到行尾
Esc Ctrl+U 清除一行
Del Ctrl+D 清除光標所在的字符
Backspace Ctrl+H 刪除光標前一個字符 Ctrl+K 刪除到行尾
Ctrl+C 中斷正在執行的命令
4、clc可以命令窗口顯示的內容,但並不清除工作空間。
二、函數及運算
1、運算符:
+:加, -:減, *:乘, /: 除, \:左除 ^: 冪,‘:復數的共軛轉置, ():制定運算順序。
2、常用函數表:
sin( ) 正弦(變量為弧度)
Cot( ) 余切(變量為弧度)
sind( ) 正弦(變量為度數)
Cotd( ) 余切(變量為度數)
asin( ) 反正弦(返回弧度)
acot( ) 反余切(返回弧度)
Asind( ) 反正弦(返回度數)
acotd( ) 反余切(返回度數)
cos( ) 余弦(變量為弧度)
exp( ) 指數
cosd( ) 余弦(變量為度數)
log( ) 對數
acos( ) 余正弦(返回弧度)
log10( ) 以10為底對數
acosd( ) 余正弦(返回度數)
sqrt( ) 開方
tan( ) 正切(變量為弧度)
realsqrt( ) 返回非負根
tand( ) 正切(變量為度數)
abs( ) 取絕對值
atan( ) 反正切(返回弧度)
angle( ) 返回復數的相位角
atand( ) 反正切(返回度數)
mod(x,y) 返回x/y的余數
sum( ) 向量元素求和
3、其余函數可以用help elfun和help specfun命令獲得。
4、常用常數的值:
pi 3.1415926…….
realmin 最小浮點數,2^-1022
i 虛數單位
realmax 最大浮點數,(2-eps)2^1022
j 虛數單位
Inf 無限值
eps 浮點相對經度=2^-52
NaN 空值
三、數組和矩陣:
1、構造數組的方法:增量法 linspace(first,last,num) first和last為起始和終止數,num為需要的數組元素個數。
2、構造矩陣的方法:可以直接用[ ]來輸入數組,也可以用以下提供的函數來生成矩陣。
ones( ) 創建一個所有元素都為1的矩陣,其中可以制定維數,1,2….個變量
zeros() 創建一個所有元素都為0的矩陣
eye() 創建對角元素為1,其他元素為0的矩陣
diag() 根據向量創建對角矩陣,即以向量的元素為對角元素
magic() 創建魔方矩陣
rand() 創建隨機矩陣,服從均勻分布
randn() 創建隨機矩陣,服從正態分布
randperm() 創建隨機行向量
horcat C=[A,B],水平聚合矩陣,還可以用cat(1,A,B)
vercat C=[A;B],垂直聚合矩陣, 還可以用cat(2,A,B)
repmat(M,v,h) 將矩陣M在垂直方向上聚合v次,在水平方向上聚合h次
blkdiag(A,B) 以A,和B為塊創建塊對角矩陣
length 返回矩陣最長維的的長度
ndims 返回維數
numel 返回矩陣元素個數
size 返回每一維的長度,[rows,cols]=size(A)
reshape 重塑矩陣,reshape(A,2,6),將A變為2×6的矩陣,按列排列。
rot90 旋轉矩陣90度,逆時針方向
fliplr 沿垂軸翻轉矩陣
flipud 沿水平軸翻轉矩陣
transpose 沿主對角線翻轉矩陣
ctranspose 轉置矩陣,也可用A’或A.’,這僅當矩陣為復數矩陣時才有區別
inv 矩陣的逆
det 矩陣的行列式值
trace 矩陣對角元素的和
norm 矩陣或矢量的范數,norm(a,1),norm(a,Inf)…….
normest 估計矩陣的最大范數矢量
chol 矩陣的cholesky分解
cholinc 不完全cholesky分解
lu LU分解
luinc 不完全LU分解
qr 正交分解
kron(A,B) A為m×n,B為p×q,則生成mp×nq的矩陣,A的每一個元素都會乘上B,並占據p×q大小的空間
rank 求出矩陣的刺
pinv 求偽逆矩陣
A^p 對A進行操作
A.^P 對A中的每一個元素進行操作
四、數值計算
1、線性方程組求解
(1)AX=B的解可以用X=A\B求。XA=B的解可以用X= A/B求。如果A是m×n的矩陣,當m=n時可以找到唯一解,m<n,不定解,解中至多有m個非零元素。如果m>n,超定系統,至少找到一組解。如果A是奇異的,且AX=B有解,可以用X=pinv(A)×B返回最小二乘解
(2)AX=b, A=L×U,[L,U]=lu(A), X=U\(L\b),即用LU分解求解。
(3)QR(正交)分解是將一矩陣表示為一正交矩陣和一上三角矩陣之積,A=Q×R[Q,R]=chol(A), X=Q\(U\b)
(4)cholesky分解類似。
2、特征值
D=eig(A)返回A的所有特征值組成的矩陣。[V,D]=eig(A),還返回特征向量矩陣。
3、A=U×S×UT,[U,S]=schur(A).其中S的對角線元素為A的特征值。
4、多項式Matlab里面的多項式是以向量來表示的,其具體操作函數如下:
conv 多項式的乘法
deconv 多項式的除法,【a,b】=deconv(s),返回商和余數
poly 求多項式的系數(由已知根求多項式的系數)
polyeig 求多項式的特征值
Polyfit(x,y,n) 多項式的曲線擬合,x,y為被擬合的向量,n為擬合多項式階數。
polyder 求多項式的一階導數,polyder(a,b)返回ab的導數
[a,b]=polyder(a,b)返回a/b的導數。
polyint 多項式的積分
polyval 求多項式的值
polyvalm 以矩陣為變量求多項式的值
residue 部分分式展開式
roots 求多項式的根(返回所有根組成的向量)
注:用ploy(A)求出矩陣的特征多項式,然后再求其根,即為矩陣的特征值。
5、插值常用的插值函數如下:
griddata 數據網格化合曲面擬合
Griddata3 三維數據網格化合超曲面擬合
interp1 一維插值(yi=interp1(x,y,xi,’method’)Method=nearest/linear/spline/pchip/cubic
Interp2 二維插值zi=interp1(x,y,z,xi,yi’method’),bilinear
Interp3 三維插值
interpft 用快速傅立葉變換進行一維插值,help fft。
mkpp 使用分段多項式
spline 三次樣條插值
pchip 分段hermit插值
6、函數最值的求解
fminbnd(‘f’,x1,x2,optiset(,))求f在 x1和x2之間的最小值。Optiset選項可以有‘Display’+‘iter’/’off’/’final’,分別表示顯示計算過程/不顯示/只顯示最后結果。fminsearch求多元函數的最小值。fzero(‘f’,x1)求一元函數的零點。X1為起始點。同樣可以用上面的選項。
五、圖像繪制:
1、基本繪圖函數
plot 繪制二維線性圖形和兩個坐標軸
plot3 繪制三維線性圖形和兩個坐標軸
fplot 在制定區間繪制某函數的圖像。fplot(‘f’,區域,線型,顏色)
loglog 繪制對數圖形及兩個坐標軸(兩個坐標都為對數坐標)semilogx 繪制半對數坐標圖形
semilogy 繪制半對數坐標圖形
2、線型: 顏色 線型
y 黃色 . 圓點線 v 向下箭頭
g 綠色 -. 組合 > 向右箭頭
b 藍色 + 點為加號形 < 向左箭頭
m 紅紫色 o 空心圓形 p 五角星形
c 藍紫色 * 星號 h 六角星形
w 白色 . 實心小點 hold on 添加圖形
r 紅色 x 叉號形狀 grid on 添加網格
k 黑色 s 方形 - 實線
d 菱形 -- 虛線 ^ 向上箭頭
3、可以用subplot(3,3,1)表示將繪圖區域分為三行三列,目前使用第一區域。此時如要畫不同的圖形在一個窗口里,需要hold on。
附錄1.1 管理用命令
函數名 功能描述 函數名 功能描述
addpath 增加一條搜索路徑 rmpath 刪除一條搜索路徑
demo 運行Matlab演示程序 type 列出.M文件
doc 裝入超文本文檔 version 顯示Matlab的版本號
help 啟動聯機幫助 what 列出當前目錄下的有關文件
lasterr 顯示最后一條信息 whatsnew 顯示Matlab的新特性
lookfor 搜索關鍵詞的幫助 which 造出函數與文件所在的目錄
path 設置或查詢Matlab路徑
附錄1.2管理變量與工作空間用命令
函數名 功能描述 函數名 功能描述
clear 刪除內存中的變量與函數 pack 整理工作空間內存
disp 顯示矩陣與文本 save 將工作空間中的變量存盤
length 查詢向量的維數 size 查詢矩陣的維數
load 從文件中裝入數據 who,whos 列出工作空間中的變量名
附錄1.3文件與操作系統處理命令
函數名 功能描述 函數名 功能描述
cd 改變當前工作目錄 edit 編輯.M文件
delete 刪除文件 matlabroot 獲得Matlab的安裝根目錄
diary 將Matlab運行命令存盤 tempdir 獲得系統的緩存目錄
dir 列出當前目錄的內容 tempname 獲得一個緩存(temp)文件
! 執行操作系統命令
附錄1.4窗口控制命令
函數名 功能描述 函數名 功能描述
echo 顯示文件中的Matlab中的命令 more 控制命令窗口的輸出頁面
format 設置輸出格式
附錄1.5啟動與退出命令
函數名 功能描述 函數名 功能描述
matlabrc 啟動主程序 quit 退出Matlab環境
startup Matlab自啟動程序
附錄2 運算符號與特殊字符附錄
2.1運算符號與特殊字符
函數名 功能描述 函數名 功能描述
+ 加 ... 續行標志
- 減 , 分行符(該行結果不顯示)
* 矩陣乘 ; 分行符(該行結果顯示)
.* 向量乘 % 注釋標志
^ 矩陣乘方 ! 操作系統命令提示符
.^ 向量乘方 矩陣轉置
kron 矩陣kron積 . 向量轉置
\ 矩陣左除 = 賦值運算
/ 矩陣右除 == 關系運算之相等
.\ 向量左除 ~= 關系運算之不等
./ 向量右除 < 關系運算之小於
: 向量生成或子陣提取 <= 關系運算之小於等於
() 下標運算或參數定義 > 關系運算之大於
[] 矩陣生成 >= 關系運算之大於等於
{} & 邏輯運算之與
. 結構字段獲取符 | 邏輯運算之或
. 點乘運算,常與其他運算符聯合使用(如.\) ~ 邏輯運算之非
xor 邏輯運算之異成
附錄2.2邏輯函數
函數名 功能描述 函數名 功能描述
all 測試向量中所用元素是否為真 is*(一類函數) 檢測向量狀態.其中*表示一個確定的函數(isinf)
any 測試向量中是否有真元素 *isa 檢測對象是否為某一個類的對象
exist 檢驗變量或文件是否定義 logical 將數字量轉化為邏輯量
find 查找非零元素的下標
附錄3 語言結構與調試
附錄3.1編程語言
函數名 功能描述 函數名 功能描述
builtin 執行Matlab內建的函數 global 定義全局變量
eval 執行Matlab語句構成的字符串 nargchk 函數輸入輸出參數個數檢驗
feval 執行字符串指定的文件 script Matlab語句及文件信息
function Matlab函數定義關鍵詞
附錄3.2控制流程
函數名 功能描述 函數名 功能描述
break 中斷循環執行的語句 if 條件轉移語句
case 與switch結合實現多路轉移 otherwise 多路轉移中的缺省執行部分
else 與if一起使用的轉移語句 return 返回調用函數
elseif 與if一起使用的轉移語句 switch 與case結合實現多路轉移
end 結束控制語句塊 warning 顯示警告信息
error 顯示錯誤信息 while 循環語句
for 循環語句
附錄3.3交互輸入
函數名 功能描述 函數名 功能描述
input 請求輸入 menu 菜單生成
keyboard 啟動鍵盤管理 pause 暫停執行
附錄3.4面向對象編程
函數名 功能描述 函數名 功能描述
class 生成對象 isa 判斷對象是否屬於某一類
double 轉換成雙精度型 superiorto 建立類的層次關系
inferiorto 建立類的層次關系 unit8 轉換成8字節的無符號整數
inline 建立一個內嵌對象
附錄3.5調試
函數名 功能描述 函數名 功能描述
dbclear 清除調試斷點 dbstatus 列出所有斷點情況
dbcont 調試繼續執行 dbstep 單步執行
dbdown 改變局部工作空間內存 dbstop 設置調試斷點
dbmex 啟動對Mex文件的調試 sbtype 列出帶命令行標號的.M文件
dbquit 退出調試模式 dbup 改變局部工作空間內容
dbstack 列出函數調用關系
附錄4 基本矩陣與矩陣處理
附錄4.1基本矩陣
函數名 功能描述 函數名 功能描述
eye 產生單位陣 rand 產生隨機分布矩陣
linspace 構造線性分布的向量 randn 產生正態分布矩陣
logspace 構造等對數分布的向量 zeros 產生零矩陣
ones 產生元素全部為1的矩陣 : 產生向量
附錄4.2特殊向量與常量
函數名 功能描述 函數名 功能描述
ans 缺省的計算結果變量 non 非數值常量常由0/0或Inf/Inf獲得
computer 運行Matlab的機器類型 nargin 函數中參數輸入個數
eps 精度容許誤差(無窮小) nargout 函數中輸出變量個數
flops 浮點運算計數 pi 圓周率
i 復數單元 realmax 最大浮點數值
inf 無窮大 realmin 最小浮點數值
inputname 輸入參數名 varargin 函數中輸入的可選參數
j 復數單元 varargout 函數中輸出的可選參數
附錄4.3時間與日期
函數名 功能描述 函數名 功能描述
calender 日歷 eomday 計算月末
clock 時鍾 etime 所用時間函數
cputime 所用的CPU時間 now 當前日期與時間
date 日期 tic 啟動秒表計時器
datenum 日期(數字串格式) toc 讀取秒表計時器
datestr 日期(字符串格式) weekday 星期函數
datevoc 日期(年月日分立格式)
附錄4.4矩陣處理
函數名 功能描述 函數名 功能描述
cat 向量連接 reshape 改變矩陣行列個數
diag 建立對角矩陣或獲取對角向量 rot90 將矩陣旋轉90度
fliplr 按左右方向翻轉矩陣元素 tril 取矩陣的下三角部分
flipud 按上下方向翻轉矩陣元素 triu 取矩陣的上三角部分
repmat 復制並排列矩陣函數
附錄5 特殊矩陣
函數名 功能描述 函數名 功能描述
compan 生成伴隨矩陣 invhilb 生成逆hilbert矩陣
gallery 生成一些小的測試矩陣 magic 生成magic矩陣
hadamard 生成hadamard矩陣 pascal 生成pascal矩陣
hankel 生成hankel矩陣 toeplitz 生成toeplitz矩陣
hilb 生成hilbert矩陣 wilkinson 生成wilkinson特征值測試矩陣
附錄6 數學函數
附錄6.1三角函數
函數名 功能描述 函數名 功能描述
sin/asin 正弦/反正弦函數 sec/asec 正割/反正割函數
sinh/asinh 雙曲正弦/反雙曲正弦函數 sech/asech 雙曲正割/反雙曲正割函數
cos/acos 余弦/反余弦函數 csc/acsc 余割/反余割函數
cosh/acosh 雙曲余弦/反雙曲余弦函數 csch/acsch 雙曲余割/反雙曲余割函數
tan/atan 正切/反正切函數 cot/acot 余切/反余切函數
tanh/atanh 雙曲正切/反雙曲正切函數 coth/acoth 雙曲余切/反雙曲余切函數
atan2 四個象限內反正切函數
附錄6.2指數函數
函數名 功能描述 函數名 功能描述
exp 指數函數 log10 常用對數函數
log 自然對數函數 sqrt 平方根函數
附錄6.3復數函數
函數名 功能描述 函數名 功能描述
abs 絕對值函數 imag 求虛部函數
angle 角相位函數 real 求實部函數
conj 共軛復數函數
附錄6.4數值處理
函數名 功能描述 函數名 功能描述
fix 沿零方向取整 round 舍入取整
floor 沿-∞方向取整 rem 求除法的余數
ceil 沿+∞方向取整 sign 符號函數
附錄6.5其他特殊數學函數
函數名 功能描述 函數名 功能描述
airy airy函數 erfcx 比例互補誤差函數
besselh bessel函數(hankel函數) erfinv 逆誤差函數
bessili 改進的第一類bessel函數 expint 指數積分函數
besselk 改進的第二類bessel函數 gamma gamma函數
besselj 第一類bessel函數 gammainc 非完全gamma函數
bessely 第二類bessel函數 gammaln gamma對數函數
beta beta函數 gcd 最大公約數
betainc 非完全的beta函數 lcm 最小公倍數
betaln beta對數函數 log2 分割浮點數
elipj Jacobi橢圓函數 legendre legendre伴隨函數
ellipke 完全橢圓積分 pow2 基2標量浮點數
erf 誤差函數 rat 有理逼近
erfc 互補誤差函數 rats 有理輸出