MATLAB - 符号运算(持续更新)
发布日期:2021-07-01 04:00:04
浏览次数:3
分类:技术文章
本文共 2023 字,大约阅读时间需要 6 分钟。
文章目录
1. 符号变量的定义
syms x t y(t)
创建实数变量,即避免符号运算时出现复数形式
syms x t real
2. 求导
syms x t;% z = f(x,t)ddt = diff(f,t) % 对t偏导ddx = diff(f,x) % 对x偏导
matlab求导命令diff调用格式:
- diff(函数):求函数的一阶导数;
- ==diff(函数,n) ==:求函数的n阶导数(n是具体整数);
- diff(函数,变量名):求函数对对应变量的偏导数;
- diff(函数, 变量名,n):求函数对对应变量的n阶偏导数;
3. 化简
- pretty(f):将符号表达式化简成与高等数学课本上显示符号表达式形式类似
- collect(f):合并符号表达式的同类项
- horner(f):将一般的符号表达式转换成嵌套形式的符号表达式
- factor(f):对符号表达式进行因式分解 ,如果无法在有理数的范围内作分解, 那么返回的结果还是输入值
- expand(f):对符号表达式进行展开
- simplify(f):对符号表达式进行化简,它利用各种类型的代数恒等式,包括求和、 积分、三角函数、指数函数以及 Bessel 函数等来化简符号表达式
- simple(f):威力强大, 对符号表达式尝试多种不同的算法进行化简,以显示长度最短的符号 表达式简化形式
- [r,how]=simple(f):返回的 r为符号表达式进行化简后的形式, how为所采用的简化方法
- subexpr(f):通过计算机自动寻找, 将表达式中多次出现的因式用简短的符号表示, 返回的结果中包含替换之后的表达式, 以及被替换的因式
4. 线性方程组化成矩阵形式
equationsToMatrix函数
[A,b] = equationsToMatrix(eqns)[A,b] = equationsToMatrix(eqns,vars)A = equationsToMatrix(___)
例程:
syms x y z a b ceqns=[a*x+b*y==c,c*x-z==c*c];vars=[x,y,z][A,b]=equationsToMatrix(eqns,vars) %即可求出系数矩阵A和常数项矩阵b
5. 返回C语言代码
- ccode(s):返回用于计算符号表达式s的C语句段落
6. 替换符号表达式中的指定新变量
以下转自http://blog.csdn.net/guyuealian/article/details/53997490
- subs():表示将符号表达式中的某些符号变量替换为指定的新的变量
- R = subs(S, new) 利用new的值代替符号表达式S中的默认符号。
- R = subs(S) 用由调用函数或Matlab工作空间中获取的值替代了在符号表达式S中的所有当前的变量。
- R = subs(S, old, new) 利用new的值代替符号表达式中old的值。old为符号变量或是字符串变量名。new是一个符号货数值变量或表达式。也就是说R = subs(S,old,new)在old=new的条件下重新计算了表达式S。这种替换第一次作为Matlab表达式被尝试,如果所有在new中的数值是双精度的,计算是以双精度算术运算进行的。讲new值转化为符号可以验证符号货变量的运算精度。
- 如果old和new是大小和类型相同的向量或是元包数组,每一个old的元素都将被相应新的元素替换。
- 如果S和old是标量,new是数组或元包数组,则扩展标量去计算一个数组结果。
- 如果new是个数值矩阵元包数组,替换讲运行为/智能元素/(i.e., subs(x*y,{x,y},{A,B}) returns A.*B when A and B are numeric)。
- 如果subs(s,old,new) 没有改变S,则将会试行subs(s,new,old)。这将为前面的版本提供向前的兼容性,消除记忆参数顺序。subs(s,old,new,0)不改变参数,如果S没有改变。
举个栗子:
- 将变量x替换为数值1: subs(S,x,1)
- 将变量x替换为变量z: subs(S,x,z)
- 同时将变量x和y分别替换为1和z:subs(S,{x,y},{1,z})
- 将单变量替换为数组:subs(S,x,[1 2;3 4])
7. 符号矩阵的转置
对于符号矩阵的转置,要注意使用【.'
】
- 当矩阵为实矩阵时,两者效果相同;
- 当矩阵为复矩阵时,两者有差别;
syms a b c d e fx = [a b c;d e f]x' % 共轭转置x.' % 一般转置
运行结果如下:
8. 符号矩阵的零空间
- Z = null(A): 返回 A 的零空间的标准正交基。使用null函数计算矩阵的零空间的标准正交基和有理基向量。矩阵的零空间包含满足Ax=0的向量x。 )
转载地址:https://miracle.blog.csdn.net/article/details/103572109 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年05月06日 21时49分29秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
使用aspose.words 18.6实现pdf文档转换
2019-05-01
Java数组详解
2019-05-01
vs中动态DLL与静态LIB工程中加入版本信息的方法
2019-05-01
大数据分析技术与应用一站式学习(值得收藏)_v20200418
2019-05-01
Qt 在windows下的串口读写
2019-05-01
SpringApplication执行流程
2019-05-01
自定义Starter
2019-05-01
分布式事务原理探究(一)
2019-05-01
spring cloud consul 应用的多实例名的解决
2019-05-01
人工智能为什么这么火?看看安防江湖30年血战就知道了
2019-05-01
“前端智能为安防产生新的数据价值”
2019-05-01
(8)CMake入门笔记--CMake语法
2019-05-01
头文件中 #ifndef---#define---#endif的作用
2019-05-01
Ant内置任务之whichresource
2019-05-01
Ant内置任务之symlink
2019-05-01
jface databinding:部分实现POJO对象的监测
2019-05-01
深入理解python--线程、进程与协程(1)
2019-05-01
Java--流重点总结初稿
2019-05-01
Html2Servlet--Html代码转换为Servlet小程序
2019-05-01