matlab实用函数汇总

本文主要是一些实用函数,基础函数很少涉及,仅仅给出用法,也希望读者实际操作熟悉函数。
一、解方程组及矩阵变换
1.tril(A,n),triu(A,n)
求矩阵的上、下三角矩阵,A为原矩阵,n为主对角线平移量,默认为0,n>0向主对角线右上方平移
2.[L,U]=lu(A)
将矩阵A分解的上三角矩阵保存在U当中,将一个“心理学上的”下三角矩阵(例如一个下三角矩阵和置换矩阵的乘积)保存在L中,满足A=L*U,注意A不必须是方阵。
[L,U,P]=lu(A)
P为置换阵,PA=LU
[L,U,P,Q]=lu(A)
PQ为置换阵,PAQ=LU
3.U=chol(A),L=chol(A,‘lower’)
第一个返回一个上三角矩阵U使得U’U=A,第二个返回的是一个下三角矩阵使得LL’=A
4.pcg:共轭梯度法求解线性方程组
x=pcg(A,B)
x=pcg(AFUN,B)
x=pcg(A,B,tol)
x=pcg(A,B,tol,MAXIT)
x=pcg(A,B,tol,MAXIT,M)
x为解向量,A为系数矩阵,必须是稀疏矩阵的存储格式,tol是误差限,一般就是1.0e-6,MAXIT为最大迭代步数,默认值为min(n,20),M用于预处理即用共轭梯度法求解inv(M)Ax=inv(M)b
5.bicg:双共轭梯度法,对求解方程组矩阵无正定性要求,函数使用同pcg
6.bicgstab:稳定双共轭梯度法求解线性方程组,同样无正定性要求,调用格式同上
7.求矩阵特征值和特征向量
[x,y]=eig(a) diag(y)为特征值,第几个特征值对应x中第几列的向量,也就是特征向量
8.dsolve、ode45函数:解常微分方程,直接挂链接了
传送门
9.傅里叶变换:fourier
F=fourier(f)
F=fourier(f,v)
F=fourier(f,u,v)
第一种返回默认独立变量x对f的傅里叶变换返回函数以w为默认变量,第二种返回以v为变量的变换函数,第三种返回对指定函数表达式用关于u的傅里叶变换,结果是关于v的函数
10.傅里叶逆变换
f=ifourier(F)
f=ifourier(F,u)
f=ifourier(F,v,u)
方法同上
11.拉普拉斯变换
L=laplace(F),系统默认自变量是t,默认返回值L是关于s的函数
L=laplace(F,z)
L=laplace(F,w,u)
12.拉普拉斯逆变换:ilaplace函数,使用方法同上
13.求不定积分和定积分:int函数
int(S)
int(S,v)
int(S,a,b)
int(S,v,a,b)
S为符号函数,v为定义的变量,第三种是定积分,从a到b,最后一种是关于v从a到b
14.梯形数值积分
Q=trapz(Y)
Q=trapz(X,Y)
Q=trapz(…,dim)
Y为通过梯形公式求积分的函数,积分步长如果不是1就要Q乘以步长,X为变量
15.对M文件建立的函数做数值积分,quad是缔结方法,quadl是高阶方法,精度高
q=quad(fun,a,b)
q=quad(fun,a,b,tol)
q=quad(fun,a,b,tol,trace)
quadl调用方法同上
16.平面区域积分函数:quad2d
q=quad2d(fun,a,b,c,d)
q=quad2d(fun,a,b,c,d,param1,val1,param2,val2,…)
17.limit:既是复变函数极限,也是实变函数极限
limit(F,x,a)
limit(F,a)
limit(F)
limit(F,x,a,‘right’)
F为符号函数,第一种为x趋向a极限,第二种为自由变量趋向a极限,a默认0
18.Taylor展开
taylor(f)
taylor(f,x)
taylor(f,x,a)
19.mandist:求矩阵两列向量间绝对值距离
d=|xi-xj|+|yi-yj|
二、概率论及数理统计
1.概率分布
六类函数命令:
pdf:得到概率分布的概率密度函数
cdf:得到分布函数
stat:得到分布函数的均值及方差
inv:得到逆分布函数
rnd:得到随机数生成
fit:参数估计(似然函数为like)
若干类函数:
beta(X,A,B):β分布
bino(X,N,P):二项分布
chi2(X,V):卡方分布
exp(X,mu):指数分布
f(X,V1,V2):f分布
hyge(X,M,K,N):超几何分布
norm(X,mu,signa):正态分布
poiss(X,lamda):泊松分布
rayl(X,B):瑞利分布
t(X,V):学生氏t分布
unid(x,n):离散均匀分布
unif(x,a,b):连续均匀分布
用法为:把函数与函数命令连接起来作为新函数可直接调用,如betacdf为求β分布的分布函数
参数我给出的仅仅是概率密度函数及分布函数的参数,其他的是不一样的,使用前还是help查看一下
2.mle进行最大似然估计,这里只给出两种简单的调用方式
phat=mle(data):利用data的数据进行正态分布参数的最大似然点估计
phat=mle(data,‘distribution’,dist):对dist描述的分布进行参数估计,dist即为分布
3.方差已知关于均值的检验:h=ztest(x,m,sigma),x为样本,m为均值,sigma为标准差
4.方差未知关于均值的检验:h=ttest(x),x为样本
三、优化及规划
1.方程求根:roots§,p为多项式输入,如x^3+x-3输入为p=[1 0 1 -3]
poly是根据根构造多项式
2.知道初始点,求变量函数零点
x=fzero(fun,x0)
x=fsolve(fun,x0)
注意这里fun必须是函数文件创作的或者inline构造的
3.x=fminbnd(fun,x1,x2)
求函数在x1、x2上的最小值
4.线性规划:[x,fval]=linprog(f,A,b,Aeq,beq,lb,ub)
0-1规划:x=intlinprog(f,intcon,A,b,Aeq,beq,lb,ub)
[x,fval]=bintprog(f,A,b,Aeq,beq,x0)
%intcon为1:n,n是0-1变量的个数
有约束非线性规划:[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)%x0为初始值,nonlcon是非线性约束
二次规划:[x,fval]=quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)
%先化目标二次函数为 0.5x’Hx+f’x,后将H和f带入
凸二次规划:[xopt,lamda,status]=qpdantz(H,f,A,b,xmin,maxiter)
5.[x,fval]=fminsearch(fun,x0)
[x,fval]=fminnunc(fun,x0)
求函数在x0附近的最小值,局部极小点,多维极值
6.fminimax函数:解决如下问题
求解 minxmaxiFi(x)
约束条件:c(x)<=0
ceq(x)=0
Ax<=b
Aeq x=beq
lb<=x<=ub
对问题的解释:对每个定义域中向量x向量函数F(x)都存在一个值最大的分量,但随着x取值不同,值最大分量也发生变化,把分量值记录下来找到最小值
[x,fval]=fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)
7.fmincon:约束优化问题,其实就是多变量非线性规划
[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)%x0为初始点,是一个和变量个数相同的行向量
8.lsqnonlin:求解如下形式非线性最小二乘优化问题
minf2(x)=∑i=1nfi2(x)
[x,resnorm]=lsqnonlin(fun,x0,lb,ub)
输入f(x)定义function函数,用[]里面加每个fi组成的列向量
暂时就写到这里,以后可能还会继续补充

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值