首页 > 其他分享 >matlab 小数取余 rem 和 mod有 bug

matlab 小数取余 rem 和 mod有 bug

时间:2024-07-24 20:28:07浏览次数:12  
标签:函数 0.1 0.01 matlab 命令行 rem 取余 mod

目录

前言

在 Matlab 代码中mod(0.11, 0.1) < 0.01 判断为真,mod(1.11, 0.1) < 0.01判断为假,导致出现意料外的结果。

结果发现被除数小于1的话会出现这些结果,被除数是大于1的小数不会。猜测应该是数据保存的精度问题。

知乎的回答解释

在这里插入图片描述

Matlab取余函数

1 mod 函数

matlab 文档——mod除后的余数(取模运算)

1.1 命令行输入

t=0; for i =0:50, t=t+0.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 命令行输入

t=0; for i =0:50, t=t+0.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 比较出错,返回的是真。

在这里插入图片描述
在这里插入图片描述

注意

  1. Matlab 代码中不加分号会默认再命令行窗口打印该变量结果

  2. mod 函数生成一个为零或与除数具有相同符号的结果。
    rem 函数生成一个为零或与被除数具有相同符号的结果。

在这里插入图片描述

标签:函数,0.1,0.01,matlab,命令行,rem,取余,mod
From: https://blog.csdn.net/weixin_42899627/article/details/140647667

相关文章

  • 改进的灰狼优化算法(GWO)(附完整matlab代码)
    1.灰狼优化算法灰狼优化算法作为一种高效率群体智能优化算法,其结构简单,收敛速度快,调节参数少,在时间序列预测,机械设计,结构设计,聚类分析等工程问题上都有着十分广泛的应用。但是在应用过程中发现,其存在种群多样性差,后期收敛速度缓慢,容易陷入局部最优以及局部搜索和全局搜索不均......
  • MVO-CNN多输入分类预测|多元宇宙算法-卷积神经网络|Matlab
    目录一、程序及算法内容介绍:基本内容:亮点与优势:二、实际运行效果三、算法介绍:四、完整程序下载:一、程序及算法内容介绍:基本内容:本代码基于Matlab平台编译,将MVO(多元宇宙算法)与CNN(卷积神经网络)结合,进行多输入数据分类预测输入训练的数据包含12个特征,1个响应值,即......
  • MATLAB代码|TOA/TDOA测距定位|二维|任意个锚节点
    TOA/TDOATOA(TimeofArrival)和TDOA(TimeDifferenceofArrival)是通过传播时间来确定位置的方法。换算成的单程信号传输时间τ\tauτ加上噪声......
  • 如何使用 Python 和 Numpy 重现 Matlab 文件读取以解码 .dat 文件?
    我有一个Matlab脚本,可以读取编码的.dat文件,对其进行解码并保存。我试图使用numpy将其转换为Python。我发现对于同一个文件,我得到不同的输出结果(python数字没有意义)。该代码最初作为从串行端口读取的脚本的一部分运行,因此是数据的结构。我首先认为位移是问题所在,因为......
  • 基于CNN卷积神经网络的MQAM调制识别matlab仿真
    1.算法运行效果图预览(完整程序运行后无水印)  2.算法运行软件版本matlab2022a 3.部分核心程序(完整版代码包含中文注释,训练库) digitDatasetPath=['Image_train\'];imds=imageDatastore(digitDatasetPath,'IncludeSubfolders',true,'LabelSource','fold......
  • JCR一区级 | Matlab实现GA-Transformer-LSTM多变量回归预测
    JCR一区级|Matlab实现GA-Transformer-LSTM多变量回归预测目录JCR一区级|Matlab实现GA-Transformer-LSTM多变量回归预测效果一览基本介绍程序设计参考资料效果一览基本介绍1.【JCR一区级】Matlab实现GA-Transformer-LSTM多变量回归预测,遗传优化算法(GA)优......
  • Aquila优化算法(基本原理+matlab源代码)—— 基于Aquila Optimizer原始论文分析
    Matlab源代码位于:AquilaOptimizer:Ameta-heuristicoptimizationalgorithm-FileExchange-MATLABCentral(mathworks.cn)1Aquila优化算法AO是一种基于种群优化方法,受启发于Aquila捕获猎物的方式。Aquila捕获猎物的方式主要有四种:(1)有垂直弯曲的高空翱翔(2)用短......
  • Redis(REmote DIctionary Server)基础
    Redis(REmoteDIctionaryServer)基础Redis是一个开放源代码(BSD许可)的内存数据结构存储,用作数据库、缓存和消息代理。它支持字符串、哈希、列表、集合、带范围查询的排序集合、位图、超日志、带半径查询和流的地理空间索引等数据结构。Redis具有内置的复制、Lua脚本、LRU收回、......
  • XGBoost、RF随机森林算法MATLAB实现
    %加载并预处理训练数据opts1=detectImportOptions('附件一AE.xlsx','PreserveVariableNames',true);train_data=readtable('附件一AE.xlsx',opts1);train_data.Time=datetime(train_data.time,'InputFormat','yyyy-MM-ddHH:mm:s......
  • 基于单片机和MATLAB的FIR滤波器设计
    摘要:随着社会经济的进步和科学技术的不断发展,数字滤波器的优势使其广泛应用于不同领域。但是,数字滤波器设计过程中的复杂性对其发展造成了制约。因此,笔者实现了基于单片机和MATLAB的滤波器的全新设计方法,并对设计后的滤波器进行仿真和实现验证。结果表明,此种方法所设计的......