matlab指令记录

matlab符号计算

syms函数:用于建立单个符号对象;
syms命令:用于一次定义多个符号变量,变量名不能加单引号,相互之间用空格隔开;
facrot(s):将符号表达式s因式分解;
expand(s):对符号表达式s进行展开;
collect(s):对符号表达式s合并同类项;
collect(s,v):对符号表达式s按变量v合并同类项;
numden函数:将表达式从有理数形式转变成分子与分母形式;
simplofy函数:利用代数中对函数规则对表达式进行化简;
coeffs函数:提取符号表达式的系数;
sym2poly和poly2sym函数:符号多项式与多项式系数向量之间的转换;
symvar(s,n):用于查找一个符号表达式中的符号变量,返回符号表达式s中的n个符号变量,n为1时返回主变量

求极限:
limit(f):求符号表达式f在默认自变量趋于0时的极限;
limit(f,x,a):求符号表达式f在自变量x趋于a时的极限;
limit(f,x,a’left’):求符号表达式f在自变量x趋于a时的左极限;
limit(f,x,a,‘right’):求符号表达式f在自变量x趋于a时的右极限;

求微分:
diff(f):求表达式f对默认自变量的一次微分值;
diff(f,x):求表达式f对自变量x的一次微分值;
diff(f,n):求表达式f对默认自变量的n次微分值;
diff(f,x,n):求表达式f对自变量x的n次微分值;

求积分:
int(f):求表达式f对默认自变量的积分值;
int(f,x):求表达式f对自变量x的积分值;
int(f,a,b):求表达式f对默认自变量的定积分值,积分区间为[a,b];
int(f,x,a,b):求表达式f对自变量x的定积分值,积分区间为[a,b];

代数方程:
solve(s):求解符号表达式s的代数方程,求解变量为默认变量;
solve(s,v):求解符号表达式s的代数方程,求解变量为v;
solve(s1,s2,…,sn,v1,v2,…,vn):求解符号表达式s1,s2,…,sn组成的代数方程组,求解变量分别为v1,v2,…vn;

常微分方程:
Dy表示y’,D2y表示y’’
dsolve(‘eq1,eq2,…’, ‘cond1,cond2,…’, ‘v’):
eq 常微分方程
cond 初始条件,如没有,则求通解
v 方程中的自变量

注解:

如果没有明确指定自变量,matlab将按照以下原则确定主变量并对其进行相应运算:
寻找除i,j外,在字母顺序上最接近x的小写字母
若表达式中有两个符号变量与x举例相等,则ASCII码大的优先

符号矩阵也是一种符号表达式,所以符号表达式运算都可以在矩阵意义下进行,函数作用于矩阵时,分别作用于其每个元素

有关矩阵的运算对符号矩阵也仍然适用,比如,diag,inv,det,rank,trace

MATLAB数值精度控制

data = roundn(sqrt(2), -3);   %data = 1.414

fmincon函数

寻找约束非线性多变量函数的最小值

x = fmincon(fun,x0,A,b)
从 x0 开始,尝试在满足线性不等式 A*x ≤ b 的情况下寻找 fun 中所述的函数的最小值点 x。x0 可以是标量、向量或矩阵。

x = fmincon(fun,x0,A,b,Aeq,beq)
在满足线性等式 Aeqx = beq 以及不等式 Ax ≤ b 的情况下最小化 fun。如果不存在不等式,则设置 A = [] 和 b = []。

x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)
对 x 中的设计变量定义一组下界和上界,使得解始终处在 lb ≤ x ≤ ub 范围内。如果不存在等式,请设置 Aeq = [] 和 beq = []。如果 x(i) 无下界,请设置 lb(i) = -Inf,如果 x(i) 无上界,请设置 ub(i) = Inf。

x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)
执行最小化时,满足 nonlcon 所定义的非线性不等式 c(x) 或等式 ceq(x)。fmincon 进行优化,以满足 c(x) ≤ 0 和 ceq(x) = 0。如果不存在边界,请设置 lb = [] 和/或 ub = []。

x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
使用 options 所指定的优化选项执行最小化。使用 optimoptions 可设置这些选项。如果没有非线性不等式或等式约束,请设置 nonlcon = []。

schur函数

[U,T] = schur(A,…)
返回酉矩阵 U 以使 A = UTU’ 且 U’*U = eye(size(A))。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值