对于一个单、双精度数,获得其单独的整数部分或小数部分在一些程序中有特殊的作用。如对一个数进行去模运算、对一幅图像进行剪切使其高、宽是某个数的整数倍等等。

对于取整,在C语言中有专门的取整符号[],在Matlab中三种方法实现

(1)数据类型转换

可以采用数据类型变换的方法进行。

a=12.356;

b=double(uint16(a)); %这里利用了浮点数变无符号整型数时的四舍五入的特点

if a

b=b-1; %若b>a,说明是五入的情况,故要减去1

end % b就是其整数部分

等到了整数部分,小数部分就好办了:

c=a-b;

(2)取余数

如果知道被除数、除数,求其商的整数部分和小数部分,这时可以采用Matlab中的去模函数mod();直接得到整数部分,当然小数部分也就得到了

m=258;

n=13;

m0=mod(m,n); %去模

b=(m-m0)/n; %整数部分

c=m/n-b; %小数部分

也可以使用取余数的函数rem,代替去取模函数,

m=258;

n=13;

m0=rem(m,n); %取余数

b=(m-m0)/n; %整数部分

c=m/n-b; %小数部分

(3)直接使用相关函数

利用几个函数可以更方便快捷的得到整数部分,但其结果是有差别的,使用时请大家注意,并灵活应用。

floor(x):得到不大于x的整数值;

round(x):得到最接近x 的整数值;

ceil(x):得到不小于x的整数值;

fix(x):得到绝对值不大于x绝对值的整数值。

举例如下:

若x=[ -1.9 -0.2 3.4 5.6 7.0 2.4+3.6i

],则floor(x)、round(x)、ceil(x)和fix(x)的值分别如下:

-2.0  -1.0 3.0 5.0 7.0 2.0+3.0i

-2.0 0

3.0 6.0 7.0 2.0+4.0i

-1.0 0

4.0 6.0 7.0 3.0+4.0i

-1.0 0

3.0 5.0 7.0 2.0+3.0i

函数fix()满足我们一般取整数部分的要求。对于正数,可以用函数floor()和fix()来代替前面的程序。

matlab怎么提取小数部分,[转载]如何在Matlab中得到一个单、双精度数的整数部分和小数部分?...相关推荐

  1. matlab用双精度编程,如何在Matlab中得到一个单、双精度数的整数部分和小数部分?...

    对于一个单.双精度数,获得其单独的整数部分或小数部分在一些程序中有特殊的作用.如对一个数进行去模运算.对一幅图像进行剪切使其高.宽是某个数的整数倍等等. 对于取整,在C语言中有专门的取整符号[],在M ...

  2. 如何在Dart中创建一个单例?

    Q: 单例模式确保一个类只有一个实例被创建.我如何在Dart中构建这个模式? A: 在Dart中构建一个单例很容易,以工厂构造方法为例: class Singleton {static final S ...

  3. 让一个图片填满一个控件_如何在Android中实现一个全景图控件(二)

    一.背景 在 如何在Android中实现一个全景图控件(一)中,介绍了项目的一些基本情况(有 demo 演示),如果项目对你有帮助,希望文章赏个赞,项目 star 一下. 项目地址:https://g ...

  4. linux强制移除pdf密码,分享|如何在 Linux 中从一个 PDF 文件中移除密码

    今天,我碰巧分享一个受密码保护的 PDF 文件给我的一个朋友.我知道这个 PDF 文件的密码,但是我不想透露密码.作为代替,我只想移除密码并发送文件给他.我开始在因特网上查找一些简单的方法来从 PDF ...

  5. 如何在Java中创建一个新的List

    本文翻译自:How to make a new List in Java We create a Set as: 我们创建一个Set为: Set myset = new HashSet() How d ...

  6. lin通信ldf文件解析_详细步骤讲解如何在CANoe中创建一个LIN通讯工程(多图+详解)...

    本文首发自微信公众号"汽车技术馆"! CANoe可以实现基于CAN通讯的通讯测试和仿真,同时也可以支持基于LIN通讯的通讯测试和仿真,如何在CANoe中建立一个基于LIN通讯的工程 ...

  7. python if语句多个条件-关于函数:如何在python中为一个if语句提供多个条件

    本问题已经有最佳答案,请猛点这里访问. 所以我在用python 3.1.5编写一些代码,这些代码需要有多个条件才能发生某些事情.例子: 1 2 3 4 5def example(arg1, arg2, ...

  8. ai中如何插入签名_如何在PDF中插入一个或多个空白页?

    在编辑或修改PDF文档时,一般都需要新增空白页后再添加文本或图片等内容,那么如何在PDF中插入一个或多个空白页呢? 首先打开极速PDF编辑器,或打开需要编辑的PDF文档后,点击右上角"文档& ...

  9. python中2d_【IT专家】如何在Python中复制一个2D数组?(复制)

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 如何在 Python 中复制一个 2D 数组? ( 复制 ) 如何在 Python 中复制一个 2D 数组 ?( 复制 )[ 英 ]How to  ...

最新文章

  1. Windows XP权限
  2. [Android Pro] 通过IMSI判断手机是移动、联通、电信
  3. git把本地代码上传(更新)到github上
  4. 做程序员的纠结在哪里
  5. 橙白oj 2017级《算法分析与设计》-练习02
  6. c#中使用openssl
  7. 错过校招_您可能错过的Web优化技巧
  8. FreeRTOS源码分析与应用开发11(完):编译、链接与部署
  9. 蓝桥杯 ADV-150算法提高 周期字串
  10. flask-mail异步发送邮件_Spring Boot与异步任务、定时任务、邮件任务
  11. 九度OJ 1340:小A的计算器 (进制转换)
  12. mysql5.7优化案例_MYSQL5.7函数索引优化案例【企业数据库实战优化项目】
  13. 强大的Pidgin,Pidgin的使用
  14. Python 保存图片的两种方法
  15. CSR867x学习笔记:SPP Server and Client
  16. JDBC之mysql入门
  17. 【转】14年从业老兵分享万字长文MMO成功秘诀
  18. DAY4-2022.5.8-CMS
  19. ps去掉文字的简单方法
  20. 支付清结算之账户和账务处理

热门文章

  1. linux read() 函数
  2. 米洛个人修炼术:如何倍增你的功力修行速度达成健康体魄
  3. 华为手表 GT3训练计划怎么用?
  4. powershell spirit
  5. 如何对pdf电子文档进行手写签名
  6. useRoutes与React.lazy的使用
  7. 019基于脑电图信号和CNN的癫痫发作检测2018
  8. GFD233A 3BHE022294R0103
  9. Clickhouse副本与分片
  10. PID循迹机器人及整定