关于isinteger命令(混乱)

11视图(30天)
C曾
C曾 2013年3月14日
编辑: 每•艾萨克森 2015年1月16日
嗨,isinteger的命令我可以检查,如果它是一个整数,然而,当定义在第一,Matlab假定它是双精度对吧?所以即使= 3,isinteger()返回0。
如何解决这个问题?

接受的答案

每•艾萨克森
每•艾萨克森 2013年3月14日
编辑:每•艾萨克森 2015年1月16日
Matlab在不同的方面代表整数:
  • int8、int16等看到基督徒的答案
  • 特别使用双,叫做弗林特。看到浮动点
我使用这个函数来测试 弗林特
函数安全部队= isflint (m)
%浮动双只
试一试
bitand (abs (m), 1);
安全部队= true;
安全部队= false;
结束
结束
我拿起这个想法从贡献FEX“行人”。
(我脱光衣服的评论和错误处理)。
5个评论
C曾
C曾 2013年3月17日
谢谢,我理解它。很高兴知道。

登录置评。

更多的答案(2)

1月
1月 2013年3月16日
加入的舍入检查溢出:
函数安全部队= isflint (m)
安全部队= (abs (m) < = bitmax & & m = =地板(m));
1评论
每•艾萨克森
每•艾萨克森 2013年3月18日
我将代替我的神秘isflint。

登录置评。


ChristianW
ChristianW 2013年3月14日
医生isinteger
isinteger (int8 (3))
5个评论
C曾
C曾 2013年3月17日
好吧

登录置评。

类别

找到更多的在数据类型识别帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!