做网站襄樊,天津seo排名公司,企业管理8大系统,集团网站网页模板目录 前言Matlab取余函数1 mod 函数1.1 命令行输入1.2 命令行输出 2 rem 函数2.1 命令行输入2.2 命令行输出 分析原因注意 前言
在 Matlab 代码中mod(0.11, 0.1) 0.01 判断为真#xff0c;mod(1.11, 0.1) 0.01判断为假#xff0c;导致出现意料外的结果。
结果发现… 目录 前言Matlab取余函数1 mod 函数1.1 命令行输入1.2 命令行输出 2 rem 函数2.1 命令行输入2.2 命令行输出 分析原因注意 前言
在 Matlab 代码中mod(0.11, 0.1) 0.01 判断为真mod(1.11, 0.1) 0.01判断为假导致出现意料外的结果。
结果发现被除数小于1的话会出现这些结果被除数是大于1的小数不会。猜测应该是数据保存的精度问题。
知乎的回答解释 Matlab取余函数
1 mod 函数
matlab 文档——mod除后的余数取模运算
1.1 命令行输入
t0; for i 0:50, tt0.01; if mod(t,0.1) 0.01; fprintf(t的值:%.3f\n,t),end,end;1.2 命令行输出
会出现不想要的值 0.110 2 rem 函数
matlab 文档——rem 除后的余数
2.1 命令行输入
t0; for i 0:50, tt0.01; if rem(t,0.1) 0.01; fprintf(t的值:%.3f\n,t),end,end;2.2 命令行输出
会出现不想要的值 0.110 分析原因
mod 和 rem 函数得到的 0.0100 和 0.01 比较出错返回的是真。 注意 Matlab 代码中不加分号会默认再命令行窗口打印该变量结果 mod 函数生成一个为零或与除数具有相同符号的结果。 rem 函数生成一个为零或与被除数具有相同符号的结果。