Matlab中的符号计算

尽管本人认为Matlab是一个优秀的数值计算软件,不应该拿它来做符号计算,然而客观上Matlab确实有符号工具箱且有很多人使用。因此这里也整理了一点关于符号计算的认识。下面的说法或程序在Matlab 2013b下是成立的。更早版本的符号工具箱有一些差别。

1. 定义符号变量

syms x y

用syms命令可以一句话定义多个符号变量。还可以定义符号函数:

syms y(x1, x2)


2. 符号变量参与的计算与符号表达式求值

凡是有符号变量参加的计算,结果也是符号变量。例如:

a = 1.0;

syms b

c = a*b;

class(c)

结果显示变量c的类型是sym。

如果现在我又想给b赋值以得到一个具体的c,用subs:

cc = subs(c, b, 1.0) % 相当于“取b=1.0,代入c式中,得:” 

结果显示cc是一个值为1的符号变量。那么如何将其转换成一个数值变量呢?

ccc = double(cc)

很简单,一个double函数就可以把cc转换成double类型了。

哈哈,有了这个技能,再也不怕先化简后求值的数学题啦(⊙﹏⊙b汗)


3. 限定符号变量取值范围

数学中经常会有设x(x>0)这种操作,符号计算里可以用assume函数给变量加限制:

syms x a

assume(a ~= -1)

int(x^a, x)

结果为:

x^(a + 1)/(a

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值