MATLAB知识点:使用逻辑值修改或删除矩阵元素

​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​

MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili


节选自第3章 3.4.4 逻辑运算

3.4.4.3     使用逻辑值修改或删除矩阵元素

上一小节我们介绍了利用逻辑值引用矩阵的元素,我们也可以对引用的元素进行修改或删除。下面我们直接看例子:

从上表最后一个例子可以看出,使用逻辑索引删除矩阵中的元素后,MATLAB会将矩阵中剩下的元素按照线性索引的顺序放入到一个行向量中。

我们再来看一个有趣的问题:缺失值的识别和填补。

举个例子:假设清风老师要连续一周测量早上6点室外的温度,结果清风老师周二和周五睡过了头,那两天的温度没有测量,剩下五天的温度分别是10°、5°、2°、8°和5°,周二和周五的温度成了缺失值。现在清风老师想利用有数据的剩余五天的平均气温来代替周二和周五这两天的温度,于是他计算出这五天的平均气温为(10+5+2+8+5)/5=6°,这时候就完成了对缺失值的填补。

那么我们怎样在MATLAB中实现这个过程呢?我们可以先定义一个向量A用来保存这一周的温度:A = [10 NaN 5 2 NaN 8 5],其中第二个元素和第五个元素为NaN,代表周二和周五的温度数据是缺失的。现在需要大家将A中所有的NaN值替换成所有非缺失值的平均值。

答案只需要一行代码:A(isnan(A)) = mean(A(~isnan(A)))。这里用到了isnan函数,它可以判断数组中的元素是否为不定值NaN,并返回一个和输入的数组大小相同的逻辑数组。

例如,这里的isnan(A)返回的结果就是[0 1 0 0 1 0 0]这个逻辑向量。

有同学会想:为什么不直接用命令A==NaN来找A中的缺失值?这是因为在MATLAB中,NaN相互之间不相等,运行NaN == NaN会输出逻辑值0。

那么,如何找出A中所有非缺失值的元素呢?我们可以对isnan(A)的结果进行“逻辑非”运算,即~isnan(A),然后再利用这个逻辑向量对A进行索引:A(~isnan(A))。

详细的介绍大家可以看本讲义的配套视频。后续章节中我们会更系统地介绍缺失值的知识点,现在只是小试牛刀。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/461386.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据分享】1929-2023年全球站点的逐年平均风速(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、能见度等指标,说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 有关气象指标的监测站点数据,之前我们分享过1929-2023年全球气象站…

使用Python进行数据的描述性分析,用少量的描述性指标来概括大量的原始数据

在进行数据分析时,当研究者得到的数据量很小时,可以通过直接观察原始数据来获得所有的信息。但是,当得到的数据量很大时,就必须借助各种描述性指标来完成对数据的描述工作。用少量的描述性指标来概括大量的原始数据,对…

ubuntu原始套接字多线程负载均衡

原始套接字多线程负载均衡是一种在网络编程中常见的技术,特别是在高性能网络应用或网络安全工具中。这种技术允许应用程序在多个线程之间有效地分配和处理网络流量,提高系统的并发性能。以下是关于原始套接字多线程负载均衡技术的一些介绍: …

《经过》-何方?

若将生命比作一段旅程,唯有走过,方知全貌。在这旅途中,我们每个人都会历经怀疑与信仰,等待与离别……究竟何种生活,才是我们所追求的? 记得在23年的十月,我与朋友驱车归家。我和朋友开车回家&am…

【linux开发工具】vim详解

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 “学如逆水行舟&#xff0…

架构整洁之道-软件架构-测试边界、整洁的嵌入式架构、实现细节

6 软件架构 6.14 测试边界 和程序代码一样,测试代码也是系统的一部分。甚至,测试代码有时在系统架构中的地位还要比其他部分更独特一些。 测试也是一种系统组件。 从架构的角度来讲,所有的测试都是一样的。不论它们是小型的TDD测试&#xff…

放假--寒假自学版 day1(补2.5)

fread 函数: 今日练习 C语言面试题5道~ 1. static 有什么用途?(请至少说明两种) 1) 限制变量的作用域 2) 设置变量的存储域 2. 引用与指针有什么区别? 1) 引用必须被初始化,指针不必。 2) 引用初始…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 2月9日,星期五

每天一分钟,知晓天下事! 2024年2月9日 星期五 农历腊月三十 除夕 1、 三部门:各地不得挤占、挪用、截留、滞留优抚对象补助经费。 2、 校外培训《条例》出炉:明确在职教师、教研人员不得从事校外培训活动。 3、 2024年“全面降…

uTools工具使用

之前发现一款非常有用的小工具,叫uTools,该软件集成了比如进制转换、json格式化、markdown、翻译、取色等等集插件大成,插件市场提供了很多开源插件工具。可以帮助开发人员节省了寻找各种处理工具的时间,非常推荐。 1、软件官方下…

Open CASCADE学习|点和曲线的相互转化

目录 1、把曲线离散成点 1.1按数量离散 1.2按长度离散 1.3按弦高离散 2、由点合成曲线 2.1B样条插值 2.2B样条近似 1、把曲线离散成点 计算机图形学中绘制曲线,无论是绘制参数曲线还是非参数曲线,都需要先将参数曲线进行离散化,通过离…

单片机学习笔记---DS1302实时时钟工作原理

目录 DS1302介绍 学会读芯片手册(DS1302芯片手册) 封装 引脚定义 电源部分 时钟部分 通信部分 总结列表 内部结构图 电源控制部分 时钟控制部分 寄存器部分 访问部分 寄存器部分的详细定义 命令字 时序的定义 单字节读 单字节写 提前预…

面向智算服务,构建可观测体系最佳实践

作者:蓟北 构建面向 AI、大数据、容器的可观测体系 (一)智算服务可观测概况 对于越来越火爆的人工智能领域来说,MLOps 是解决这一领域的系统工程,它结合了所有与机器学习相关的任务和流程,从数据管理、建…