MATLAB的符号运算基础
在数学运算中,运算的结果如果是一个数值,可以称这类运算为数值运算;如果运算结果为表达式,在MATLAB中称为符号运算,符号计算是对未赋值的符号对象(可以是常数、变量、表达式)进行运算和处理。MATLAB具有符号数学工具箱(SymbolicMath Toolbox),将符号运算结合到MATLAB的数值运算环境。符号数学工具箱是建立在Maple软件基础上的。
(一) 符号变量建立符号变量和符号常数
建立符号变量的方法有两种,应用,应用sym与syms函数,通常应用sym建立符号表达式,应用syms同时定义多个符号变量。
(1)函数:sym
功能:用来建立单个符号量
语法形式:sym(‘表达式或变量’)
举例:
a = sym('a'); %定义符号变量a,下同
b = sym('b')
c = sym('c')
d = sym('d') %至此定义了4个符号变量
w = 10;x = 5;y = -8;z = 11;A = [a,b;c,d] %建立符号矩阵A
B = [w,x;y,z] %建立数值矩阵B
C = det(A); %计算符号矩阵A的行列式
D = det(B); %建立数值矩阵B的行列式
可得到如下结果:
由上述结果我们不难看出,在符号运算中是以表达式形式呈现结果的,而在数值运算中是以数值表示结果的。
(2)函数:syms
功能:定义多个符号变量
语法:syms Var1 Var2 ……Varn
说明:函数定义符号变量var1,var2,……,Varn等。在用这种格式定义符号变量时无需在变量名上加字符分解符(‘’),变量间用空格而不要用逗号分隔,要用空格来分隔。
例2:应用syms函数定义符号变量
syms x y %同时定义x,y为符号变量
A = [sin(x) sin(y);cos(x) cos(y)]</span>
(二)基本的符号运算
1基本符号运算函数
在MATLAB中,有很多应用于符号运算的函数,常用的函数如下表所示:
函数名 |
功能 |
用法举例 |
sym |
字符串或数值到符号的切换 |
sym(‘a+b’) |
expand |
展开 |
syms x s = (-7*x^2-8*y^2)*(-x^2+3*y^2); expand(s) collect(s,x) factor(ans) g = simple(ans) |
collect |
合并同类项 |
|
factor |
因式分解 |
|
simplify simple |
化简 |
|
sym2poly(S) |
转化S为多项式系数向量 |
syms x;f=’2*x^2+3*x-5’; n = sym2poly(f) poly2sym(n) |
poly2sym(c) |
转换多项式系数向量c为符号多项式 |
2符号表达式运算
(1)符号表达式的四则运算
syms x y z; %定义x,y,z为符号变量
f1 = 2*x+x^2*x-5*x+x^3
f2 = 2*x/(5*x)
f3 = (x+y)*(x-y)</span>
(2)因式分解与多项式展开
函数1:factor
功能:分解因式
语法:factor(s)
说明:s是符号表达式或符号矩阵
函数2:collect
功能:合并同类项
语法:collect(s)
collect(s,x)
说明:对s按符号变量x进行同类项合并,s是符号表达式或符号矩阵。
举例:对表达式因式分解
f = sym('2*(x-1)/(x^2+2*x-3)'); %输入表达式
F = factor(f) %对符号表达式f进行因式分解</span>
(3)表达式化简
MATLAB提供的对符号表达式化简函数为simplify。
函数:simplify
功能:对表达式进行化简
语法:simplfy(S)
f=cos(x)^2+sin(x)^2
simplify(f)
注:simplify和simple是Matlab符号数学工具箱提供的两个简化函数,区别如下:
simplify的调用格式为:simplify(S);对表达式S进行化简。
simple是通过对表达式尝试多种不同的方法(包括simplify)进行化简,以寻求符号表达式S的最简形式。
调用方式为:
[r,how]=simple(S);r为返回的简化形式,how为化简过程中使用的一种方法。how有以下几种形式:
(1)simplify 函数对表达式进行化简;
(2)radsimp函数对含根式的表达式进行化简;
(3)combine 函数将表达式中以求和、乘积、幂运算等形式出现的项进行合并;
(4)collet合并同类项
(5)factor函数实现因式分解
(6)convert函数完成表达式形式的转换
参考文献
[1] 刘加海,严冰等主编. MATLAB可视化科学计算[M]:浙江: 浙江大学出版社,2014.6
[2] 薛定宇,陈阳泉主编.高等应用数学问题的MATLAB求解[M]:第二版.北京: 清华大学出版社,2015.6
MATLAB的符号运算基础相关推荐
- 将因式展开 matlab,关于Matlab中符号运算的因式分解、展开与合并
对于matlab求解符号运算中几个常用的函数,主要说一下因式分解.展开还有合并. (1)对于因式分解使用的是factor()函数. 例1:factor函数对于纯数字也可以进行分解的 factor(11 ...
- 【实验】实验一 MATLAB环境与运算基础20211008
本文仅供学习和复习使用. 题目源于岑冠军老师,答案参考自相关课件,另外借以markdown排版成此文.由于本人水平有限且时间不够充裕,故难免有错漏或不当之处,如有建议或批评还请联系penguinpi@ ...
- MATLAB中符号运算和数值运算的区别
两者的根本区别是 : 数值计算的表达式.矩阵变量中不允许有未定义的自由变量 , 而符号计算可以含有未定义的符号变量.对于一般的程序设计软件如 C, C + + 等语言实现数值计算还可以 , 但是实现符 ...
- MATLAB多项式符号运算
符号计算是指在运算时,无须事先对变量进行赋值,而是将所有得到的结果以标准的符 号形式表示出来.符号计算是以符号对象和符号表达式作为运算对象的表达形式,最终给出 的是解析解;在运算过程中不会受到计算误差 ...
- matlab常见符号运算(计算导数,积分、符号求和等))
符号运算的建立 sym 函数用来建立单个符号量,一般调用格式为: 符号变量 = sym(A) 参数 A 可以是一个数或数值矩阵,也可以是字符串 syms 命令用来建立多个符号量,一般调用格式为: sy ...
- matlab常见符号运算( 因式分解、展开、合并、简化及通分等,计算导数,积分,符号求和、代数方程和微分方程求解)
常见符号运算 因式分解.展开.合并.简化及通分等 因式分解factor(f) factor 也可用于正整数的分解 函数展开 expand(f) 多项式展开 三角函数展开 合并同类项 collect(f ...
- MATLAB的数学运算基础
1.MATLAB的变量 2.MATLAB的运算符号 3.MATLAB的标点符号 4.MATLAB的数学函数 5.MATLAB的语句形式 6.MATLAB的数值显示格式 7.命令窗常用控制命令 8.Ma ...
- matlab中符号运算求解结果出现的是1i不是li
说实话,也就我这种粗心大头才研究了半天为啥是li,早看到1i就能早点明白这不过是代表复数 因为 i 容易和变量搞混了,所以matlab在使用符号函数求解时,其结果会推荐你使用 1i .而且当你可以将 ...
- matlab(四)符号运算
目录 符号变量和符号表达式 用findsym()寻找自由符号变量 用vpa指令确定任意精度的符号变量 用sym函数实现数值变量与符号变量的转换 符号表达式的基本运算 符号变量和符号表达式 a = sy ...
最新文章
- 如何利用百度API地图进行定位,非gps 定位
- linux安装python虚拟环境_linux环境下安装python虚拟环境及注意事项
- 静态库和动态库(转)
- Django之form表单组件、cookie与session
- 资源 | Alibaba Cluster Data 开放下载:270 GB 数据揭秘你不知道的阿里巴巴数据中心...
- Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
- Docker都不知道,小了,是我格局小了
- LintCode 13. Implement strStr()
- 数据库入门-基本sql语句及数据类型
- 读《scikiit-learn机器学习》第七章_决策树
- ASP.NET的安全性
- win10如何打开摄像头_如何解决:Win10打开软件报错“应用程序无法正常启动 0xc0150002”...
- 免费试用一年微软云服务【图文并茂】
- 计算机大赛鼓励语录,比赛前的鼓励的话
- 1月16日服务器例行维护更新公告,1月16日9—11点例行更新维护公告
- iOS App版本更新并上架App Store
- mye底色(摘自网络)
- JavaScript进阶篇③ — 浏览器对象、Dom对象
- 考虑储能削峰填谷的含DG配电网可靠性评估
- Django book 2.0 的中文翻译
热门文章
- 布袋除尘器类毕业论文文献有哪些?
- php 检测数组内是否有空值,判断PHP数组是否为空的代码
- python让灯闪烁_【掌控】mpython-光线传感器-一闪一闪亮晶晶灯光秀 - DF创客社区 - 分享创造的喜悦...
- 15 个 “高效实用” 的Python工具库!
- Openssl 如何生成证书
- spyder的安装配置及无法使用第三方包的问题
- 【校招VIP】前端校招考点之页面转换算法
- Python地理数据处理 十五:基于arcpy的批量操作
- Arcpy基础入门-4、arcpy工具进阶
- python 遍历List各种方式