一、符号表达式合并

  • R=collect(S):将表达式S中相同次幂的项合并。S可以是一个表达式,也可以是一个符号矩阵。
  • R=collect(S,v):将表达式中S中v的相同次幂进行合并。如果v没有指定,则默认将含有x的相同次幂的项进行合并。
>> syms x y t;
>> f=sym('x*cos(t)+y*sin(t)+(x^2+2*x*y+3*y^2)*t')f =t*(x^2 + 2*x*y + 3*y^2) + x*cos(t) + y*sin(t)>> collect(f,x)ans =t*x^2 + (cos(t) + 2*t*y)*x + 3*t*y^2 + sin(t)*y>> collect(f,y)ans =(3*t)*y^2 + (sin(t) + 2*t*x)*y + t*x^2 + cos(t)*x

二、符号表达式展开

  • R=expand(S):将表达式S的各项进行展开。
>> syms x y;
>> f1=sym('(x-1)^2*(y-1)')f1 =(x - 1)^2*(y - 1)>> expand(f1)ans =2*x + y - 2*x*y + x^2*y - x^2 - 1>> f2=sym('exp((x+y)^2)')f2 =exp((x + y)^2)>> expand(f2) ans =exp(x^2)*exp(y^2)*exp(2*x*y)

三、符号表达式的嵌套

  • R=horner(S):其中S是符号多项式矩阵,函数horner将其中的每个多项式转换成它们的嵌套形式。
>> syms x y;
>> f1=sym('x^3-6*x^2+11*x-6');
>> f1f1 =x^3 - 6*x^2 + 11*x - 6>> horner(f1)ans =x*(x*(x - 6) + 11) - 6>> f2=sym('[x^2+x;y^3-2*y]')f2 =x^2 + xy^3 - 2*y>> horner(f2)ans =x*(x + 1)y*(y^2 - 2)

四、符号表达式的分解

  • factor(X):多项式或者多项式矩阵均可,系数是有理数,那么该函数将把X表示成系数为有理数的低价多项式相乘的形式;如果X不能分解成有理多项式乘积的形式,则返回X本身。
>> syms x y;
>> f1=sym('2*x^2-7*x*y-22*y^2-5*x+35*y-3')f1 =2*x^2 - 7*x*y - 5*x - 22*y^2 + 35*y - 3>> factor(f1)ans =(2*x - 11*y + 1)*(x + 2*y - 3)>> f2=sym('[2*x^2-5*x*y-3*y^2;x^3-y^3]')f2 =2*x^2 - 5*x*y - 3*y^2x^3 - y^3>> factor(f2)ans =(x - 3*y)*(2*x + y)(x - y)*(x^2 + x*y + y^2)>> f3=sym('12345678901234567890')f3 =12345678901234567890>> factor(f3)
%factor对常数进行分解时,如果某个元素超过了16位,则必须先将其用函数sym定义成符号矩阵才能进行分解ans =2*3^2*5*101*3541*3607*3803*27961

五、符号表达式的简化

  • R=simplify(S)
  • R=simple(S)
  • [R,how]=simple(S):不显示简化的中间结果,只显示寻找到最短形式及找到该形式的简化方法。
>> sym x;
>> f1=sym('(x^3-1)/(x-1)');
>> simplify(f1)ans =x^2 + x + 1>> f2=sym('cos(x)+i*sin(x)')f2 =cos(x) + sin(x)*i>> simple(f2)
警告: simple will be removed in a future release. Use simplify instead.
> In sym.simple at 41 simplify:cos(x) + sin(x)*iradsimp:cos(x) + sin(x)*isimplify(Steps = 100):cos(x) + sin(x)*icombine(sincos):cos(x) + sin(x)*icombine(sinhcosh):cos(x) + sin(x)*icombine(ln):cos(x) + sin(x)*ifactor:cos(x) + sin(x)*iexpand:cos(x) + sin(x)*icombine:cos(x) + sin(x)*irewrite(exp):exp(x*i)rewrite(sincos):cos(x) + sin(x)*irewrite(sinhcosh):cosh(x*i) + sinh(x*i)rewrite(tan):(tan(x/2)*2*i)/(tan(x/2)^2 + 1) - (tan(x/2)^2 - 1)/(tan(x/2)^2 + 1)mwcos2sin:sin(x)*i - 2*sin(x/2)^2 + 1collect(x):cos(x) + sin(x)*ians =exp(x*i)>> [R,how]=simple(f2)
警告: simple will be removed in a future release. Use simplify instead.
> In sym.simple at 41 R =exp(x*i)how =rewrite(exp)

【MATLAB】符号数学计算(四):符号表达式操作相关推荐

  1. Matlab符号数学(Symbolic Math with MATLAB)MATLAB解方程

    创建符号变量 用符号而不是数值表示数字. 存储数字符号 % 你可以把一个数存储为数值格式,就像我们经常做的那样 x = 3; % 你也可以把这个数存储为符号格式,使用sym()函数 xsym = sy ...

  2. MATLAB2016笔记(八):符号数学计算(MATLAB-Maple组件)

    文章目录 一.MATLAB符号计算概述 二.符号对象和符号表达式 (一)符号对象的创建 sym/syms (二)符号计算中的运算符和函数 (三)符号对象的类别识别函数 isa / class / wh ...

  3. Matlab符号数学Symbolic Math Toolbox™帮助文档(全)

    符号数学快速入门 创建符号数.变量和表达式 创建符号数 创建符号变量 创建符号表达式 重用符号对象的名称 创建符号函数 创建符号数组 使用现有符号变量 创建矩阵时生成元素 创建符号数字矩阵 执行符号计 ...

  4. matlab simulink 数学符号,MATLAB符号数学

    符号数学定义对符号(不是数字!)进行数学运算.例如, a + a为2a.符号数学函数位于MATLAB的Symbolic Math Toolbox中.工具箱包含相关功能, 并且是MATLAB的附加组件. ...

  5. MATLAB数学计算与工程分析范例教程,MATLAB 2016数学计算与工程分析从入门到精通...

    全书通过近400个实例讲解了利用MATLAB 2016进行数学计算和工程分析的方法和技巧,涵盖了MATLAB的五大功能:1)数值计算功能:2)符号计算功能:3)图形与数据可视化功能:4)可视化建模与仿 ...

  6. matlab 符号 推倒,【MATLAB】符号数学计算(四):符号表达式操作

    一.符号表达式合并 R=collect(S):将表达式S中相同次幂的项合并.S可以是一个表达式,也可以是一个符号矩阵. R=collect(S,v):将表达式中S中v的相同次幂进行合并.如果v没有指定 ...

  7. 【MATLAB】符号数学计算(六):符号函数的操作

    一.复合函数的操作 compose(f,g):返回复合函数f(g(y)),此处f=f(x),g=g(y): compose(f,g,x,z):返回自变量是z的复合函数f(g(z)) >> ...

  8. 【MATLAB】符号数学计算(七):符号微积分、符号微分方程求解、符号代数方程求解

    一.符号表达式的极限 limit(F,x,a):求当时,符号表达式F的极限. limit(F,a):符号表达式F采用默认自变量(可由函数findsym求得),该函数求F的自变量趋于a时的极限值. li ...

  9. 【MATLAB】符号数学计算(三):符号的精度计算

    符号计算的一个非常显著的特点是,由于计算中不会出现舍入误差,从而可以得到任意精度的数值解. (要计算精确,就要牺牲计算时间和储存空间) 符号工具箱中有三种不同类型的算术运算: 数值类型:MATLAB的 ...

最新文章

  1. 一步一步搞定InfoPath(02)--配置VSTA
  2. 桌面计算机休眠快捷键,如何快速建立Win 7桌面一键休眠快捷方式
  3. JavaScript Oriented[探究面向对象的JavaScript高级语言特性]
  4. mongodb 如何更改端口号_Python 操作 MongoDB 数据库介绍
  5. 矩阵的java程序怎么编写_如何编写Java程序以添加两个矩阵
  6. [资料] GIS资料汇总(GIS+Envi+erdas视频教程)
  7. 从知网或PDF复制英文单词间隔过大问题
  8. FIR 带通滤波器设计
  9. JavaScript判断当前浏览器类型(包括判断移动端浏览器类型)
  10. 卷积神经网络原理简述
  11. setTimeout()方法实现延时执行其他功能
  12. pluck()取表中一列中所有值组成数组
  13. Selenium等待机制之显示等待
  14. 怎么画出好的架构图,架构师必备。。
  15. 转载:理解 VSync
  16. 微服务研究 - Swoole框架-Swoft初探
  17. dyt说反话(注意字符串输入)
  18. Centos7安装远程桌面
  19. 如何用计算机打出下山,登山怎么正确下山
  20. N打头的股票是什么意思?

热门文章

  1. 微软推出Windows XP/Server 2003紧急安全补丁:修复远程桌面CVE-2019-0708漏洞
  2. GO是更好的编程语言吗?
  3. Android屏幕适配框架-(今日头条终极适配方案)
  4. mac中用命令行运行mysql
  5. Kinect For Windows V2开发日志九:侦测并绘制人体骨架
  6. android在线播放音乐
  7. 利用sendEmail-v1.55转发邮件
  8. Windows2003服务器不支持FLV视频的解决方法
  9. 浩方平台CS流量评估
  10. java freemarker 模版_Java模板引擎-FreeMarker