MATLAB学习笔记 下载本文

内容发布更新时间 : 2024/12/25 13:55:31星期一 下面是文章的全部内容请认真阅读。

MATLAB 学习笔记

一.符号计算

1. MATLAB符号计算的基本用途及意义

定义:用一系列恒等式,数学定理,通过演绎和推理,力求获得精准的解析结果。

通俗理解:1) matlab符号计算就是为了解决离散化数值计算所产生的精度误差问题,用符号计算可以产生精准符号数字,或16位,32位精度的近似符号数字。例如解决以下一类问题:

其中3^(1/2)/2是由数学推理等解析出的精确的符号数字,而0.866025403784439则是由离散化数值计算得出近似的双精度浮点数。

2),利用符号计算可以进行对数学公式及某些代数方程的求解。

【例】用符号计算验证三角等式sin?1cos?2?cos?1sin?2?sin(?1??2)。

syms fai1 fai2

y=simple(sin(fai1)*cos(fai2)-cos(fai1)*sin(fai2)) y =

sin(fai1-fai2)

2. 符号计算基本命令

Sym(Num) syms a b c symvar(expresstion) 列出表达式所有的符号变量 symvar(expression ,n) 列出表达式中n个认定的自由变量 3. 对符号变量的限定性假设

assume(expr, set) set : ‘integer’整数集 ‘rational’ 有理数集 ‘real’实数集 a=sym(‘a’,res) syms a res res 可以为‘positive’’real’ clear x 清除内存中变量 syms x clear 撤销MuPAD内存中对变量x的任何假设 显示符号变量的限定性假设 重启MupPAD引擎,清空MuPAD内存中的所有内容assumptions(x) reset(symengine)

4. 符号矩阵的相关命令

clear all A=sym('a%d%d',[3,3]) %创建带下标的符号矩阵 DA=det(A) %求行列式 IA=inv(A) %求逆矩阵 SIA=subexpr(IA,'w') %采用“子表达式置换”简化 expm(A)

diag(A) rank(A) %矩阵指数 %根据向量构成对角阵,或取对角元 %矩阵的秩 %矩阵的维度 %矩阵的下三角式 %矩阵的上三角式

ndims(A) tril(A) triu(A) 5. 极限,导数和积分的符号计算

limit(f ,x, a, ‘right’) limit(f, x, a , ‘left’) dfdxn=diff(f, x , n) int(f , x , a, b ) %求右极限 %求左极限 %求n阶导数 %求定积分