matlab里面的符号运算和浮点运算的区别在哪里

小编 342

matlab里面的符号运算和浮点运算的区别在于:符号数值是精确表示的,而浮点数只是一种小数近似值,基于符号数的运算结果是精确的,而浮点运算结果则是一个接近值。matlab的符号运算是通过sym、syms 函数去创建符号对象或者符号表达式。

1.符号运算

Matlab符号计算建立在Maple基础之上,通过matlab符号数学工具箱来实现的。不同于浮点数,符号数值是精确表示的,而浮点数只是一种小数近似值,基于符号数的运算结果是精确的。matlab的符号运算是通过sym、syms 函数去创建符号对象或者符号表达式。例如一元二次函数我们便可以通过syms函数创建。

matlab中提供了强大的符号运算功能,可以按照推理解析的方法进行运算。符号运算的特点:

  • 符号运算以推理解析的方式进行,计算的结果不受计算累积误差影响;
  • 符号计算可以得出完全正确的封闭解和任意精度的数值解;
  • 符号计算命令调用简单;
  • 符号计算所需要的时间较长。

2.浮点运算

浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。matlab存储小数的类型有两种,分为单精度浮点数和双精度浮点数,matlab缺省值为双精度浮点数。双精度浮点数即double,占据64bit的存储空间;单精度浮点数为single,占据32bit的存储空间。相比单精度浮点数,双精度浮点数能精确更多的小数点。

浮点型参与的运算的注意事项:

  • 双精度浮点型与整型做数学运算结果仍是整型;
  • 双精度浮点型与单精度浮点型做数学运算结果是单精度浮点型;
  • 双精度浮点型与字符型、逻辑型做运算结果是双精度浮点型;
  • 单精度浮点型与整型不能做数学运算;
  • 单精度浮点型与字符型、逻辑型以及任何浮点型做运算都是单精度浮点型。

延伸阅读

matlab里面符号运算和数值运算的区别

符号运算和数值运算最基本的区别就是:符号运算的运算元素是符号,在运算过程中无须对变量进行赋值就可参加运算,但是必须先定义符号变量,其结果以符号形式出现。而数值运算的运算元素是数值,且在运算过程中必须先对变量进行赋值,然后才能参加运算,其结果以数值形式出现。

此外,两者还存在运行速度和计算结果精准度的区别。符号计算存放的是精确数据耗存储空间,运行速度慢,但结果精度高;而数值计算则是以一定精度来计算的,计算结果有误差,但是运行速度快。

对于一般的程序设计软件如C, C + + 等语言实现数值计算还可以, 但是实现符号计算并不是一件容易的事。而Matlab 自带有符号工具箱Symbolic Math Tooibox , 而且可以借助数学软件Maple, 所以Matlab 也具有强大的符号运算功能。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部