首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

vpa函数在matlab中计算结果精确位数的使用

vpa函数在matlab中计算结果精确位数的使用

一般使用vpa函数来实现数值精确到小数点后某一位
vpa会根据精度要求去掉末尾的数位或者补0
例如
  • >> a=1.23456789
  • a =
  •     1.2346
  • >> b=vpa(a,7)
  • b =
  • 1.234568
  • >> vpa(a,12)
  • ans =
  • 1.23456789000


需要注意的是vpa的结果是符号数值,可以用于初等运算,不可用于关系运算
例如
  • >> 1+b
  • ans =
  • 2.234568
  • >> 1>b
  • ??? Undefined function or method 'gt' for input arguments of type 'sym'.


此外,也可用
  • round(a*10^N)/(10^N)


来实现精确到某一位小数
根据不同的取舍需要可用fix,floor,ceil来替换round
继承事业,薪火相传
返回列表