Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用nan值在matlab中重新格式化矩阵

用nan值在matlab中重新格式化矩阵
EN

Stack Overflow用户
提问于 2012-10-26 02:42:07
回答 2查看 946关注 0票数 1

这一员额是在前一个关于调整矩阵表的问题之后提出的:

re-formatting a matrix in matlab

下面的例子说明了我面临的另一个问题:

代码语言:javascript
运行
AI代码解释
复制
depth = [0:1:20]';
data = rand(1,length(depth))';
d = [depth,data];
d = [d;d(1:20,:);d];

在这里,我想修改这个矩阵,这样每一列代表一个特定的深度,每一行代表时间,因此最终我将有3行(即天)和21列(即每个深度的度量)。然而,我们不能重塑这一点,因为某一天的测量数是不一样的,即有些是缺失的。这一点已为下列人士所知:

代码语言:javascript
运行
AI代码解释
复制
dd = sortrows(d,1);
for i = 1:length(depth);
    e(i) = length(dd(dd(:,1)==depth(i),:));
end

从“e”中我们发现,不同的日子,深度的数量是不同的。我如何在矩阵中插入一个nan,使每一天都有相同的深度值?首先,我可以找到独特的深度:

如果某一天缺少一个深度(来自唯一的),我想将深度插入到正确的位置,并将nan插入到数据列中的相应位置。如何才能做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-26 03:04:03

你刚才正确地认为unique可能会派上用场。您还需要第三个输出参数,它将唯一深度映射到原始d向量中的位置上。看看这段代码-注释解释我做了什么

代码语言:javascript
运行
AI代码解释
复制
% find unique depths and their mapping onto the d array
[depths, ~, j] = unique(d(:,1));

% find the start of every day of measurements
% the assumption here is that the depths for each day are in increasing order 
days_data = [1; diff(d(:,1))<0];

% count the number of days
ndays = sum(days_data);

% map every entry in d to the correct day
days_data = cumsum(days_data);

% construct the output array full of nans
dd = nan(numel(depths), ndays);

% assing the existing measurements using linear indices
% Where data does not exist, NaN will remain
dd(sub2ind(size(dd), j, days_data)) = d(:,2)

dd =

0.5115    0.5115    0.5115
0.8194    0.8194    0.8194
0.5803    0.5803    0.5803
0.9404    0.9404    0.9404
0.3269    0.3269    0.3269
0.8546    0.8546    0.8546
0.7854    0.7854    0.7854
0.8086    0.8086    0.8086
0.5485    0.5485    0.5485
0.0663    0.0663    0.0663
0.8422    0.8422    0.8422
0.7958    0.7958    0.7958
0.1347    0.1347    0.1347
0.8326    0.8326    0.8326
0.3549    0.3549    0.3549
0.9585    0.9585    0.9585
0.1125    0.1125    0.1125
0.8541    0.8541    0.8541
0.9872    0.9872    0.9872
0.2892    0.2892    0.2892
0.4692       NaN    0.4692

你可能想要转置矩阵。

票数 5
EN

Stack Overflow用户

发布于 2012-10-26 02:59:08

从你的问题中还不完全清楚你的数据到底是什么样子,但下面这些可能会帮助你找到答案。

假设你有一个列向量

day1 = 1:21';

而且,最初,所有的值都是NaN

day1(:) = NaN

接下来假设您有一个2d度量数组,其中第一列表示深度,第二列表示深度。例如

msrmnts = [1,2;2,3;4,5;6,7] % etc

然后分配

day1(msrmnts(:,1)) = msrmnts(:,2)

将只在day1的那些行中设置值,这些行的索引位于msrmnts的第一列中。第二个语句使用Matlab将一个数组用作另一个数组中的一组索引的功能,例如

d(9 7 8 12 4) = 1:5

将元素[9 7 8 12 4] of d设置为值1:5。注意,元素的索引不需要按顺序排列。您甚至可以在索引数组中多次插入相同的值,例如[4 4 5 6 3 4],尽管它并不十分有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13085382

复制
相关文章
Js如何删除所有子元素以及当前元素
在原生js当中,html的内容元素总是以嵌套的关系存在于网页中,因此,可以通过遍历树的方法访问网页里的每一个元素,当然也是可以删除指定的子元素的
itclanCoder
2023/02/26
8.5K0
Js如何删除所有子元素以及当前元素
vue获取当前点击元素的父元素、子元素、上级元素等
<div @click = "clickfun($event)">点击</div> methods: { clickfun(e) { // e.target 是你当前点击的元素 // e.currentTarget 是你绑定事件的元素 #获得点击元素的前一个元素 e.currentTarget.previousElementSibling.innerHTML #获得点击元素的第一个子元素 e.curre
用户1349575
2022/01/26
11.4K0
当前页面是否可见
Document.hidden属性来自于浏览器Page Visibility API。
公众号@魔术师卡颂
2020/08/26
2K0
python multiprocess 子进程和主进程同时抛出异常时子进程无法退出
在使用python的multiprocess库时,如果在主进程中的处理子进程的返回函数callback或者处理子进程的错误的函数errorbackerror中抛出异常,则子进程无法退出。 (1)errorcallback中抛出异常
锦小年
2021/12/08
3.2K0
python multiprocess 子进程和主进程同时抛出异常时子进程无法退出
小程序中点击子元素事件而不触发父元素的点击事件
在测试小程序的时候,发现了这样的一个bug,点击子元素事件d的时候触发父元素的点击事件,从而执行父级的点击事件,跳转到了父级的点击事件的页面了。
王小婷
2019/02/21
6.1K0
小程序中点击子元素事件而不触发父元素的点击事件
怎么理解 onStart可见但不可交互
这个问题看似简单,但涉及到的面还是比较多的,比如Activity生命周期的理解,进程的理解,以及View绘制的时机。
码上积木
2021/03/10
8060
shell编程-交互 脚本菜单
上面的脚本基本上是用echo打印的时间都花在写菜单,为此bash shell提供了一个命令select。
用户3599907
2020/07/17
2.4K2
一起来学matlab-matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象
本文为matlab自学笔记的一部分,之所以学习matlab是因为其真的是人工智能无论是神经网络还是智能计算中日常使用的,非常重要的软件。也许最近其带来的一些负面消息对国内各个高校和业界影响很大。但是我们作为技术人员,更是要奋发努力,拼搏上进,学好技术,才能师夷长技以制夷,为中华之崛起而读书!
演化计算与人工智能
2020/08/14
3.7K0
一起来学matlab-matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象
React技巧之检查元素是否可见
原文链接:https://bobbyhadz.com/blog/react-check-if-element-in-viewport[1]
chuckQu
2022/08/19
1.1K0
Android-SubMenu选项菜单和子菜单
简介: SubMenu:代表一个子菜单,包含1~N个MenuItem 实现效果: 具体实现方法: 主活动 MainActivity: public class MainActivity extends AppCompatActivity { //定义 “字体大小” 菜单项的标识 final int FONT_10 = 0x111; final int FONT_12 = 0x112; final int FONT_14 = 0x113; final int FON
圆号本昊
2021/09/24
1.3K0
Android-SubMenu选项菜单和子菜单
5个Tips让你的Power BI报告更吸引人
Power BI中提供了越来越多的可视化效果,您可以从Gallary获得这些可视化效果,其中一些非常复杂(它们可能可以通过“不普通”的方式帮你找到数据的关系)。但对于我们大多数“普通人” (大概是我们中的98%)来说,简单意味着更好,更容易,更清晰。因此,专注于简单性!
btharp
2021/08/31
3.6K0
玩转谷歌优化(Google Optimize)
译者:池金锐 审校:洛姿亦 本文长度为4407字,预估阅读时间8分钟。 我们今天要向大家介绍如何玩转谷歌优化。 几个月前(源文发表于2016年12月),谷歌宣布了向公众提供免费版的“谷歌优化360
iCDO互联网数据官
2018/03/05
3.9K0
玩转谷歌优化(Google Optimize)
JavaScript Matomo 跟踪客户端
您可以使用 JavaScript 跟踪客户端来跟踪任何支持 JavaScript 的应用程序:例如网站!
西里国际站
2023/08/23
1K0
Material Design — 菜单(Menus)
自上次参加完回音分享会后,我下定决心要洗心革面乖乖打基础,于是开启了这个part,争取两个月不间断更新,写完Material Design与iOS中的组件(顺便学学英语),以便今后在使用的时候完全不虚
霖酱
2018/05/17
5.9K0
selenium源码通读·2 | common/exceptions.py异常类
1 异常类基类common/exceptions.py目录定义了各种异常类;其中WebDriverException为基类;源码如下:class WebDriverException(Exception): """ Base webdriver exception. """ def __init__(self, msg=None, screen=None, stacktrace=None): self.msg = msg self.screen = scr
虫无涯
2023/02/08
1.5K0
子元素滚动,父元素不滚动
这个是为了处理在bootstrap框架中的iframe 滚动条的问题,查找到的解决方案
solate
2019/07/22
4.1K0
如何在 React 中点击显示或隐藏另一个组件?
React 是一种流行的 JavaScript 库,用于构建动态用户界面。在一个 React 应用程序中,有时需要一个按钮或链接来触发显示或隐藏一个相关的组件。这种需求可以通过使用 React 状态管理和事件处理机制来实现。
网络技术联盟站
2023/06/07
5.3K0
jQuery 双击事件(dblclick)时,不触发单击事件(click)
在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click)。即一个标签元素(如div等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick)时却会触发两次单击事件(click)。 先看一下点击事件的执行顺序:
飞奔去旅行
2019/06/13
5.5K0
特斯拉欲拿“中国护照”,因此可能挡蔚来的路?
如果特斯拉先拿到生产资质,那么蔚来汽车要拿到上海资质需要等特斯拉的工厂建成且达成量产目标。
镁客网
2019/01/24
3760
特斯拉欲拿“中国护照”,因此可能挡蔚来的路?
Patching:一款针对IDA Pro的交互式源码处理工具
通过对编译代码进行处理来改变现有应用程序的行为,在恶意软件分析、软件逆向工程以及更广泛的安全研究领域中,其实并不少见。而Patching是一款针对IDAPro的交互式源码处理工具,该工具能够扩展IDA Pro反汇编工具的功能,以创建一个功能更加强大的交互式源码处理工作流。
FB客服
2022/04/12
1.2K0
Patching:一款针对IDA Pro的交互式源码处理工具

相似问题

创建monad类的连续Monad包装实例

12

monad和monad函数的类约束

32

如何构造带约束的应用实例(类似于使用ContT构造Monad实例)

32

在IO monad中使用,来自其他monad的函数

10

连续Monad实例实现的清晰性

26
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档