从本节开始,后续章节小编将和大家分享的模块是matlab中的符号计算。
众所周知,科学计算包括数值计算和符号计算两种计算,对于符号计算,符号计算又称计算机代数,通俗地说就是用计算机推导数学公式,如对表达式进行因式分解、化简、微分、积分、解代数方程、求解常微分方程等。
我们在使用matlab的时候,有时会到一些函数表式之类的公式,并非全是数值类型的结构,这时,掌握matlab的符号运算能力也是很有必要的,因此,本节将为大家介绍什么是符号对象。
一、符号对象的建立
首先,符号对象是Matlab中一种特殊的数据类型,在matlab中,使用sym 或者 syms 语句可以直接定义符号变量,一般会使用sym 进行定义,因为其适用范围比syms广。
对于sym函数,sym 函数用于建立单个符号对象,其常用调用格式为:
符号对象名=sym(A)
将由A来建立符号对象。其中,A可以是一个数值常量数值矩阵数值表达式(不加单引号),此时符号对象为一个符号常量;A也可以是一个变量名( 加单引号 ),这时符号对象为一个符号变量 。
大家不妨先看一下下面的两段代码,初步了解一下符号对象。

>> t=sym(5);
>> t+2/3
ans =
17/3
>> sin(sym(pi/4))
ans =
2^(1/2)/2
>> sin(pi/4)
ans =0.7071
>> a=10;
>> b=-8;
>> x=sym('a');
>> y=sym('b');
>> s=(a+b)/(a-b)
s =0.1111
>> t=(x+y)/(x-y)
t =
(a + b)/(a - b)
>> eval(t)
ans =0.1111

可以看出符号计算的结果是一个精确的数学表达式,而数值计算的结果是一个数值。
二、符号对象的运算
符号对象的运算规则有如下几种:
(1)四则运算:类似于数值运算,用+、-、*、/、^运算符实现,只不过其运算结果是一个符号表达式,具体例子在第一部分已经有所展示。
(2)关系运算:6 种关系运算符:<、<=、>、>=、==、~=。这六种关系运算符分别对应6个函数为:lt() 、le() 、gt() 、ge() 、eq() 、 ne()。
注:若参与运算的是符号表达式 ,其结果是一个符号关系表达式 ;若参与运算的是符号矩阵 ,其结果是由符号关系表达式组成的矩阵。
(3)逻辑运算:3种逻辑运算符:&(与)、|(或)、~(非);4个逻辑运算函数:and(a,b) 、or(a,b) 、not(a)和xor(a,b)。
(4)因式分解与展开运算:MATLAB提供了符号表达式的因式分解与展开的函数,函数的调用格式为:
factor(s) :对符号表达式s分解因式
expand(s) :对符号表达式s进行展开
collect(s) :对符号表达式s合并同类项
collect(s,v) :对符号表达式s按变量v合并同类项

>> syms a b;
>> s=a^3-b^3;
>> factor(s)
ans =
[ a - b, a^2 + a*b + b^2]

(5)其他运算
提取有理分式的分子分母: [n,d]=numden(s)
提取符号表达式的系数: c=coeffs(s,x)
符号表达式化简: simplify(s)
符号多项式与多项式系数向量之间的转换:符号多项式转换为多项式系数向量: p=sym2poly(s) ;多项式系数向量转换为符号多项式: s=poly2sym§ 。

>> syms a b c x;
>> f=a*x^2+b*x+c;
>> g=coeffs(f,x)
g =
[ c, b, a]

注:如果没有明确指定自变量,MATLAB 将按以下原则确定主变量并对其进行相应运算: 寻找除i、j之外,在字母顺序上最接近x的小写字母;若表达式中有两个符号变量与x的距离相等,则ASCII码大者优先。
本节内容到此就结束了,简单介绍了一下符号对象,后续将深入讲述符号对象相关的知识,即将推出符号微积分、级数和符号方程求解内容,敬请期待!
关于MATLAB的学习:

大家可以关注我们的知乎专栏——数据可视化和数据分析中matlab的使用:
https://zhuanlan.zhihu.com/c_1131568134137692160

欢迎大家加入我们的MATLAB学习交流群:
953314432
扫码关注我们
发现更多精彩

matlab符号对象相关推荐

  1. 7.1 matlab符号对象(符号对象的建立和四则运算)

    1.符号对象的建立 (1)sym函数 sym函数用于建立单个符号对象,其常用调用格式为: 符号对象名=sym(A) 将由A来建立符号对象.其中,A可以是一个数值常量.数值矩阵或数值表达式(不加单引号) ...

  2. matlab符号对象作用是什么,Matlab符号对象在求解多维非线性方程组中的应用研究...

    第22卷第5襄2∞5串5月 诗箕筑藏瘸毒教箨 e.mpu潴A弼趣ationsa撞dS薅轷8re V建.22,器o,5 酝8v2∞5 麓鼗接曲符号爻孪象在求释多维葺羹线性方程组孛的应用研究 冀杰絷 f湖 ...

  3. matlab符号函数绘图法_《MATLAB符号运算及其应用》(黄忠霖著).pdf

    <MATLAB符号运算及其应用>(黄忠霖著).pdf [General Information] 书名=MATLAB符号运算及其应用 作者=黄忠霖,黄京编著 页数=425 出版社=北京市: ...

  4. matlab第七章符号对象,MATLAB语言:第七章 MATLAB符号计算

    <MATLAB语言:第七章 MATLAB符号计算>由会员分享,可在线阅读,更多相关<MATLAB语言:第七章 MATLAB符号计算(33页珍藏版)>请在人人文库网上搜索. 1. ...

  5. matlab中符号对象的数据类型是,符号对象(Symbolic Object)的使用

    符号对象是什么?符号对象是Matlab中一种特殊的数据类型, 其实质是"a data structure that stores a string representation of the ...

  6. matlab中的符号对象与符号运算

    符号对象(Symbolic Objects 不同于普通的数值计算)是Matlab中的一种特殊数据类型,它可以用来表示符号变量.表达式以及矩阵,利用符号对象能够在不考虑符号所对应的具体数值的情况下能够进 ...

  7. 【MATLAB】符号数学计算(一):符号对象的创建

    一.符号对象的创建命令 1.函数命令sym( ) variable=sym(A,flag) S=sym('A',flag) 如果A是(不带单引号)是一个数字.数值矩阵或者数值表达式,则输出结果是将数值 ...

  8. Matlab使用符号对象求二元函数积分并做图

    ​ 一.需求 需要做一个正态分布函数的概率密度图,打算使用符号对象syms做图. 二.使用方法 2.1 syms函数声明符号对象 syms 可以声明符号对象,以便求解方程的导数/积分的函数. 2.2 ...

  9. matlab求xk符号解,matlab符号运算习题

    matlab符号运算习题 第 3 讲 MATLAB 符号计算符号计算则是可以对未赋值的符号对象(可以是常数.变量.表达式)进行运算和处理.MATLAB 具有符号数学工具箱(Symbolic Math ...

最新文章

  1. CentOS7(64位)查看CPU和NVIDIA显卡温度
  2. matlab第三方控件,第三方控件介绍
  3. spring security原理
  4. [翻译] 使用 Serverless 和 .NET Core 构建飞速发展的架构
  5. java广度优先爬虫示例,【爬虫】广度优先遍历抓取数据概述
  6. 【面向对象】面向对象程序设计测试题11-类的高级特性测试题
  7. url参数 转java对象_如何让Spring MVC接收的参数可以转换为java对象
  8. 异常检测2——PCA异常检测
  9. C++-bit转hex(四位二进制转十六进制)
  10. spring(二)-反射、动态代理
  11. 洛谷 P1896 状压DP
  12. greensock下载_GreenSock动画平台初学者指南
  13. 查找手机号绑定的百度账号
  14. 魅族4usb计算机连接,魅族MX4如何连接电脑 魅族MX4连接电脑方法
  15. OCR 文字特征提取
  16. Oracle计算分组分位数
  17. 【粉笔结构化面试】综合分析类
  18. 机器学习(一)——基础概念
  19. java gdal_gdal java环境配置
  20. 网校搭建9:微信登录

热门文章

  1. 可调式减压阀行业现状调研及趋势分析报告
  2. 使用MOB免费短信验证码进行登录(注册)
  3. 计算机课高数怎么过,我是大一新鸟,学软件,想向大虾们讨教几手,我有高数,英语,法律.计算机,4门课,我该怎么学!介绍越详细越好,...
  4. spring——Spring自动装配——示例
  5. CTF-安全杂项(十四)
  6. 职场奇袭!3分钟完成一天工作!
  7. 情感分析Sentiment Analysis 知识资料全集(入门/进阶/论文/综述/视频/专家,附查看
  8. oracle rba一些小知识
  9. linux下eclipse安装mvn,Eclipse安装maven插件
  10. docker学习——bind mounts