在数学运算中,运算的结果如果是一个数值,可以称这类运算为数值运算;如果运算结果为表达式,在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的符号运算基础相关推荐

  1. 将因式展开 matlab,关于Matlab中符号运算的因式分解、展开与合并

    对于matlab求解符号运算中几个常用的函数,主要说一下因式分解.展开还有合并. (1)对于因式分解使用的是factor()函数. 例1:factor函数对于纯数字也可以进行分解的 factor(11 ...

  2. 【实验】实验一 MATLAB环境与运算基础20211008

    本文仅供学习和复习使用. 题目源于岑冠军老师,答案参考自相关课件,另外借以markdown排版成此文.由于本人水平有限且时间不够充裕,故难免有错漏或不当之处,如有建议或批评还请联系penguinpi@ ...

  3. MATLAB中符号运算和数值运算的区别

    两者的根本区别是 : 数值计算的表达式.矩阵变量中不允许有未定义的自由变量 , 而符号计算可以含有未定义的符号变量.对于一般的程序设计软件如 C, C + + 等语言实现数值计算还可以 , 但是实现符 ...

  4. MATLAB多项式符号运算

    符号计算是指在运算时,无须事先对变量进行赋值,而是将所有得到的结果以标准的符 号形式表示出来.符号计算是以符号对象和符号表达式作为运算对象的表达形式,最终给出 的是解析解;在运算过程中不会受到计算误差 ...

  5. matlab常见符号运算(计算导数,积分、符号求和等))

    符号运算的建立 sym 函数用来建立单个符号量,一般调用格式为: 符号变量 = sym(A) 参数 A 可以是一个数或数值矩阵,也可以是字符串 syms 命令用来建立多个符号量,一般调用格式为: sy ...

  6. matlab常见符号运算( 因式分解、展开、合并、简化及通分等,计算导数,积分,符号求和、代数方程和微分方程求解)

    常见符号运算 因式分解.展开.合并.简化及通分等 因式分解factor(f) factor 也可用于正整数的分解 函数展开 expand(f) 多项式展开 三角函数展开 合并同类项 collect(f ...

  7. MATLAB的数学运算基础

    1.MATLAB的变量 2.MATLAB的运算符号 3.MATLAB的标点符号 4.MATLAB的数学函数 5.MATLAB的语句形式 6.MATLAB的数值显示格式 7.命令窗常用控制命令 8.Ma ...

  8. matlab中符号运算求解结果出现的是1i不是li

    说实话,也就我这种粗心大头才研究了半天为啥是li,早看到1i就能早点明白这不过是代表复数 因为 i 容易和变量搞混了,所以matlab在使用符号函数求解时,其结果会推荐你使用 1i .而且当你可以将 ...

  9. matlab(四)符号运算

    目录 符号变量和符号表达式 用findsym()寻找自由符号变量 用vpa指令确定任意精度的符号变量 用sym函数实现数值变量与符号变量的转换 符号表达式的基本运算 符号变量和符号表达式 a = sy ...

最新文章

  1. 如何利用百度API地图进行定位,非gps 定位
  2. linux安装python虚拟环境_linux环境下安装python虚拟环境及注意事项
  3. 静态库和动态库(转)
  4. Django之form表单组件、cookie与session
  5. 资源 | Alibaba Cluster Data 开放下载:270 GB 数据揭秘你不知道的阿里巴巴数据中心...
  6. Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
  7. Docker都不知道,小了,是我格局小了
  8. LintCode 13. Implement strStr()
  9. 数据库入门-基本sql语句及数据类型
  10. 读《scikiit-learn机器学习》第七章_决策树
  11. ASP.NET的安全性
  12. win10如何打开摄像头_如何解决:Win10打开软件报错“应用程序无法正常启动 0xc0150002”...
  13. 免费试用一年微软云服务【图文并茂】
  14. 计算机大赛鼓励语录,比赛前的鼓励的话
  15. 1月16日服务器例行维护更新公告,1月16日9—11点例行更新维护公告
  16. iOS App版本更新并上架App Store
  17. mye底色(摘自网络)
  18. JavaScript进阶篇③ — 浏览器对象、Dom对象
  19. 考虑储能削峰填谷的含DG配电网可靠性评估
  20. Django book 2.0 的中文翻译

热门文章

  1. 布袋除尘器类毕业论文文献有哪些?
  2. php 检测数组内是否有空值,判断PHP数组是否为空的代码
  3. python让灯闪烁_【掌控】mpython-光线传感器-一闪一闪亮晶晶灯光秀 - DF创客社区 - 分享创造的喜悦...
  4. 15 个 “高效实用” 的Python工具库!
  5. Openssl 如何生成证书
  6. spyder的安装配置及无法使用第三方包的问题
  7. 【校招VIP】前端校招考点之页面转换算法
  8. Python地理数据处理 十五:基于arcpy的批量操作
  9. Arcpy基础入门-4、arcpy工具进阶
  10. python 遍历List各种方式