如何使Matlab中符号数字实现任意精度表达

 时间:2024-10-21 10:03:58

MATLAB中的符号计算运算过程是在完全精确情况下完成的,他不会产生累计误差。但这一切的实现是以降低计算速度和增加所需内存为代价来实现的。有时候为了兼顾计算精度和计算速度,我们就需要对符号数字进行“变精度”表达。这里我就介绍一下如何在Matlab中是实现符号数字的任意精度表达。

如何使Matlab中符号数字实现任意精度表达

工具/原料

可正常工作的电脑(安装有matlab软件)

Matlab软件可正常运行

方法/步骤

1、重置符号计算引擎在计算之前我们需要重置符号计算引擎,以产生准确的符号数字。这里重置符号计算引擎的指令为reset(symengine),其功能为重新启动符号计算引擎。详细请看下图:

如何使Matlab中符号数字实现任意精度表达

2、精度表达的相关指令有关精度表达的相关指令有如下:digits功能:显示当前环境下符号数字“十进制浮点”表示的有效数字位数digits(n)功能:设定符号数字“十进制浮点”表示的有效数字位数xs=vpa(x)功能:根据表达式x得到digits制定精度下的符号数字xsxs=vpa(x,n)功能:根据表达式x得到n位有效数字的符号数字xs

如何使Matlab中符号数字实现任意精度表达

3、采用默认设置的结果这里我们先采用默认设置“变精度算法”的及结果,以及真正了解有效数位的含义。在这过程中需要用到上一步介绍的指令,我们要注意其用法。详细过程请看下图。

如何使Matlab中符号数字实现任意精度表达

4、设定有效数字位数在设定之前我们先查看目前“变精度算法”的有效数字位数,然后在重新设定为另外一个有效数字位数。

如何使Matlab中符号数字实现任意精度表达

5、利用vpa指令查看修改结果这里我们采用第二步介绍的vpa指令的两种输入方法查看结果。具体请看下图。

如何使Matlab中符号数字实现任意精度表达

6、小结由以上可以看出:1,digits(n)可以设定系统的“变精度算法”的有效数字位数,对其后都有影响。2,xs=vpa(x,n),根据表达式x得到n位有效数字的符号数字xs,只改变xs的有效位数,对其后没有影响。

如何使Matlab中符号数字实现任意精度表达

matlab怎么删除某一行错误代码 如何在MATLAB图形中描述ε? linspace(a,b,c)什么意思 matlab怎么删除上一条命令 matlab中怎么定义函数
热门搜索
少女心 邪恶美少女漫画 苹果标志图片 流氓兔图片 下雪天图片