当前位置: 首页 > news >正文

Matlab自学笔记五十七:符号运算、可变精度运算、双精度浮点型运算,三种运算精度的概念、比较、选择和应用

1.可变精度算术的概念

默认的,Matlab双精度浮点数使用16位数字精度,而符号数学工具箱的vpa函数,提供了无限大的可变精度,它默认使用32位数字精度,32位指的是有效数字的位数;

2.具体用法

程序示例:

pi  %默认双精度浮点型,16位精度,默认short显示格式小数点后4位

ans =

    3.1416

vpa(pi)  %可变精度数值,32位精度

ans =

3.1415926535897932384626433832795

vpa(pi,100)  %设置100位精度

ans =

3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068

%% 下面让整个运行环境使用可变精度

digits  %获取当前运行环境的精度

i=digits(100)  %设置运行环境精度100,i返回设置前的精度值

vpa(pi)  %显示pi的可变参数值,已变为100位

运行结果:

Digits = 32

i =

    32

ans =

3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068

3.三种算术条件的运算精度比较

3.1 符号算术

默认的,符号数学工具箱使用确切的数字,进行精确的符号计算;具体看54:符号运算Matlab自学笔记五十四:符号数学工具箱和符号运算、符号求解、绘图

3.2 可变精度算术

是符号数学工具箱的功能,是符号计算的近似数值计算,通过控制数值显示的有效位数实现可变精度,默认32位,运算速度稍快,内存消耗量依赖于设定的精度;

3.3 双精度浮点数算术

双精度浮点运算就是常规的Matlab数值计算,也是Matlab默认的运算方式,有舍入误差,精确到16位精度,运算速度最快,内存消耗最少;

4.运算精度的选择

实例:分别在上述三种算术条件下求sin(pi)的值

程序示例:

a=sym(pi)  %符号型运算

sin(a)

a =

pi

ans =

0

b=vpa(pi)  %可变精度型运算

sin(b)

b =

3.1415926535897932384626433832795

ans =

-3.2101083013100396069547145883568e-40

c=pi  %双精度运算

sin(c)

c =

    3.1416

ans =

   1.2246e-16

从结果可以看出,精度依次降低。

更多精彩内容

1.49/Matlab实时脚本/写论文必备技能

37.31 AppDesigner案例:数据库读取、查询和计算软件

25.1 快速上手朴素贝叶斯算法分类识别及其Matlab编程代码实例

31.3 Matlab绘图之图像上添加标题、标签和图例,那些希腊的罗马的特殊字符应该都涵盖了哈

38.1 从图像曲线上提取坐标数据:测量长度,测量角度、圆心和半径

47.1/Matlab遗传算法/概念/原理/编程演示数学建模

48.1/Matlab粒子群算法编程/概念和算法流程数学建模

49.1/Matlab模拟退火算法/概念/原理/程序演示

50.1 Matlab数学建模:模式搜索优化算法/原理/概念/程序演示

【Matlab轻松小课堂】66.5 程序注释实例

23.1 一节入门Matlab拟合问题fit,建立预测变量与响应变量之间的关系(一般是函数关系)

24.1 一节入门K近邻算法附Matlab编程示例

26.1(上) 一节入门SVM支持向量机算法,含Matlab编程讲解

37.1 一节光速入门Matlab AppDesigner界面设计编程

36.1 Matlab GUI 界面设计初学者光速入门

45.1 一个实例入门Matlab深度学习|卷积神经网络

43.5 神经网络初始化权重参数和配置输入输出大小Matlab编程实例演示

End

http://www.lqws.cn/news/96661.html

相关文章:

  • ssh登录wsl2
  • 关于 java:6. 反射机制
  • 【C++】特殊类设计
  • 开疆智能Profinet转Profibus网关连接CMDF5-8ADe分布式IO配置案例
  • 人工智能-Chain of Thought Prompting(思维链提示,简称CoT)
  • 2025 Java面试大全技术文章大纲
  • 【Linux】linux基础指令
  • 预警功能深度测评:系统如何降低设备突发故障率?
  • 职坐标IT培训:嵌入式开发C语言/硬件/RTOS路径
  • ElasticSearch+Gin+Gorm简单示例
  • 黑客利用GitHub现成工具通过DevOps API发起加密货币挖矿攻击
  • 计算机基础知识(第三篇)
  • NLP学习路线图(二十):FastText
  • VR线上展厅特点分析与优势
  • Windows Server部署Vue3+Spring Boot项目
  • 虚拟现实教育终端技术方案——基于EFISH-SCB-RK3588的全场景国产化替代
  • 连接关键点:使用 ES|QL 联接实现更丰富的可观测性洞察
  • VR教育:开启教育新时代的钥匙
  • OpenCV 滑动条调整图像对比度和亮度
  • OpenCV CUDA模块特征检测------创建Harris角点检测器的GPU实现接口cv::cuda::createHarrisCorner
  • 【运维】统信UOS操作系统aarch64自制OpenSSH 9.6p1 rpm包(含ssh-copy-id命令)修复漏洞
  • 基于 COM 的 XML 解析技术(MSXML) 的总结
  • mac下通过anaconda安装Python
  • c语言内存函数
  • Java 中执行命令并使用指定配置文件的最佳实践
  • Oracle双平面适用场景讨论会议
  • 云服务器宕机或重启后数据会丢失吗?
  • 数据驱动在线教育平台优化:用数据帮你变成“教书匠+数据控”
  • Agentic Workflow是什么?Agentic Workflow会成为下一个AI风口吗?
  • Springboot中Controller接收参数的方式