MATLAB中符号运算和数值运算的区别

两者的根本区别是 : 数值计算的表达式、矩阵变量中不允许有未定义的自由变量 , 而符号计算可以含有未定义的符号变量对于一般的程序设计软件如 C, C + + 等语言实现数值计算还可以 , 但是实现符号计算并不是一件容易的事。而 Matlab 自带有符号工具箱 Symbolic Math Tooibox , 而且可以借助数学软件 Maple, 所以 Matlab 也具有强大的符号运算功能。
一、 字符串的定义
MATLAB 用单引号来定义字符串。例如在指令窗口输入:A= ’hello, this is a string’ ,则会输出 A=hello, this is a string
二、 定义符号变量与符号表达式
在 MATLAB 指令窗口,输入的数值变量必须提前赋值,否则会提示出错。只有符号变量可以在没有提前赋值的情况下合法地出现在表达式中,但是符号变量必须预先定义。
在 Matlab 的数据类型中 , 字符型与符号型是两种重要而又容易混淆的数据类型。
符号变量是利用指令 sym 和 syms 来创建 .
它们的使用格式为 :
S = sym( ′ A ′ ) 定义单个符号变量 S
syms a b c 定义多个符号变量 a, b, c
syms 命令的使用要比 sym 简便 , 它一次可以定义多个符号变量 , 而且格式简练。因此一般用 syms 来创建符号变量。注意各符号变量之间必须是空格隔开。
语句 Syms x y z w
表示将 x,y,z 和 w 定义为符号变量。如果再输入: p=sin(x)+cos(x)+z+2*w, 执行后 P 就表示表达式 sin(x)+cos(x)+z+2*w
三、 将数值表达式转换为符号表达式
命令 sym 可将数值表达式转成符号表达式,其语法为:
Sym(‘ 数值表达式 ’)
例如,在指令窗口输入:
P=sym(‘2+sqrt(5)’)
则得到输出:
P=2+sqrt(5) ,此时P是一个符号表达式,而不是一个数值表达式。
四、 计算符号表达式的值
如果要计算前面的符号表达式P的值,则需要用 eval_r(P) 来计算P的近似值。即可输入:
eval_r(P)
得到输出: ans=4.2361
由于 P=sym(‘2+sqrt(5)’) 实际上是一个符号常数,所以也可以用 vpa 命令计算(使用vpa(P)更精确,意思是将符号量转为32位有效数字的数值量,也可设置5位小数 digits(5),vpa(P))。
五、数值变量、符号变量、字符变量的相互转化
数值变量、符号变量、字符变量的相互转化在 Matlab 工作空间中 , 数值、符号和字符是 3 种主要的数据类型。
Matlab 可以利用命令来实现不同类型数据间的转换。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值