首先声明一点,format这个函数不是用于控制运算精度的,它只能控制结果显示类型。运算的时候还是用matlab自己的精度,具体是多少就不知道了。matlab控制运算精度用的是digits和vpa这两个函数。digits用于规定运算精度,比如: digits(20); 这个语句就规定了运算精度是20位有效数字。但并不是规定了就可以使用,因为实际编程中,我们可能有些运算需要控制精度,而有些不需要控制。vpa就用于解决这个问题,凡是用需要控制精度的,我们都对运算表达式使用vpa函数。例如: digits(5); a=vpa(sqrt(2)); 这样a的值就是1.4142,而不是准确的 1.4142135623730950488016887242097...... 又如: digits(5); a=vpa(sqrt(2)); b=sqrt(2); 这样a的值是 1.4142,b没有用vpa函数,所以b是1.4142135623730950488016887242097...... vpa函数对其中每一个运算都控制精度,并非只控制结果。digits(11); a=vpa(2/3+4/7+5/9); b=2/3+4/7+5/9; a的结果为1.7936507936,b的结果为1.793650793650794......也就是说,计算a的值的时候,先对2/3,4 /7,5/9这三个运算都控制了精度,又对三个数相加的运算控制了精度。而b的值是真实值,对它取11位有效数字的话,结果为1.7936507937,与a不同,就是说vpa并不是先把表达式的值用matlab本身的精度求出来,再取有效数字,而是每运算一次,都控制精度。我举的例子不太好,因为加法不太会增加数字位数。希望大家能理解我的意思.... vpa对它括起来的运算每一次都控制精度,但有一点需要注意,vpa对函数的参数不起作用。举一个例子: digits(5); a=vpa(sqrt(2/3)); b=vpa(sqrt(vpa(2/3))); 结果a为0.81649,b为.81650。sqrt是一个函数,2/3是参数,也就是说,a式中,vpa对2/3是不起作用的,只对sqrt函数的返回值作用。如果想达到2/3的精度也要控制的效果,就要用b式,对参数也使用vpa函数。还有一点,digits 这个函数不是必需的,vpa可以这样用: vpa(表达式,运算精度); 举例来说: vpa(pi,5); 和digits(5); vpa(pi); 结果是一样的,vpa不指定运算精度,就用digits函数指定的。如果也没有用digits函数,那好象就是按matlab本身的精度来算的吧,这点我没试验,觉得不重要....

matlab 降低计算精度,MATLAB 计算精度控制相关推荐

  1. matlab优化算法案例分析与应用_最优化计算与matlab实现(18)——粒子群优化算法——权重改进的粒子群算法...

    参考资料 <精通MATLAB最优化计算(第二版)> 编程工具 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 权重改进 ...

  2. matlab nan变成0_最优化计算与matlab实现(17)——粒子群优化算法——带压缩因子的粒子群算法...

    参考资料 <精通MATLAB最优化计算(第二版)> 编程工具 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 带压缩因 ...

  3. [渝粤教育] 中南大学 科学计算与MATLAB语言 参考 资料

    教育 -科学计算与MATLAB语言-章节资料考试资料-中南大学[] 随堂测验 1.[单选题]MATLAB一词来自( )的缩写. A.Mathematica Laboratory B.Matrix La ...

  4. c++分治法求最大最小值实现_最优化计算与matlab实现(12)——非线性最小二乘优化问题——G-N法...

    参考资料 <精通MATLAB最优化计算(第二版)> 编程工具 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 非线性最 ...

  5. matlab length_【重点】最优化计算与matlab实现(20)——遗传算法

    参考资料 <精通MATLAB最优化计算(第二版)> 编程工具 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 遗传算法 ...

  6. MATLAB上的GPU加速计算

    概述 怎样在MATLAB上做GPU计算呢?主要分为三个步骤:数据的初始化.对GPU数据进行操作.把GPU上的数据回传给CPU 一.数据的初始化 首先要进行数据的初始化.有两种方法可以进行初始化:一是先 ...

  7. MATLAB牛拉法计算潮流,matlab潮流计算

    <matlab潮流计算>由会员分享,可在线阅读,更多相关<matlab潮流计算(14页珍藏版)>请在装配图网上搜索. 1.附录1使用牛顿拉夫逊法进行潮流计算的Matlab程序代 ...

  8. 直扩 单音干扰抑制 matlab,数学计算软件MATLAB资料集锦分享

    数学计算软件MATLAB资料集锦分享 (2014-08-20 17:07:08) 标签: matlab 数学建模 仿真模拟 整理了一些有关MATLAB资料如下: 1.H型可逆PWM变换器的控制方式解析 ...

  9. 求pi的数学模型matlab计算pi,MATLAB实验-pi的计算 圆周率的近似计算 数学软件与数学实验 教学课件.ppt...

    MATLAB实验-pi的计算 圆周率的近似计算 数学软件与数学实验 教学课件 1.圆周率π的计算历程 所谓"圆周率"是指一个圆的周长与其直径的比值.古今中外,许多人致力于圆周率的研 ...

  10. matlab找三角网,基于MATLAB的三角网交会点坐标计算的程序设计

    内容简介: 毕业论文 基于MATLAB的三角网交会点坐标计算的程序设计,共36页,14997字. 摘 要:Matlab语言具备高效.可视化及推理能力强等特点,是目前工程界流行最广的科学计算语言,而就测 ...

最新文章

  1. mysql 不同分区 同时insert_一文看懂mysql数据库分区表概念、类型、适用场景、优缺点及原理...
  2. 【项目实践】基于Mask R-CNN的道路物体检测与分割(从数据集制作到视频测试)...
  3. vim 插件_Vim自动生成tags插件vim-gutentag使用方法
  4. Windows权限设置详解
  5. c++虚函数的作用是什么?
  6. Hibernate的复合主键映射
  7. Java中的多重继承与组合vs继承
  8. C#:继承过程中的静态成员
  9. [多线程] Thread
  10. OpenCV4每日一练day9:单目相机标定
  11. 如何在缺乏商业项目经验的前提下成功通过面试,兼说我如何甄别非商业项目经验...
  12. android加密打包,(爱加密系列教程二十)Xamarin开发Android应用、如何打包apk(转载)...
  13. 新建scheme构建报错问题处理方案
  14. 测试方法之JUnit单元测试
  15. 还原 对于 服务器“DESKTOP-BNNIISU\SQLEXPRESS”失败。  (Microsoft.SqlServer.SmoExtended)
  16. RGB565 转 RGB
  17. 告赢了!程序员拒绝春节带电脑回家工作被开除,判决获赔19.4万!
  18. 【游戏开发】2D RPG游戏
  19. ios 中字符串怎么换行
  20. 一曲相思用计算机弹,弹一曲离殇,奏一曲相思

热门文章

  1. 投资学 | 投资日记(3)
  2. VirtualBox 安装 Ubuntu16.04服务器版系统
  3. 这个表是怎么回事??? [问题点数:50分] 收藏
  4. java web电子商务网站_电子商务 javaweb b2b b2c o2o 平台
  5. ORACLE UGA与CGA
  6. python例子高考志愿填报系统入口_2019年四川高考志愿填报系统入口网址登录入口(最新)...
  7. fopen函数的各种参数 r+ w+ a+ ab+
  8. 点云向量 旋转 罗德里格斯(Rodrigues)变换Matlab
  9. 【摘】Linux运维入门到高级全套常用要点
  10. python绘制饼图的如何设置高度宽度_Matplotlib添加pictu时调整饼图大小