如何重新采样时间矢量数据matlab(How to resample time vector data matlab)

我必须重新采样以下单元格数组:

dateS =

'2004-09-02 06:00:00'

'2004-09-02 07:30:00'

'2004-09-02 12:00:00'

'2004-09-02 18:00:00'

'2004-09-02 19:30:00'

'2004-09-03 00:00:00'

'2004-09-03 05:30:00'

'2004-09-03 06:00:00'

遵循不规则的间距,例如在第1行和第2行之间有5个读数,而在2和3之间有10个。中间体“读数”的数量存储在向量“v”中。 所以,我需要的是一个新的向量,其中所有的中间日期/时间都采用相同的格式在dateS。

编辑:

列表中前两个读数之间有1小时30分钟= 90分钟。 五个间隔b / w它们相当于90分钟/ 5 = 18分钟。 现在在(1)和(2)之间插入五个“读数”,每个读数相隔18分钟。 我需要为所有日期做到这一点。

有任何想法吗? 谢谢!

I have to resample the following cell array:

dateS =

'2004-09-02 06:00:00'

'2004-09-02 07:30:00'

'2004-09-02 12:00:00'

'2004-09-02 18:00:00'

'2004-09-02 19:30:00'

'2004-09-03 00:00:00'

'2004-09-03 05:30:00'

'2004-09-03 06:00:00'

following an irregular spacing, e.g. between 1st and 2nd rows there are 5 readings, while between 2 and 3rd there are 10. The number of intermediates 'readings' are stored in a vector 'v'. So, what I need is a new vector with all the intermediate dates/times in the same format at dateS.

EDIT:

There's 1h30min = 90min between the first 2 readings in the list. Five intervals b/w them amounts to 90 mins / 5 = 18 mins. Now insert five 'readings' between (1) and (2), each separated by 18mins. I need to do that for all the dateS.

Any ideas? Thanks!

原文:https://stackoverflow.com/questions/18112877

2020-01-07 06:22

满意答案

您可以使用interp1()插入序列日期:

% Inputs

dates = [

'2004-09-02 06:00:00'

'2004-09-02 07:30:00'

'2004-09-02 12:00:00'

'2004-09-02 18:00:00'

'2004-09-02 19:30:00'

'2004-09-03 00:00:00'

'2004-09-03 05:30:00'

'2004-09-03 06:00:00'];

v = [5 4 3 2 4 5 3];

% Serial dates

serdates = datenum(dates,'yyyy-mm-dd HH:MM:SS');

% Interpolate

x = cumsum([1 v]);

resampled = interp1(x, serdates, x(1):x(end))';

结果:

datestr(resampled)

ans =

02-Sep-2004 06:00:00

02-Sep-2004 06:18:00

02-Sep-2004 06:36:00

02-Sep-2004 06:54:00

02-Sep-2004 07:12:00

02-Sep-2004 07:30:00

02-Sep-2004 08:37:30

02-Sep-2004 09:45:00

02-Sep-2004 10:52:30

02-Sep-2004 12:00:00

02-Sep-2004 14:00:00

02-Sep-2004 16:00:00

02-Sep-2004 18:00:00

02-Sep-2004 18:45:00

02-Sep-2004 19:30:00

02-Sep-2004 20:37:30

02-Sep-2004 21:45:00

02-Sep-2004 22:52:30

03-Sep-2004 00:00:00

03-Sep-2004 01:06:00

03-Sep-2004 02:12:00

03-Sep-2004 03:18:00

03-Sep-2004 04:24:00

03-Sep-2004 05:30:00

03-Sep-2004 05:40:00

03-Sep-2004 05:50:00

03-Sep-2004 06:00:00

You can interpolate the serial dates with interp1():

% Inputs

dates = [

'2004-09-02 06:00:00'

'2004-09-02 07:30:00'

'2004-09-02 12:00:00'

'2004-09-02 18:00:00'

'2004-09-02 19:30:00'

'2004-09-03 00:00:00'

'2004-09-03 05:30:00'

'2004-09-03 06:00:00'];

v = [5 4 3 2 4 5 3];

% Serial dates

serdates = datenum(dates,'yyyy-mm-dd HH:MM:SS');

% Interpolate

x = cumsum([1 v]);

resampled = interp1(x, serdates, x(1):x(end))';

The result:

datestr(resampled)

ans =

02-Sep-2004 06:00:00

02-Sep-2004 06:18:00

02-Sep-2004 06:36:00

02-Sep-2004 06:54:00

02-Sep-2004 07:12:00

02-Sep-2004 07:30:00

02-Sep-2004 08:37:30

02-Sep-2004 09:45:00

02-Sep-2004 10:52:30

02-Sep-2004 12:00:00

02-Sep-2004 14:00:00

02-Sep-2004 16:00:00

02-Sep-2004 18:00:00

02-Sep-2004 18:45:00

02-Sep-2004 19:30:00

02-Sep-2004 20:37:30

02-Sep-2004 21:45:00

02-Sep-2004 22:52:30

03-Sep-2004 00:00:00

03-Sep-2004 01:06:00

03-Sep-2004 02:12:00

03-Sep-2004 03:18:00

03-Sep-2004 04:24:00

03-Sep-2004 05:30:00

03-Sep-2004 05:40:00

03-Sep-2004 05:50:00

03-Sep-2004 06:00:00

2013-08-07

相关问答

将数据A重塑为n行矩阵,其中n是平均大小,并应用mean来计算每列的平均值: A = [1 2 3 4]; %// data

n = 2; %// averaging size

P = mean(reshape(A,n,[]));

Reshape your data A into an n-row matrix, where n is the averaging size, and apply mean to compute the average of each column: A = [1 ...

这几乎可行。 结果是错过了最后一行,我没有看到一个简明的方法来解决它。 result = df.set_index(pd.to_timedelta(df['Time'], unit='s')).groupby('ID')\

.resample('500ms').asfreq().interpolate().reset_index(drop=True)

result['ID'] = result['ID'].astype(int)

# output

result

ID Time Value...

你不能,因为他们做不同的事情。 upsample仅在样本之间插入零,而resample应用抗锯齿滤波器然后进行插值。 因此,例如,如果您的信号是x=[1,1] ,则上upsample(x,2)将输出1,0,1,0 ,而resmaple(x,2,1)输出resmaple(x,2,1) ,这是过滤和插值的结果。 You can't, as they do different things. upsample just inserts zeros between your samples, while ...

不完全模拟F#resampleUniformInto,但作为一种解决方法: using System;

using System.Collections.Generic;

using System.Globalization;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace resample2

{

class Program

{

static void Ma...

这是一种hackyish方式。 首先计算NaN的数量,然后使用那些NaN那些。 In [11]: g = df1.groupby(pd.TimeGrouper('1MS'))

注意:使用isnull和sum计数。 In [12]: g.apply(lambda x: pd.isnull(x).sum()).unstack(1) # Note: columns match res

Out[12]:

Sr_1 Sr_2 Sr_3

Date

1978-01-01 ...

您可以使用interp1()插入序列日期: % Inputs

dates = [

'2004-09-02 06:00:00'

'2004-09-02 07:30:00'

'2004-09-02 12:00:00'

'2004-09-02 18:00:00'

'2004-09-02 19:30:00'

'2004-09-03 00:00:00'

'2004-09-03 05:30:00'

'2004-09-03 06:00:00'];

v = [5 4 3 2 4 5 3];

% Serial ...

也许你可以将它们标准化,以便检查它们的点积为1 A = rand(5,3);

B = [A(2,:); A(1,:); A(2,:); A(3,:); A(3,:); A(4,:); A(5,:)];

A2=bsxfun(@times,A,1./sqrt(sum(A.^2,2))); %%% normalize A

B2=bsxfun(@times,B,1./sqrt(sum(B.^2,2))) %%% normalize B

sum(A2*B2'>1-10e-9,2) %%% check tha...

DataFrame.groupby方法可以接受一系列值作为组键。 预期序列的长度与DataFrame中的行数相同,并且对与序列中的等值项对应的行进行分组。 因此,您可以将截断到最近小时的日期用作组键: In [133]: groupkey = data['date'].values.astype('datetime64[h]'); groupkey

Out[133]:

array(['2015-08-21T09', '2015-08-21T09', '2015-08-21T10', '2016-...

您显示的行为是旧版pandas版本的预期行为(pandas <0.18)。 较新的pandas版本具有更改的重新采样API,您在此处可以看到其中一个棘手的案例。 在v0.18之前, resample使用how关键字指定如何重新采样,并直接返回重新采样的帧/系列: In [5]: data = pd.DataFrame(np.random.randn(180, 2), columns=['AAA', 'BBB'], index=pd.date_range("2016-06-01", periods=...

我们来看这个简单的例子: resample([1,0,0,1],8,4)

ans =

第1至5列 1.0000 0.7436 0.0000 -0.4035 0.0000

第6至8栏 0.7436 1.0000 0.5644

您可以看到该线在某种曲线中继续。 如果您希望该方法填补两个0与另一个0之间的差距,您选择了错误的函数,请查看interp1 使用interp1简短示例: %some "high resolution" sin wave

x=[0:.1:1...

相关文章

Data Week: Becoming a data scientist Data Pointed,

...

http://engineering.linkedin.com/distributed-systems

...

里面有些公式和矩阵无法在电脑上书写, 故用纸笔记录了一些笔记, 比如公式的推算, 注意要点等. 由于电

...

中文名: MATLAB及应用 作者: 胡鹤飞 图书分类: 软件 资源格式: PDF

...

solr 的 data import 导入 mysql数据 (1)、编辑 example/solr/c

...

中文名: 数字图像处理与机器视觉:Visual C++与Matlab实现 作者: 张铮 图

...

中文名: MATLAB智能算法30个案例分析 作者: 史峰 王辉 郁磊 胡斐

...

中文名: 模式识别与智能计算:MATLAB技术实现(第2版) 作者: 杨淑莹 图书分类:

...

经过将近一天的努力,终于搞定了Solr的Data Import Request HandlerSche

...

使用Solr Data Import的delta-import功能 Solr提供了full-im

...

最新问答

如果启用了复制处理程序,请确保将其置于其中一个安全角色之后。 我见过人们做的另一件事是在不同的端口上运行admin。 最好在需要auth的页面上使用SSL,这样你就不会发送明确的密码,因此管理和复制将发生在8443上,而常规查询将在8080上发生。 如果您要签署自己的证书,请查看此有用的SO页面: 如何在特定连接上使用不同的证书? I didn't know that /admin was the context for SOLR admin because /admin does not re

第一:在您的样本中,您有: 但是你在询问 //td[@class=‘CarMiniProfile-TableHeader’] (注意TableHeader中的大写'T')。 xpath区分大小写。 第二:通过查询// td [@ class ='CarMiniProfile-TableHeader'] / td,你暗示你在外部td中有一个'td'元素,而它们是兄弟姐妹。 有很多方法可以在这里获得制作和模型

这是你的答案: http://jsfiddle.net/gPsdk/40/ .preloader-container { position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; background: #FFFFFF; z-index: 5; opacity: 1; -webkit-transition: all 500ms ease-out;

问题是,在启用Outlook库引用的情况下, olMailItem是一个保留常量,我认为当您将Dim olMailItem as Outlook.MailItem ,这不是问题,但是尝试设置变量会导致问题。 以下是完整的解释: 您已将olMailItem声明为对象变量。 在赋值语句的右侧,在将其值设置为对象的实例之前,您将引用此Object 。 这基本上是一个递归错误,因为你有对象试图自己分配自己。 还有另一个潜在的错误,如果之前已经分配了olMailItem ,这个语句会引发另一个错误(可能是

我建议使用wireshark http://www.wireshark.org/通过记录(“捕获”)设备可以看到的网络流量副本来“监听”网络上发生的对话。 当您开始捕获时,数据量似乎过大,但如果您能够发现任何看起来像您的SOAP消息的片段(应该很容易发现),那么您可以通过右键单击并选择来快速过滤到该对话'关注TCP Stream'。 然后,您可以在弹出窗口中查看您编写的SOAP服务与Silverlight客户端之间的整个对话。 如果一切正常,请关闭弹出窗口。 作为一个额外的好处,wireshar

Android默认情况下不提供TextView的合理结果。 您可以使用以下库并实现适当的aligntment。 https://github.com/navabi/JustifiedTextView Android Does not provide Justified aligntment of TextView By default. You can use following library and achieve proper aligntment. https://github.com/

你的代码适合我: class apples { public static void main(String args[]) { System.out.println("Hello World!"); } } 我将它下载到c:\ temp \ apples.java。 以下是我编译和运行的方式: C:\temp>javac -cp . apples.java C:\temp>dir apples Volume in drive C is HP_PAV

12个十六进制数字(带前导0x)表示48位。 那是256 TB的虚拟地址空间。 在AMD64上阅读wiki(我假设你在上面,对吗?)架构http://en.wikipedia.org/wiki/X86-64 12 hex digits (with leading 0x) mean 48 bits. That is 256 TB of virtual address space. Read wiki on AMD64 (I assume that you are on it, right?) ar

这将取决于你想要的。 对象有两种属性:类属性和实例属性。 类属性 类属性对于类的每个实例都是相同的对象。 class MyClass: class_attribute = [] 这里已经为类定义了MyClass.class_attribute ,您可以使用它。 如果您创建MyClass实例,则每个实例都可以访问相同的class_attribute 。 实例属性 instance属性仅在创建实例时可用,并且对于类的每个实例都是唯一的。 您只能在实例上使用它们。 在方法__init__中定

matlab resample,如何重新采样时间矢量数据matlab(How to resample time vector data matlab)相关推荐

  1. 【TWVRP】基于matlab模拟退火算法求解带时间窗的车辆路径规划问题【含Matlab源码 160期】

    ⛄一.VRP简介 1 VRP基本原理 车辆路径规划问题(Vehicle Routing Problem,VRP)是运筹学里重要的研究问题之一.VRP关注有一个供货商与K个销售点的路径规划的情况,可以简 ...

  2. matlab 设置采样时间设置,不建议设置采样时间的模块

    不建议设置采样时间的模块 某些模块默认情况下不允许您设置 Sample Time 参数.但是,如果现有模型中这些模块的采样时间没有设置为默认值 -1(继承采样时间),则您可以查看和设置它们的 Samp ...

  3. matlab仿真采样时间,系统中的采样时间 - MATLAB Simulink - MathWorks 中国

    纯离散系统 纯离散系统完全由离散模块组成,可以使用固定步长或可变步长求解器进行建模.要对离散系统进行仿真,需要仿真器在每个采样时间点执行一个仿真步.对于多速率离散系统 - Simulink® 以不同速 ...

  4. 频域采样与恢复matlab实验,连续信号的采样与重构实验报告

    连续信号的采样与重构实验报告 (36页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.9 积分 班级: 姓名: 学号:1 / 36信号与系统上机实验报 ...

  5. 连续函数matlab采样,基于 MATLAB 的时域信号采样及频谱分析(转)

    一.课程设计题目: 基于 MATLAB 的时域信号采样及频谱分析 二.基本要求: ① 掌握数字信号处理的基本概念.基本理论和基本方法: ② 学会 MATLAB 的使用,掌握 MATLAB 的程序设计方 ...

  6. matlab方波假频现象分析,基于MATLAB 的信号时域采样及频率混叠现象分析

    龙源期刊网 http://www.doczj.com/doc/7d04774eae45b307e87101f69e3143323968f58a.html 基于MATLAB 的信号时域采样及频率混叠现象 ...

  7. 弹簧压缩 时间 matlab,用matlab解决弹簧振子摆动与时间的关系

    用matlab解决弹簧振子摆动与时间的关系 用 matlab 解决弹簧振子摆动与时间的关系 学 院:光电信息 班 级:应用物理(111160102) 姓 名:王梅 学 号:11116010224201 ...

  8. matlab读取时间数据,Matlab有关数据库读取及时间项的设定

    Matlab有关数据库的读取需下载mysql-connector-java-5.1.26-bin.jar文件放到指定位置,并修改classpath.txt相关文件,具体可网上自行查找. 看一下实例: ...

  9. Matlab:表示 MATLAB 中的日期和时间

    Matlab:表示 MATLAB 中的日期和时间 储日期和时间信息的主要方法是使用 datetime 数组,该数组支持算术运算.排序.比较.绘图和格式化显示方式.算术差异的结果在 duration 数 ...

最新文章

  1. 利用NVIDIA-NGC中的MATLAB容器加速语义分割
  2. turtlebot3安装遇到的问题总结
  3. 服务器网站数据用什么方式加以保留?
  4. flask的同一ip域名不同端口的两个网站session冲突
  5. 追求极致,饮水思源——记旷视与计算机竞赛的故事
  6. Reflect对象的设计目的有这样几个
  7. Redis Sentinel实现高可用配置
  8. 数据结构与算法(python版)
  9. CISCO 命令手册
  10. 纳米晶磁芯:非晶带材的“秘密”!
  11. 初步搭建 prometheus+ Grafana服务器性能监控平台
  12. java计算机毕业设计家用电器销售网站源码+mysql数据库+系统+lw文档+部署
  13. 大数据阿里云工具之DataWorks(一)
  14. java计算机毕业设计Internet快递柜管理系统(附源码、数据库)
  15. APIcloud的基本使用
  16. 读书笔记『Kotlin实战』
  17. 使用海龟编辑器用Python身高体重
  18. 迅为龙芯2K1000开发板虚拟机ubuntu安装VMtools工具
  19. 需求工程软件建模与分析阅读笔记01
  20. 电感的能量储存在哪里-史上最深度的解析(6)

热门文章

  1. windows环境安装Telegraf
  2. qq游戏不显示登陆服务器,win7系统登录qq游戏大厅不显示画面怎么解决
  3. python四级是什么水平_大学过四级一般是什么水平?
  4. 浅析Flash游戏架构
  5. 视频点播中相关分辨率说明
  6. u盘文件不显示却占用空间
  7. pyqt api 学习
  8. python基础1-转自金角大王
  9. python写一个简单的爬虫程序(爬取快手)(附源码)
  10. python发行版是什么意思_anaconda是什么?-Python教程