matlab常用功能简略总结.docx
- 文档编号:23926375
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:15
- 大小:21.38KB
matlab常用功能简略总结.docx
《matlab常用功能简略总结.docx》由会员分享,可在线阅读,更多相关《matlab常用功能简略总结.docx(15页珍藏版)》请在冰豆网上搜索。
matlab常用功能简略总结
第二章
Matlab保留常量(ans,pi,eps,flops,inf,NaN,nargin,nargout,realmin,realmax)
符号型:
sym(a)
符号型采用变精度函数vpa(A,n)
函数调用[a,b,c]=my_fun(d,e,f,c)
冒号表达a:
s:
b
子矩阵提取B=A(v1,v2)v1为行,v2为列
矩阵旋转D=rot90(A)
find(A>=5),%大于或等于5元素的下标(按列数)
all(A>=5)%某列元素全大于或等于5时,相应元素为1,否则为0
any(A>=5)%某列元素中含有大于或等于5时,相应元素为1,否则为0
化简[s1,how]=simple(s)
collect()合并同类项
expand()展开多项式
factor()因式分解
numden()提取多项式的分子和分母
sincos()三角函数的化简
变量替换f1=subs(f,{a,b,c,d,t},{0.5*pi,pi,0.25*pi,0.125*pi,4})
数论:
floor(A)%向-inf方向取整
ceil(A)%向+inf方向取整
round(A)%取最近的整数
fix(A)%向0的方向取整
[n,d]=rat(A)%将元素变换成最小有理数,n,d分别为分子、分母矩阵
[gcd(m,n),lcm(m,n)]%求m,n的最大公约数、最小公倍数
factor(lcm(n,m))%对lcm(n,m)进行质因数分解
isprime(A)%若向量A中某个整数值为质数,则相应位置为1,其他为零
rem(A,C)%A中元素对C中元素求模得出的余数
循环
for结构
while结构
If-else转移结构
Switch-case开关结构
Try-catch试探结构
采用M-script(M-脚本文件)文件
求取阶乘的函数factorial(),其核心算法为prod(1:
n)
conv()可以计算两个多项式的积
poly2sym(D)将D表达为多项式
f=inline(‘sin(x.^2+y.^2)’,’x’,’y’)
图形绘制
Plot(t1,y1,选项,t2,y2,选项,......)如plot(x,y,'r-.pentagram')
set()函数设置对象的属性
get()函数获得对象的某个属性
极坐标polar(theta,rho)
subplot(2,2,1)分割窗口
隐函数绘制ezplot('x^2*sin(x+y^2)+y^2*exp(x+y)+5*cos(x^2+y)',[-1010])
三维曲线绘制
参数方程
三维曲面绘制
mesh()绘制网格图,surf()绘制表面图
等高线绘制contour(),contour3()
[x,y]=meshgrid(0:
31)绘制网格图
View(a,b)调节视角
第三章
微分问题
L=limit(fun,x,x0)和多元函数极限。
y=diff(fun,x,n)求导
f=diff(diff(f,x,m),y,n)多元函数求偏导。
J=jacobian(Y,X),jacobi矩阵。
积分问题的解析解
I=int(f,x,a,b)。
函数展开
泰勒展开taylor(f,x,5,a)
多元函数泰勒展开F=maple('mtaylor',f,'[x,y]',8)原点展开
级数求和symsum(2^k,0,200)
数值微分:
中心差分法
插值/拟合
d=polyfit(x-a,y,length(xd)-1)
梯度计算
[fx,fy]=gradient(z)。
数值积分
梯形法S=trapz(x,y)
Simpson法求定积分y=quad(Fun,a,b,精度)y=quadl(Fun,a,b,精度)
《描述被积函数》M文件;INLINE函数;匿名函数
双重积分的数值解
y=dblquad(Fun,xm,xM,ym,yM,精度)先x后y
任意区域的y=quad2dggen(f,-1/2,1,fl,fh,eps)
三重积分的数值解法
I=triplequad(Fun,xm,xM,ym,yM,zm,zM,精度,@quadl)
第一类曲线积分
第二类曲线积分
第一类曲面积分
第二类曲面积分
第四章
数值矩阵
输入A=zeros(m,n),B=ones(m,n),C=eye(m,n),A=rand(n,m)
A=diag(V),已知向量生成对角矩阵
V=diag(A),已知矩阵提取对角元素列向量
A=diag(V,k),生成主对角线上第k条对角线为V的矩阵
B=sym(A),数值矩阵A转换成符号矩阵
矩阵性质
d=det(A),求行列式
t=trace(A),矩阵的迹
矩阵范数,N=norm(A,选项)%选项可为1,2,inf等
特征多项式,C=poly(A)
符号多项式与数值多项式的转换
f=poly2sym(P)
P=sym2poly(f)
C=inv(A)矩阵的逆矩阵
相似矩阵
求正交矩阵Q=orth(A)
相似变换C=Q'*A*Q
求迹trace(A)
求秩rank(A),
求特征值eig(A)
求正交基矩阵
直接求解-矩阵除法x=A\b;判定求解S=NULL(A)求A的化零矩阵
LU分解;[l,u,p]=lu(A)。
QR分解;[Q,R]=qr(A)。
Cholesky(乔里斯基)分解;D=chol(A)。
三个变换:
上/下三角triu(A,1)tril(A,-1),对角变换diag(A)
迭带解法
Jacobi迭代法,A=D-L-U,D=diag[a11,a22,…,ann],-L、-U分别为A的严格下、上三角部分
x(k+1)=Bx(k)+f
其中:
B=D-1(L+U)=I-D-1A,f=D-1b.
Gauss-Seidel迭代法
x(k+1)=Gx(k)+f
其中:
G=(D-L)-1U,f=(D-L)-1b
SOR迭代法
X(k+1)=(D-wL)-1((1-w)D+wU)x(k)+w(D-wL)-1b
其中:
w最佳值在[1,2)之间,不易计算得到,因此w通常有经验给出。
两步迭带法
符号解法:
linsolve(A,b)等同于X=sym(A)\sym(b).
稀疏矩阵
稀疏矩阵的建立S=sparse(i,j,s,m,n)
A=spdiags(B,d,m,n)生成一mxn阶的稀疏矩阵,使得B的列放在由d指定的位置
spconvert(dd)对于无规律的稀疏矩阵,可使用此命令由外部数据转化为稀疏矩阵
矩阵的特征值问题
[V,D]=eig(A),求解特征值和特征向量
矩阵的广义特征向量问题
[V,D]=eig(A,B)
第五章
Roots:
多项式的零点可用命令roots
r=roots(p)
Poly:
由零点可得原始多项式的各系数,但可能相差一个常数倍
poly(r)
polyval:
可用命令polyval计算多项式的值
yi=polyval(c,xi)
polyfit:
给定n+1个点将可以唯一确定一个n阶多项式。
利用命令polyfit可容易确定多项式的系数
a=polyfit(x,y,length(x)-1)
求多项式积分
py=poly_itg(p)
多项式微分
b=polyder(c)
c为多项式y的系数,b是微分后的系数
多项式的乘积
c=conv(a,b)
多项式的除法
[q,r]=deconv(a,b)
Lagrange插值,公式
Hermite插值,公式
分段插值
所谓分段插值就是通过插值点用折线或低次曲线连接起来逼近原曲线
yi=interp1(x,Y,xi,method)%用指定的算法计算插值
二维数据内插值
ZI=interp2(X,Y,Z,XI,YI,method)
二维一般分布数据的插值
z=griddata(x0,y0,z0,x,y,’method’)
interp3()、interpn()调用格式同interp2()函数一致;
griddata3()、griddatan()调用格式同griddata()函数一致。
样条插值MATLAB表示
S=csapi(x,y)定义一个三次样条函数类
fnplt(S)绘制出插值结果
yp=fnval(S,xp)得出的yp是xp上各点的插值结果
S=csapi({x1,x2,…,xn},z)处理多个自变量的网格数据三次样条插值类
三次样条数据插值
yy=spline(x,y,xx)
B样条函数
S=spapi(k,x,y)其中k为阶次
基于样条插值的数值微积分运算
Sd=fnder(S,k)求取S的k阶导数
Sd=fnder(S,[k1,…,kn])多变量函数的偏导数
基于样条插值的数值积分运算
f=fnint(S)
多项式拟合MATLAB命令
p=polyfit(x,y,n)
函数线性组合的曲线拟合方法
Ac=y
最小二乘c=A\y求出待定系数
最小二乘拟合y=f(a,x)a为待定席数
[a,jm]=lsqcurvefit(Fun,a0,x,y)
第六章
微分方程问题的解法
微分方程的解析解方法
y=dsolve(f1,f2,…,fm,’x’)fi即可以描述微分方程,又可描述初始条件或边界条件;
处理系数[n,d]=rat(double(vpa(-445/26*cos
(1)-51/13*sin
(1)-69/2)))];
微分方程问题的数值解法
X’(t)=f(x,x(t))
EULER法有t0,x(t0),步长h,则x(t0+h)=x(t0)+hf(x0,x(t0));带入数据点即得曲线;
改进的欧拉法解微分方程
y’=f(x,y)y(x0)=y0;
Yk+1=yk+hf(xk,yk)
yk+1=yk+(1/2)h(f(xk,yk)+f(xk,Yk+1))
四阶定步长Runge-Kutta算法
k1=hf(tk,xk)
k2=hf(tk+(h/2),xk+(k1/2))
k3=hf(tk+(h/2),xk+(k2/2))
k4=hf(tk+h,xk+k3)
xk=xk+(1/6)(k1+2k2+2k3+k4)
MATLAB中四阶定步长Runge-Kutta算法
[t,x]=ode45(Fun,[t0,tf],x0,options,p1,p2,…)
单个高阶常微分方程处理方法
x1=y;x2=y’;x3=y
(2)等等化为微分方程组
高阶常微分方程组的变换方法
对前一个方程做微分方程组处理
在对后一个方程做微分方程组处理
特殊微分方程的数值解
刚性微分方程
[t,x]=ode15s(Fun,[t0,tf],x0,options,p1,p2,…)
隐式微分方程求解(用矩阵表示)
functiondx=c7ximp(t,x)
A=[sin(x
(1))cos(x
(2));-cos(x
(2))sin(x
(1))];
B=[1-x
(1);-x
(2)];dx=inv(A)*B;
[t,x]=ode45('c7ximp',[0,10],[0;0],opt);plot(t,x)
延迟微分方程求解
tx=dde23('c7exdde',lags,zeros(3,1),[0,10]);
边值问题的计算机求解
边值问题的打靶算法
非线性方程边值问题的打靶算法:
用Newton迭代法处理
线性微分方程的有限差分算法
偏微分方程组求解
在MATLAB下键入pdetool
第七章
代数方程的图解法
绘制曲线相交
求多项式方程的根
[x,…]=fsolve(eqn1,eqn2,…,eqnn)普通方程多变量
一般非线性方程数值解
[x,fval,exitflag,output]=fzero(…)数值方程
一般非线性方程组数值解
[x,f,flag,out]=fsolve(Fun,x0,opt,p1,p2,…)
无约束最优化问题求解
解析解法
单变量函数求最小值的
x=fminbnd(fun,x1,x2,options)有区间
x=fminunc(f,[0;.0],ff)无区间,全局
利用梯度求解最优化问题
用函数写出原始函数和梯度函数
ff.GradObj='on';x=fminunc('c6fun3',[0;0],ff)
非线性最小二乘
x=lsqnonlin(fun,x0,lb,ub,options)
lb、ub定义x的下界和上界,options为指定优化参数,若x没有界,则lb=[],ub=[]
fun函数由M文件编辑
约束条件与可行解区域
可用图解法直接得出问题的最优解
线性规划问题
[x,f_opt,key,c]=linprog(f,A,B,Ae,Be,xm,[],[],ff)
A,B表示线形不等式AE,BE表示线形等式,XM为最小值。
二次型规划的求解
[x,f_opt]=quadprog(H,f,A,B,Aeq,Beq,LB,[],[],OPT)
化为二次型(H)和线形项(F)的和
参数与线性规划类似
一般非线性规划问题的求解
[x,f_opt,c,d]=fmincon(FUN,x0,A,B,Aeq,Beq,xm,xM,CF,ff);
FUN是原函数,CF是非线形约束条件[C,CEQ]C是非线形不等式条件,CEQ是非线形等式条件。
约束线性最小二乘
x=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options)
整数规划问题的计算机求解
一般非线性整数规划问题与求解
0-1规划问题求解
x=bintprog(f,A,B,[],[])
极小化极大(Minmax)问题
x=fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
第八章
通用函数计算概率密度函数值
P=pdf(‘name’,K,A,B,C)
返回在X=K处、参数为A、B、C的概率密度值,对于不同的分布,参数个数是不同;name为分布函数名
随机变量的累积概率值(分布函数值)
cdf(‘name’,K,A,B,C)
返回以name为分布、随机变量X≤K的概率之和的累积概率值,name为分布函数名.
随机变量的逆累积分布函数
icdf(‘name’,F,A,B,C)
返回分布为name,参数为a1,a2,a3,累积概率值为F的临界值,这里name与前面相同。
常见分布的概率密度函数与分布函数
Poisson分布
poisspdf(x,lam1(i))
正态分布
normpdf(x,mu1(i),sig1(i))
P分布
gampdf(x,a1(i),lam1(i))
卡方分布
chi2pdf(x,k1(i);)
T分布
tpdf(x,k1(i))
Rayleigh分布
raylpdf(x,b1(i))
F分布
fpdf(x,p1(i),q1(i))
概率问题的求解
随机数与伪随机数
p=raylrnd(1,30000,1);
生成3000x1的RAYLEIGH分布的随机数。
统计量分析
期望,方差
0.5,1.5(mean=均值,var=标准差,std=方差)
p=normrnd(0.5,1.5,30000,1);[mean(p),var(p),std(p)]
[m,s]=raylstat(0.45)求均值和方差;
随机变量的矩
原点矩sum(p.^r)/length(p)
中心矩moment(p,r)
多变量随机数的协方差分析
cov(p)每列代表一个样本值。
多变量正态分布的联合概率
密度即分布函数
p=mvnpdf(xy,mu1,Sigma2);
Sigma2为协方差矩阵
参数估计与区间估计
点估计,区间估计
由极大拟然法估计出该分布的均值、方差及其置信区间。
gamfit(),raylfit(),poissfit(),unifit()
多元线性回归与区间估计
a1=inv(X'*X)*X'*y;a1'z最小二乘法
[a,aint]=regress(y,X,0.02);线形回归regress
非线性函数的最小二乘参数
估计与区间估计
统计假设检验
[H,p,ci]=ztest(x,0.5,0.015,0.05)
当H=0时表示不拒绝H0假设,否则表示拒绝该假设
正态分布假设检验
Jtest;lilietest
其它分布的Kolmogorov-Smirnov检验
[H0,p]=kstest(r,[rgamcdf(r,alam
(1),alam
(2))],0.05)
方差分析及计算机求解
单因子方差分析
若p值接近于0,则原假设受到怀疑,说明至少有一列均值与其余列均值有明显不同。
[p,tbl,stats]=anova1(A)
双因子方差分析
[p,tbl]=anova2(A',3)
3为每列每组的元素数目
多因子方差分析
Maova1()
统计作图
table=tabulate(X)
h=cdfplot(X)
h=lsline
h=normplot(X)
h=weibplot(X)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 常用 功能 简略 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)