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

MATLAB矩阵分析及符号运算

第三讲 MATLAB的符号运算 —— matlab 不仅具有数值运算功能,还开发了在matlab环境下实现符号计算的工具包Symbolic Math Toolbox 符号运算的功能 符号表达式、符号矩阵的创建 符号线性代数 因式分解、展开和简化 符号代数方程求解 符号微积分 符号微分方程 一、符号运算的基本操作 什么是符号运算 与数值运算的区别 ※ 数值运算中必须先对变量赋值,然后才能参与运算。   ※ 符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。 2. 符号变量与符号表达式 f = 'sin(x)+5x' f —— 符号变量名 sin(x)+5x—— 符号表达式 ' '—— 符号标识 符号表达式一定要用' ' 单引 号括起来matlab才能识别。 3.符号矩阵的创建 数值矩阵A=[1,2;3,4] A=[a,b;c,d] —— 不识别 ?用matlab函数sym创建矩阵(symbolic 的缩写) 命令格式:A=sym('[ ]') ※ 符号矩阵内容同数值矩阵 ※ 需用sym指令定义 ※ 需用' '标识 例如:A = sym('[a , 2*b ; 3*a , 0]') A = [ a, 2*b] [3*a, 0] 这就完成了一个符号矩阵的创建。 注意:符号矩阵的每一行的两端都有方括号,这是与 matlab数值矩阵的一个重要区别。 ?用字符串直接创建矩阵 模仿matlab数值矩阵的创建方法 需保证同一列中各元素字符串有相 同的长度。 ? 符号矩阵的修改 a.直接修改 可用?、 ?键找到所要修改的矩阵,直接修改 b.指令修改 用A1=sym(A,?,?,'new') 来修改。 用A1=subs(A, 'new', 'old')来修改 A1=subs(S, 'old' ,'new') 例如:A =[ a, 2*b] [3*a, 0] A1=sym(A,2,2, '4*b') A1 =[ a, 2*b] [3*a, 4*b] ? 符号矩阵与数值矩阵的转换 将数值矩阵转化为符号矩阵 函数调用格式:sym(A) A=[1/3,2.5;1/0.7,2/5] A = 0.3333 2.5000 1.4286 0.4000 sym(A) ans = [ 1/3, 5/2] [10/7, 2/5] 将符号矩阵转化为数值矩阵 函数调用格式: numeric(A) A = [ 1/3, 5/2] [10/7, 2/5] numeric(A) ans = 0.3333 2.5000 1.4286 0.4000 二、符号运算 符号矩阵运算 数值运算中,所有矩阵运算操作指 令都比较直观、简单。 例如:a=b+c; a=a*b ; A=2*a^2+3*a-5等。 而符号运算就不同了,所有涉及符号运算的操作都有专用函数来进行 符号矩阵运算的函数: symadd(a,d) —— 符号矩阵的加 symsub(a,b) —— 符号矩阵的减 symmul(a,b) —— 符号矩阵的乘 symdiv(a,b) —— 符号矩阵的除 sympow(a,b) —— 符号矩阵的幂运算 symop(a,b) —— 符号矩阵的综合运算 例1:f= '2*x^2+3*x-5'; g= 'x^2+x-7'; h= symadd(f,g) h= 3*x^2+4*x-12 例2:f='cos(x)';g= ' sin(2*x)'; symop(f,'/',g,'+',f,'*',g) ans = cos(x)/sin(2*x)+cos(x)*sin(2*x) 例1:f= 2*x^2+3*x-5; g= x^2+x-7; >> syms x >> f=2*x^2+3*x-5; g= x^2+x-7; >> h=f+g h = 3*x^2+4*x-12 例2:f=cos(x);g=

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值