符号对象的建立

符号对象的建立:sym syms

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

例如:a=sym('a')    a 是符号变量

b=sym(1/3)          b 是符号常量

C=sym('[1 ab; c d]')             C 是符号矩阵

syms 命令用来建立多个符号变量,一般调用格式为:

syms 符号变量1 符号变量2 ... 符号变量n

syms a b c;  等价  

>> a=sym('a');

>> b=sym('b');

>> c=sym('c');

建立符号表达式通常有以下2种方法:

(1)sym 函数直接建立符号表达式。
(2) 使用已经定义的符号变量组成符号表达式。

例如:  y=sym('sin(x)+cos(x)')

>> x=sym('x');

>>  y=sin(x)+cos(x)

>> syms x;

>>  y=sin(x)+cos(x)

符号表达式的替换

用给定的数据替换符号表达式中的指定的符号变量

 subs(f,x,a)

a 替换字符函数 f  中的字符变量  x
 a 是可以是 /数值变量/表达式 字符变量/表达式   

x 是一个由多个字符变量组成的数组或矩阵,

a 应该具有与 x 相同的形状的数组或矩阵。

>> f=sym('2*u');

>> subs(f,'u',2)

>> f2=subs(f,'u','u+2')

>> a=3;

>> subs(f2,'u',a+2)

>> subs(f2,'u','a+2')

>> syms x y

>> f3=subs(f,'u',x+y)

>> subs(f3,[x,y],[1,2])

                                                                                        符号矩阵

使用 sym 函数直接生成

>> A=sym('[1+x, sin(x); 5, exp(x)]')

将数值矩阵转化成符号矩阵

>> B=[2/3, sqrt(2); 5.2, log(3)];

>> C=sym(B)

符号矩阵中元素的引用和修改

>> A=sym('[1+x, sin(x); 5, exp(x)]');

>> A(1,2) % 引用

                                                                                因式分解

factor() 也可用于正整数的分解

>> factor(sym('12345678901234567890'))     l 大整数的分解要转化成符号常量

函数展开

expand(f)

l多项式展开

>> syms x; f=(x+1)^6;

>> expand(f)

三角函数展开

>> syms x y; f=sin(x+y);

>> expand(f)

合并同类项

collect(f,v): 按指定变量 v 进行合并

collect(f): 默认变量进行合并

syms x y;

>> f= x^2*y + y*x - x^2 + 2*x ;

>> collect(f)

>> collect(f,y)

函数简化

y=simple(f):    f  尝试多种不同的算法进行简化,返回其中最简短的形式

[How,y]=simple(f):   y f 的最简短形式,How 中记录的为简化过程中使用的方法。

f

R

HOW

2*cos(x)^2-sin(x)^2

3*cos(x)^2-1

simplify

(x+1)*x*(x-1)

x^3-x

combine(trig)

x^3+3*x^2+3*x+1

(x+1)^3

factor

cos(3*acos(x))

4*x^3-3*x

expand

y=simplify(f):    f  进行简化

>> syms x; f=sin(x)^2 + cos(x)^2 ;

>> simplify(f)

>> syms c alpha beta;

>> f=exp(c*log(sqrt(alpha+beta)));

>> simplify(f)

例:简化 

>> syms x;

>> f=(1/x^3+6/x^2+12/x+8)^(1/3);

>> y1=simplify(f)

g1=simple(f)

>> g2=simple(g1)

l 多次使用 simple 可以达到最简表达。

分式通分

[N,D]=numden(f):

 N 为通分后的分子,D 为通分后的分母

>> syms x y;

>> f=x/y+y/x;

>> [N,D]=numden(f)

>> [n,d]=numden(sym(112/1024))

horner 多项式

horner 多项式:嵌套形式的多项式

列:

>> syms x;

>> f=x^4+2*x^3+4*x^2+x+1;

>> g=horner(f)

计算导数

g=diff(f,v)求符号表达式  f 关于 v 的导数

g=diff(f)求符号表达式  f 关于默认变量的导数

g=diff(f,v,n)  f 关于 v n 阶导数

>> syms x;

>> f=sin(x)+3*x^2;

>> g=diff(f,x)

计算积分

int(f,v,a,b): 计算定积分 

int(f,a,b): 计算关于默认变量的定积分

int(f,v): 计算不定积分

int(f): 计算关于默认变量的不定积分

例:计算   

>> syms x; f=(x^2+1)/(x^2-2*x+2)^2;

>> I=int(f,x)

>> K=int(exp(-x^2),x,0,inf)

                                                                            符号求和

symsum(f,v,a,b): 求和  

symsum(f,a,b): 关于默认变量求和
例:计算级数 及其前100项的部分和

>> syms n; f=1/n^2;

>> S=symsum(f,n,1,inf)

>> S100=symsum(f,n,1,100)

                                                                           微分方程求解

dsolve

y=dsolve('eq1','eq2', ... ,'cond1','cond2', ... ,'v') 

其中 y 为输出的解, eq1eq2. . . 为微分方程,
cond1cond2...为初值条件, v 为自变量

例 1:求微分方程的通解,并验证。

>>  y=dsolve('Dy+2*x*y=x*exp(-x^2)','x')

>> y= C2*exp(-x^2) + (x^2*exp(-x^2))/2

例2:求微分方程满足初值条件
的特解,并画出解函数的图形

>>  y=dsolve('x*Dy+y-exp(x)=0', ...
            '
y(1)=2*exp(1)', 'x')

>> ezplot(y);

例3:求微分方程组 在初值条件 

下的特解,并画出解函数的图形。

[x,y]=dsolve('Dx+5*x+y=exp(t)','Dy-x-3*y=0', ...  

             'x(0)=1', 'y(0)=0', 't')

ezplot(x,y,[0,1.3]);

MATLAB基础(三)符号运算相关推荐

  1. Matlab系列之符号运算(上)

    Matlab系列之符号运算 前言 创建符号对象 基本操作 符号变量的基本操作 符号表达式的基本操作 四则运算 多项式的操作 符号表达式化简 符号表达式的替换 反函数求解 复合函数 更多精彩等你发现~ ...

  2. MATLAB基础——设置符号变量sym,syms,symfun,symvar

    在数学运算中,运算的结果如果是一个数值,可以称这类运算为数值运算:如果运算结果为表达式,在MATLAB中称为符号运算,符号计算是对未赋值的符号对象(可以是常数.变量.表达式)进行运算和处理. 这类函数 ...

  3. MATLAB学习之符号运算

    创建符号变量 数值与符号的转换 数值矩阵转换为符号矩阵 符号替换 本文介绍MATLAB中的符号运算: 1. 创建符号变量 符号常量是不含变量的符号表达式,用 sym 命令来创建符号常量. sym('常 ...

  4. matlab中两个符号矩阵相加,MATLAB矩阵分析及符号运算.ppt

    MATLAB矩阵分析及符号运算 第三讲 MATLAB的符号运算 -- matlab 不仅具有数值运算功能,还开发了在matlab环境下实现符号计算的工具包Symbolic Math Toolbox 符 ...

  5. matlab数值与符号运算

    matla数值与符号运算 1. 多项式计算 主函数 clc clear close %多项式 x^4-12*x^3+25*x+116 p=[1 -12 0 25 116]%多项式求值函数 polyva ...

  6. matlab 无穷符号,MATLAB强大的符号运算

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

  7. MATLAB数值计算与符号运算

    符号计算 存放的是精确数据,耗存储空间 ,运行速度慢,但结果精度高: 数值计算则是以一定精度来计算的,计算结果有误差,但是运行速度快. 转载于:https://www.cnblogs.com/shaw ...

  8. MATLAB的符号运算基础

    在数学运算中,运算的结果如果是一个数值,可以称这类运算为数值运算:如果运算结果为表达式,在MATLAB中称为符号运算,符号计算是对未赋值的符号对象(可以是常数.变量.表达式)进行运算和处理.MATLA ...

  9. matlab中exp(liangx),Matlab基础知识

    <Matlab基础知识>由会员分享,可在线阅读,更多相关<Matlab基础知识(122页珍藏版)>请在人人文库网上搜索. 1.Lxy, China Jiliang Univer ...

  10. MATLAB08:符号运算

    pdf版本笔记的下载地址: MATLAB08_符号运算(访问密码:3834) MATLAB08:符号运算 创建符号变量 创建符号数字 创建符号变量 符号运算 符号表达式的化简与代入 符号表达式的化简 ...

最新文章

  1. 2021-08-20 python安装及作图
  2. Linux netfilter源码分析(4)
  3. python量化交易开源框架_hikyuu: 基于C++/Python的开源量化交易研究框架
  4. 一款响应式的(电子报)Newsletter 模板 – Antwort
  5. [WP8] Binding时,依照DataType来选择DataTemplate
  6. 自行车测速器怎么调_怎么测甲醛?
  7. 2020软件测试学科全套上课视频教程网盘免费分享
  8. Synergy两台电脑使用同一个鼠标和键盘
  9. 打印机服务器启用后自动关闭,共享打印机点击打印就自动关闭该怎么办?
  10. Android腾讯微博开放平台(六)发布一条图文微博
  11. 1 Spark机器学习 spark MLlib 入门
  12. ROS moveit cartesian_demo 机械臂笛卡尔空间路径速度限制
  13. 脑控技术原理及受害者自救
  14. 计算机怎么快捷截图桌面,电脑截屏的快捷键是什么
  15. PureMVC(AS3)剖析:实例
  16. 【期末复习】信息安全技术(含答案)
  17. 时间格式处理获取本年份的起止时间
  18. 详解 http 鉴权
  19. 【ChatGPT 中文版小程序】无需注册体验 ChatGPT 的攻略
  20. 芜湖市荟萃中学计算机课老师名单,做智慧型班主任 ——芜湖荟萃中学召开班级工作经验交流暨班主任培训会...

热门文章

  1. 论文笔记1 | 使用CTC对湍流工业火焰进行瞬时三维重建
  2. Robotium 介绍
  3. word 插入图片显示不全
  4. 四种连接类型:inner(内连接),left[outer](左外连接),right[outer](右外连接),full[outer](完全外连接)
  5. Integer类型的比较
  6. itoa()和atoi()函数详解
  7. 主成分分析(PCA)(principal component analysis)
  8. python 画折线图怎么控制x轴间隔_用Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围...
  9. oracle 推进scn号
  10. oracle 视图、索引、序列、同义词