matlab符号运算

举例

求一元二次方程 ax2 + bx + c = 0 的根

solve('a*x^2+b*x+c')

求 f (x) = (cos x)2 的一次导数

x=sym('x');
diff(cos(x)^2)

计算 f (x) = x2 在区间 [a, b] 上的定积分

syms a b x;
int(x^2,a,b)

符号对象与符号表达式

在进行符号运算时,必须先定义基本的符号对象,可以是符号常量、符号变量、符号表达式等。
含有符号对象的表达式称为符号表达式,Matlab 在内部把符号表达式表示成字符串,以与数值变量或运算相区别。
符号矩阵/数组:元素为符号表达式的矩阵/数组。

符号对象的建立

符号对象的建立:sym 和 syms

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

a=sym('a')

a是符号变量

b=sym(1/3)

b 是符号常量

c=sym('[1 ab; c d]')

c 是符号矩阵

syms 命令可以用来建立多个符号变量

syms a b c

a b c中间一定要用空格隔开,不能用逗号
syms不能用来创建符号常量

符号表达式的建立

建立符号表达式通常有以下2种方法:
(1) 用 sym 函数直接建立符号表达式。
(2) 使用已经定义的符号变量组成符号表达式。

y=sym('sin(x)+cos(x)')
>> x=sym('x');
>>  y=sin(x)+cos(x)

符号矩阵的建立与元素引用

使用 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) % 引用
 A(2,2)=sym('cos(x) ') % 重新赋值

符号对象的基本运算

Matlab 符号运算采用的运算符和基本函数,在形状、名称和使用上,都与数值计算中的运算符和基本函数完全相同
普通运算:+ 、- 、* 、\ 、/ 、^
数组运算:.* 、.\ 、./ 、.^
矩阵转置:’ 、.’
基本函数:
sin、cos、tan、cot、sec、csc、…
asin、acos、atan、acot、asec、acsc、…
exp、log、log2、log10、sqrt
abs、conj、real、imag
rank、det、inv、eig
diag、triu、tril

计算行列式
在这里插入图片描述在这里插入图片描述

查找符号变量

findsym(expr)

按字母顺序列出符号表达式 expr 中的所有符号变量

findsym(expr, N)

按顺序列出 expr 中离 x 最近的 N 个符号变量
(若表达式中有两个符号变量与 x 的距离相等,则ASCII 码大者优先。常量 pi, i, j 不作为符号变量)

符号表达式的替换

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

subs(f,x,a) 

用 a 替换字符函数 f 中的字符变量 x
a 是可以是 数/数值变量/表达式 或 字符变量/表达式
若 x 是一个由多个字符变量组成的数组或矩阵,则 a 应该具有与 x 相同的形状的数组或矩阵。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

其他相关函数

double(x) 把符号常数转化为浮点数值对象。
class(x) 查看指定变量 x 的类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值