matlab常用函数——数学函数
六、基本數學函數
1)基本運算符
+:加法運算符
-:減法運算符?
*:矩陣乘法
.*:數組乘法
/:斜杠或者矩陣右除?? B/A等于公式B*inv(A)
./:數組右除??? A./B等于A(i,j)/B(i,j)
\:反斜杠或者矩陣左除??? A\B等于inv(A)*B
.\:數組左除???? A.\B等于B(i,j)/A(i,j)
^:矩陣冪計算
.^:數組冪計算??? A.^B等于A(i,j)的B(i,j)次冪
’:矩陣轉置
[]:表示空矩陣,A(m,:)刪除A中的一行,A(:,n)刪除A中的一列
{}:元胞組賦值
關系操作符:< <= > >= == ~ =
邏輯操作符 : 邏輯:&&? ||? 數組:&? |??~
?
2)數據操作函數
sort :數組元素按升序或降序排列? B=sort(A) B=sort(A,dim) B=sort(...,mode)[B,IX]=sort(A,...)
sortrows :把矩陣中每行按照升序排列???B=sortrows(A) B=sortrows(A,column)?
sum :求數列元素的和?? B=sum(A) A是向量,向量求和,A是矩陣就沒列求和 B=sum(A,dim)
?
3)統計分析函數
brush:交互式標記、刪除、修改以及保存圖片中的觀測量位?? data brush
corrcoef :計算相關性系數? R=corrcoef(X)
cov :返回協方差矩陣??cov(x)
max :求數組中的最大元素???? C=max(A) C=max(A,B) C=max(A,[],dim)
mean :求數組的平均數或者均值??M=mean(A) M=mean(A,dim)
median :返回數組的中間值??M=median(A) M=median(A,dim)
mode :求數組中出現頻率最多的值??? M=mode(X) M=mode(X, dim)
[M,F]=mode(X, ...)
std :計算標準差 s=std(X)
var :計算方差??V=var(X)?
?
4)三角函數
acos :以弧度的形式返回反余弦值
實例:
?
?x=-1:.05:1;
plot(x,acos(x));grid on
acosd :以角度的形式返回反余弦值
acosh :以弧度形式返回反雙曲余弦值
acot :以弧度的形式返回反余切值
acotd :以角度的形式返回反余切值
acoth :以弧度的形式返回反雙曲余切值
acsc :以弧度的形式返回反余割值
acscd :以角度的形式返回反正割值
acsch :以弧度的形式反雙曲余割值
asec :以弧度的形式返回反正割值
asecd :以角度的形式返回反正割值
asech :以弧度的形式返回反雙曲正割值
asin :以弧度的形式返回反正弦值
asind :以角度形式返回反正弦值
asinh :以弧度的形式返回反雙曲正弦值
atan :以弧度的形式返回反正切值
atand :以角度的形式返回反正切值
atanh :以弧度的形式返回反雙曲正切值
cos :以弧度的形式返回輸入的余弦值
cosd :以角度的形式返回輸入的余弦值
cosh :以弧度的形式返回輸入的雙曲余弦值
cot :以弧度的形式返回輸入的余切
cotd :以角度的形式返回輸入的余切值
coth :以弧度的形式返回輸入的雙曲余切值
csc :以弧度的形式返回輸入的余割值
cscd :以角度形式返回輸入的余割值
csch :以弧度的形式返回雙曲余割值
sec :以弧度的形式返回輸入的正割值
secd :以角度的形式返回輸入的正割值
sech :以弧度的形式返回雙曲正割值
sin :以弧度的形式返回輸入的正弦
sind :以角度的形式返回輸入的正弦值
sinh :以弧度的形式返回輸入的雙曲正弦值
tan :以弧度的形式返回輸入的正切值
tand :以角度的形式返回輸入的正切值
tanh :以弧度的形式返回雙曲正切
?
5)指數函數
exp :計算指數
log :計算自然對數
log10 :計算平凡對數(以10為底)
log2 :計算以2為底數的對
pow2 :計算以2為底的冪
nthroot:計算實數值的實n階方根。y=nthroot(X,n)
sqrt :計算平方根
abs :計算絕對值和復數模值
?
6)除法函數
ceil :向正無窮方向舍入
fix :向零方向舍入
floor :向負無窮方向舍入
idivide :舍入操作?? C=idivide(A,B, opt)
mod :計算相除后的模值
?
7)排列函數
factorial:階乘---factorial(N),N!
perms:元素所有可能的全排列
?
七、高級數學函數
1)微分方程解函數
decic :計算和ode15i(ode常微分方程)相容的初始條件
[y0mod,yp0mod]=decic(odefun,t0,y0,fixed_y0,yp0,fixed_yp0)
deval :計算微分方程的解?????sxint=deval(sol,xint) ??sol是求解器返回的結構體,(ode45, ode23, dde23??xint是點或向量,函數求解的是該點上的值。
deval :計算微分方程的解?????sxint=deval(sol,xint)
?
2)極值函數
fminbnd :在指定區間上求解單變量函數的最小值x=fminbnd(fun,x1,x2)x=fminbnd(fun,x1,x2,options)?? 結構體options用于指定優化參數
[x,fval]=fminbnd(...)???? [x,fval,exitflag]=fminbnd(...)
[x,fval,exitflag,output]=fminbnd(...)
fminsearch :利用derivative-free算法求無約束多變量函數的最小值
x=fminsearch(fun,x0)x=fminsearch(fun,x0,options)
[x,fval,exitflag]=fminsearch(...)
fzero:求單變量連續函數的零值點 x=fzero(fun,x0) x=fzero(fun,x0,options)
isqnonneg :求解非負最小二乘法約束問題????
x=lsqnonneg(C,d)返回一個向量x,滿足x >= 0時(C*x-d)的范數最小。
x=lsqnonneg(C,d,x0) x=lsqnonneg(C,d,x0,options)?
?
3)數值積分函數
dblquad :計算矩形區域的二重定積分???
q=dblquad(fun,xmin,xmax,ymin,ymax)
q=dblquad(fun,xmin,xmax,ymin,ymax,tol)q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method)
quad :求基于變步長Simpson法的函數定積分數值解? q=quad(fun,a,b)
實例:
?
F=@(x)1./(x.^3-2*x-5);
Q=quad(F,0,2)
?
quad2d :在平面區域求二重積分的數值解????q=quad2d(fun,a,b,c,d)
實例:Q=quad2d(@(x,y)y.*sin(x)+x.*cos(y),pi,2*pi,0,pi)
?
4)微分積分函數
dblquad :計算矩形區域的二重定積分 q=dblquad(fun,xmin,xmax,ymin,ymax)
cumtrapz :累積梯形數值積分? Z=cumtrapz(Y)Z=cumtrapz(X,Y) 對于多維數組從第一維開始計算??Z=cumtrapz(X,Y,dim)
diff :差分與微分近似??Y=diff(X) Y=diff(X,n) Y=diff(X,n,dim)??
gradient :計算函數數值梯度?? FX=gradient(F) [FX,FY]=gradient(F)
實例:繪制函數z=exp(-x.^2-y.^2)的梯度圖形。
?
?v=-2:0.2:2;
[x,y]=meshgrid(v);
z=exp(-x.^2-y.^2);
[px,py]=gradient(z,0.2,0.2);
contour(v,v,z)
hold on
quiver(v,v,px,py)
trapz :梯形數值積分? Z=trapz(Y) Z=trapz(X,Y) Z=trapz(...,dim)
?
5)賦值函數
biltin:重載方法中執行MATLAB內部自帶的函數?? builtin(...) 函數和 feval(...)函數相同?
evalc :計算表達式值?? T=evalc(S):同函數eval(S)用法相同
feval :計算函數值??? [y1, y2, ...]=feval(fhandle, x1, ..., xn)
總結
以上是生活随笔為你收集整理的matlab常用函数——数学函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django补充
- 下一篇: matlab常用函数——方程函数