MATLAB函數總結——數值運算和符號運算


系統命令:
clear 后可加變量名,也可以加‘-expect c,a’除了a,c,clear all會清除全部變量,函數,mex文件
cd 切換文件夾

who 查看當前變量名稱; whos 查看當前變量的詳細信息
clc 清除命令行窗口
clf 清除當前的figure
close 關閉當前的figure
close all 關閉所有的figure
exit或者quit 退出

關於save函數:
save filename 把當前工作空間的所有變量存到filename.mat二進制文件中,這個文件保存在當前文件夾下
save filename x y z 指定變量名
save filename u v w -append 往進加
save filename u v w -ascii -double 不是二進制了,改成ascii碼,而且是16位,但盡量還是用二進制文件,因為ascii可能出錯
save('C:\\Users\\hp\\Desktop\\美賽&&MATLAB\\MATLAB程序\\file1.mat','A','B') 保存指定變量在指定位置

load函數:
load filename save是存,load是讀,把filename中的變量都讀到工作空間中
load filename x y z 指定變量名
load('C:\\Users\\hp\\Desktop\\美賽&&MATLAB\\MATLAB程序\\file1.mat','A','B') 加載指定位置的文件中的指定變量



幾個特殊變量:
ans 默認變量名
pi π
inf 無窮大
eps 浮點數精度,也就是系統運行時所確定的極小值(=2.2204e-16)
NaN或nan 不定量,如0/0,inf/inf
i或j 虛數,i=j=sqrt(-1)



部分常用函數:
abs 絕對值
sqrt 平方根
exp 指數運算
sin 正弦
cos 余弦
asin 反正弦
acos 反余弦
tan 正切
atan 反正切
log 自然對數
log10 常用對數
lcm 最小公倍數
gcd 最大公約數
imag 復數虛部
real 復數實部
conj 復數共軛


A\B=inv(A)*B
/ 右除 eg: A/B=B*inv(A)
A' A的轉置
det 計算矩陣的行列式
inv 求逆
rank 求矩陣的秩
eig 求特征值(以向量形式存放)
orth 正交化
poly 求特征多項式
lu 由高斯消元法求得的系數矩陣
qr 正交三角矩陣分解

多項式:
poly2sym

    1. 返回符號多項式的系數,依次輸出由高階到0階的系數

    2.把系數數組轉換為符號多項式

      poly2sym([3 5 4],'x');

      ans =
      3*x^2+5*x+4
+ 加
conv 乘
deconv 除
polyder 微分(即求導)
roots 求根
polyval(p,1) 把x1帶入到多項式p中
polyvalm (p,G) x等於矩陣G中各個位置的值,所得結果也是一個與G大小一樣且位置一樣的矩陣

稀疏矩陣:
sparse 把一個完全矩陣轉化為只記錄不為零的點(包括位置和值)
full 把一個稀疏矩陣變成完全矩陣

數組:
x=0:10 x=[0 1 2 3 4 5 6 7 8 9 10]
x=0:2:10 x=[0 2 4 6 8 10]
x=linspace(0,2,5) x=[0 0.5000 1.0000 1.5000 2.0000] 按照最后一個參數減一等分

多維矩陣:
reshape 把一個空間形式轉換為另外一種(按照原有的排列方式)
size 得到各維的長度
ndims 得到維數,相當於length(size(x))
cat 按照指定的維合成一個新的數組
permute 交換維
ipermute permute的逆,即在經歷過給定參數,通過permute變化成這個
shiftdim 循環輪轉移動維數,比如現在是1*2*3的三維數組,變換后為2*3*1的三維數組
squeeze 去掉奇異維,即維的長度為一的維



符號變量:(如果沒有指定自變量,MATLAB會把距離x最近的字母作為自變量,除了i和j,默認為x)
sym 賦予符號變量(eg:f=sym(a*x^2+b*x+c) df=diff(f) (微分)結果:df=2*a*x+b nf=int(f) (積分) 結果:nf=1/3*a*x^3+1/2*b*x^2+c*x)
syms 賦自己
findsym 找符號表達式的符號變量,finfsym(X)返回符號表達式X中所有的變量,findsym(X,n)返回符號表達式X中離x最近的n個變量

極限:
limit(f,x,a) 表示x趨於a時f表達式求極限,當a=0時,可以寫成limit(f)
limit(f,x,a,'left') 左極限
limit(f,x,a,'right') 右極限

微分(可求偏導):
diff(f) 對預設獨立變量的一階微分
diff(f,t) 對獨立變量t的一階微分
diff(f,n) 對預設變量的n階微分
diff(f,t,n) 對獨立變量t的n階微分

積分:
int(f) 對預設獨立變量的積分值
int(f,t) 對獨立變量t的積分值
int(f,'t') 對獨立變數t的積分值
int(f,a,b) 對預設獨立變量在區間[a,b]上的的積分值,a,b為數值
int(f,t,a,b) 對獨立變量t在區間[a,b]上的的積分值,a,b為數值
int(f,'m','n') 對預設獨立變量在區間[m,n]上的的積分值,m,n為符號

級數:
symsum(s,v,a,b) s: 通項 v:自變量 a,b:區間[a,b]
toylor(F,v,n) 求F對自變量v的泰勒級數展開至n階

代數方程:
solve(f) 解符號方程式f ps:如果f就是一個式子,即函數的形式,它會給出通解;如果f中有等號,即一個方程,會直接給出解
solve(f,a) 指定求解的變量是a
solve(f1,f2,……,fn) 求解方程組,返回一個數組

常微分方程:
desolve('equation','condition') 求解常微分方程,equation代表常微分方程式,condition代表初始條件(可以是多個,用“,”隔開),若沒有初始條件,則給出通解

常用符號函數:
運算函數:
symadd 符號加法
symsub 符號減法
symmul 符號乘法
symdiv 符號除法
sympow 符號冪次運算
numden 從有理數形式轉換為分數形式
numeric 以數值形式表示
compose(f(x),g(x)) 將f(x)和g(x)復合成f(g(x))形式
finverse 求反函數
sym2poly 提取多項式系數並以向量形式展示
poly2sym 將多項式系數向量轉化為符號多項式形式

化簡函數(simple!!!):
collect 相同冪次合並
expand 將表達式展開(因式分解的逆運算)
factor 因式分解
simplify 利用代數上的函數規則對表達式進行化簡
simple 盡可能化簡,以最少的字表達出來
[r,how]=simple(s) 化簡s,r是符號變量,how是用了哪種方法

符號與數值的格式轉換:sym(pression,'參數')
參數為f:返回浮點值
參數為r:返回有理數(默認)
參數為e:返回帶有機器浮點誤差的有理值
參數為d:返回十進制值

設定變量類型:
x=sym('x','real') 設定x類型為實數
x=sym('x','unreal') 取消設定
sym x y real 同時指定多個變量為實數

表達式替換:
subs(s) 用賦值表達式中給定的值替換符號表達式s中的所有變量(賦初始值)
subs(s,new) 用new替換s中所有的自由變量
subs(s,old,new) 用new替換old

任意精度計算:
digits(n) 指定有效位數為n位
vpa(S,n) 將S表示為n位有效數字的形式,n缺省時,以默認顯示

符號積分變換:
傅里葉變換:
F=fourier(f) 求f的傅里葉變換,默認是自變量為x,返回結果默認為w的函數,即F(w),若f自變量為w,則返回t的函數
F=fourier(f,v) w->v
F=fourier(f,u,v) x->u; w->v
傅里葉反變換:ifourier

拉普拉斯變換:
L=laplace(F) 求F的拉普拉斯變換,默認是自變量為t,返回結果默認為s的函數,即L(s),若F自變量為s,則返回t的函數
L=laplace(F,t) s->t
L=laplace(F,w,z) s->z; t->w
拉普拉斯反變換:ilaplace

Z變換:
F=ztrans(f) 求f的Z變換,默認是自變量為n,返回結果默認為z的函數,即F(z)
F=ztrans(f,w) F(w)
F=ztrans(f,k,w) 自變量為k
反Z變換:iztrans


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM