精华内容
下载资源
问答
  • MATLAB读取Excel表并将时间序列转换

    千次阅读 2020-06-19 21:28:53
    1、读取Excel表-importdata importdata()函数可以读取一个包含文本和数值的矩阵,但要求文本只能在第一列和第一行。 输出两个参数,一个是textdata,存储文本矩阵;另一个是data,存储数据矩阵。 2、时间序列处理-...

    1、读取Excel表-importdata

    • importdata()函数可以读取一个包含文本和数值的矩阵,但要求文本只能在第一列和第一行。
    • 输出两个参数,一个是textdata,存储文本矩阵;另一个是data,存储数据矩阵。

    2、时间序列处理-datevec

    datevec()函数可以实现将日期序列转化为对应的时间向量,这对于数据处理中的时间区域判断有帮助。
    eg:
    a = 2020/6/19 12:32:65
    b=datevec(a)
    会输出一个数值向量[2020 6 19 12 32 65]

    说明

    给出的两个函数介绍相对简单,这是自己在数据处理中遇到的问题及解决的两个有用函数,具体用法可以去MATLAB中查看。

    展开全文
  • 使用matlab读取excel并作图

    万次阅读 2018-04-27 13:32:59
    我读的是两种传感器数据,一个是光流的位置值,一个是UWB的位置值,所以在excel中一共四列,每列值是时间的采样时刻打开matlab,点Import Data,选择Column vectors,然后单独选中一列并且在Range中选中要选择的列数...

    在写论文时无奈非要用matlab,于是用地面站把传感器数据导出到了excel,用matlab画个图

    用地面站向excel中读入数据


    读入完保存即可。

    我读的是两种传感器数据,一个是光流的位置值,一个是UWB的位置值,所以在excel中一共四列,每列值是时间的采样时刻

    打开matlab,点Import Data,选择Column vectors,然后单独选中一列并且在Range中选中要选择的列数和行数,import selection,相应的矩阵便保存到工作空间中。


    有了数据,打印就行了,因为每一列就是一个时间刻度,所以不需要横轴

    plot(OptFlow,'r-');
    hold on;
    plot(UWB,'b-.');

    这样数就画出来了,顺便加个注释

    legend('UWB','OptFlow');

    由于UWB的数据收到数传通信干扰读到的数很分散,所以用matlab做了个平均滤波,其中30表示一次求和平均用的数组长度。

    UWB_Y_test = smooth(UWB_Y,30);

    此外如果对matlab自动设定的坐标系不满意的话,可以自己调整一下。

    axis([0 1200 150 300]);
    其中,前面是x轴的最小值和最大值,后面是y的最小值和最大值


    展开全文
  • matlab发布excel数据代码MDF阅读器 抽象的: 该模块通常从INCA(ETAS),CANape或CANOe导入MDF文件(测量数据格式V3.x和V4.x)。 它广泛用于汽车行业,以记录来自ECU的数据。 主模块mdfreader.py继承自2个模块(每个...
  • matlab从csv文件中读取时间转换异常

    千次阅读 2017-11-04 02:50:23
    matlab 从 csv 文件中读取时间转换异常最近一段时间一直在研究 matlab 读取各种数据,自以为文件读取的水平还行。可是,昨天,帮朋友读取一个 csv 文件时,时间转换却让我感到非常奇怪。无情打脸,滑稽。本文所需要...

    matlab 从 csv 文件中读取时间转换异常

    最近一段时间一直在研究 matlab 读取各种数据,自以为文件读取的水平还行。可是,昨天,帮朋友读取一个 csv 文件时,时间转换却让我感到非常奇怪。无情打脸,滑稽。

    本文所需要用到的数据可以从我的网盘下载密码:6ivh

    观察文件

    使用 excel 打开文件:

    数据
    如图

    这是 2004 - 2010 点的道指成分股数据。这个数据需要注意日期并不是我们习惯的 ‘yyyy-mm-dd’ 格式,而是 ‘dd-mm-yy’ 格式,要不然你会觉得非常奇怪,数据是怎么个排列法?其实我也是在读了很多次,发现数据不对时才意识到这一点。所以看文件真应该认真看文件名,笑哭。

    数据读取

    1. 最简单的方式是用函数 readtable 直接读取,数据被转换成 table 形式。
    close all
    clear
    clc
    
    filename = 'Dow2004-2010.csv';
    DowJonesTable = readtable(filename);

    打开所读取的数据,认真一看发现数据时间格式有点奇怪:

    奇怪的时间
    奇怪的时间

    其实结果也不怎么奇怪如果,你一开始就是以 ‘dd-mm-yy’ 格式去理解数据,而不是以 ‘yyyy-mm-dd’。请原谅我的愚蠢。

    言归正传,即便如此这样的数据看上去也很不舒服,何况如果我们要画带有 datetime 轴的图,那么简直无法忍受。

    1. 一开始我以为是 readtable 这个函数太高级了,转换出错。笑哭,真的不要乱怀疑 matlab 年轻人,犯错的一般都是你自己。于是我决定用比较低级的方式读取数据。

    如果你这么写代码

    close all
    clear
    clc
    
    filename = 'Dow2004-2010.csv';
    formats = ['%D',repmat('%f',1,30)];
    fid = fopen(filename,'r');
    title = textscan(fid,repmat('%s',1,31),1,'delimiter',',');
    DowJonesTable = textscan(fid,formats,'delimiter',',','collectoutput',1);
    fclose(fid)

    接下来,将看到 DowJonesTable 是一个 1 × 2 的 cell 数组。显然 cell(1) 是时间,打开一看。

    一样的时间

    真是一个悲伤的消息,时间还是不对。这里与前文埋下的伏笔呼应,其实不是 matlab 的错,而是数据本身的问题,滑稽。

    也许此时,你灵机一动,格式控制符 %D 之前不是可以加修饰符控制,时间格式吗?我们在前面,对时间加以控制就行,真是机智。

    close all
    clear
    clc
    
    filename = 'Dow2004-2010.csv';
    formats = ['%{dd-mm-yy}D',repmat('%f',1,30)];
    fid = fopen(filename,'r');
    title = textscan(fid,repmat('%s',1,31),1,'delimiter',',');
    DowJonesTable = textscan(fid,formats,'delimiter',',','collectoutput',1);
    fclose(fid);

    然而事实相当无情,matlab 报错:

    Error using textscan
    Unable to read the DATETIME data with the format 'dd-mm-yy'. If the data is not
    a time, use %q to get text data.
    Error in newtest (line 9)
    DowJonesTable = textscan(fid,formats,'delimiter',',','collectoutput',1); 

    其实,这种情况下 matlab 支持的 format 格式相当有限,基本就是:

    format

    此路不通,年轻人。不过真希望,matlab 以后增加这种格式控制,我就不用浪费,脑细胞了,滑稽。

    通过前面,两种方法的尝试。我们意识到读取数据方面是不能改变现状。或许,你会想干脆以字符方式读入数据,然后在利用 datenum 之类的进行转换,但是 如果你以 字符形式读入,那么数据就真成 ‘yyyy-mm-dd’ 形式。

    人生真是艰难,我们该如何是好?或许就只能篡改数据了,我真的不想这样做,我不是那种人,都是被逼的,滑稽。

    修正时间

    修正时间的方式应该不少,我这里提供一种办法。思路很简单,通过观察发现时间是不对,但是也就是差了 2000 年而已,实在不算什么,滑稽。补上就是。

    close all
    clear
    clc
    
    % load data
    filename = 'Dow2004-2010.csv';
    table = readtable(filename);
    % data cleaning
    % time
    werid_date = table.Date;
    werid_date = cellstr(werid_date);
    n = length(werid_date);
    correct_date = nan(n,1);
    correct_ind = zeros(n,1);
    for i = 1:n
        if ~isnat(table.Date(i))
            temp = datenum(werid_date(i),'dd/mm/yyyy');
            correct_ind(i) = 1;
            correct_date(i) = addtodate(temp,2000,'year');
        end
    end
    correct_ind = logical(correct_ind);
    table = table(correct_ind,:);
    correct_date = correct_date(correct_ind,:);

    相信你一看就懂,我这里提几个值得注意的函数。cellstr 好东西别用错,isnat 判断非时间。主力是 addtodate 加 2000 年就是他干的。
    修正后的时间另人赏心悦目:

    修正

    如果没有办法一眼读懂是什么的话,老老实实用 datestr 将时间转换成字符形式。

    就是这样。

    感谢阅读,好好学习,天天向上

    展开全文
  • 在这一行,我开发了MATLAB中的模型识别工具,该工具可以采用excel(.xlx和xls)格式的碰撞测试数据。 可以识别模型,即过程模型(FOPTD,双重FOPTD),传递函数模型和状态空间模型。 图1显示了“模型识别”工具的...
  • matlab导入excel代码JPEG_转换器 项目包括原始到jpeg转换器的一部分。 Raw2jpeg是主要模块,其中包括目录component_modules的IP。 打包的IP位于IP_Core_repo。 IP说明: 控制器: 模拟第一个输入信号, 通过发送...
  • matlab导入excel代码欢迎来到PyFVCOM! 目录 介绍 PyFVCOM是各种工具和实用程序的集合,可用于从FVCOM提取,分析和绘制输入和输出文件以及生成模型输入。 正在安装 最简单的方法是使用pip / pip3进行安装: pip ...
  • 在此示例matlab代码设置位置和时间的输入,并读取电子表格计算出的值:Sun的升起,设置,行驶和黄昏。 下载包括电子表格 xlsm 文件。 xlsm 扩展是启用可视化基本宏的电子表格。 下载包括.BAS文件和说明如何...
  • matlab如何实现循环提取EXCEL一列数据

    万次阅读 2015-07-13 11:57:06
    for i=1:256 eval(['Xnoise' num2str(i) '=A(:,' num2str(i) ')']); end  save 通过以上代码先把EXCEL中的256列数据赋值给矩阵A 如果需要调用其中一列,用以下语言即可...由于MATLAB读取EXCEL文件时间
    for i=1:256  
    eval(['Xnoise' num2str(i) '=A(:,' num2str(i) ')']);
    end 

    save


    通过以上代码先把EXCEL中的256列数据赋值给矩阵A


    如果需要调用其中一列,用以下语言即可实现

    (eval(strcat('Xnoise',num2str(i))


    由于MATLAB读取EXCEL文件时间较慢,所以采用先把整个数据作为矩阵读出的形式,再分别调用每一列

    展开全文
  • matlab导入excel代码纳米压痕仪 介绍 此代码旨在读取由Agilent纳米压痕仪产生的导出电子表格数据和由Bruker纳米压痕仪产生的txt文件。 它具有多种功能,应将其全部保存在同一文件夹。 要运行的代码称为...
  • 该程序有助于研究荧光图像的细胞动力学,可以使用 Imaris 的点跟踪功能进行... 读取来自 Imaris 图像处理软件的 excel 输出的光点位置,并测量轨道长度、位移和轨道持续时间。 该程序消除了时间不连续的轨道。
  • matlab +人口增长代码readprocbactec 使用MATLAB / OCTAVE代码读取,处理和写入BACTEC MGIT 960输出文件 函数readprocbactec.m用于自动处理Excel文件,该文件包含有关BACTEC ...io来读取Excel电子表格。
  • MATLAB学习(四)Excel读写数据

    万次阅读 2017-03-22 18:14:25
    今天看到这篇博文,花了两个多小时捣鼓了一下,最后终于成功地使我的MATLABExcel中读取数据了!(如下图所示)。 其实大部分时间都在捣鼓出现的“Microsoft Office Word 需要VBA宏语言支持来完成此操作。”这...
  • GCSUMMARY 从岛津色谱... 该文件还包含原始文件名,获取的时间色谱图,文件名时间戳记(如下)以及所有化合物的面积/浓度。 文件名可能在末尾包含编码时间,作为随时间获得的文件序列。 例如,名称\u4e3aFilename=
  • [S,E] = XLS2STRUCT(FILE) 读取 Excel 文件 FILE 并转换列到结构 S 的单独字段。文件的第一行必须包含所有列的唯一标题,文件的其余部分是数据。 列名可以包含空格,这些在以获得正确的变量名。 S是表的平面表示...
  • % 从文件examp03_02.xls中读取数据 price = x(:,4)'; % 提取矩阵x的第4列数据,即收盘价数据 figure; % 新建一个图形窗口 plot(price,'k','LineWidth',2); % 绘制日收盘价曲线图,黑色实线,线宽为2 xlabel('观测...
  • 滑动t检验突变在matlab中代码实现 步长为5a clc,clear; %% 读取数据 excelFile='c\奥特曼\被检序列.xlsx'; % 文件路径 myData=xlsread(excelFile); % 读取数据 timeSeries=myData(:,1); % 时间序列数据 dataSeries=...
  • 提高matlab运行速度

    2018-10-17 15:03:00
    后来用MATLAB自带的“运行并计时”功能,找到了毒瘤的代码是读取Excel中的数据,此操作占用了我将近80%的时间。然后我优化了一下,尽量减少读取Excel的次数,代码跑的时间立刻就下来了 一、 遵守Performance ...
  • matlab代码影响一组脚本,通过背景将突变轨迹聚类为基因型和聚类基因型 ...xlrd(读取Excel文件) 如果pygraphviz软件包在安装过程引发错误,通常是因为它在当前环境找不到正确的依赖项。 使用安装依
  • 是通过读取excel表得到的,参数是一组向量,但是通过MATLAB程序读表和通过c#读表再以参数的形式传入MATLAB,两者的速度差异非常大,差距是好几倍。这里必须用c#读表,要不matlab读表的程序打包在dll里面修改起来太...
  • mk检验matlab程序

    2015-03-06 15:32:02
    % Mann-Kendall突变检测 % 数据序列y % 结果序列UFk,UBk2 ...%读取excel中的数据,赋给矩阵y %获取y的样本数 %A为时间和径流数据列 A=xlsread('kk.xls','Sheet1') x=A(:,1);%时间序列 y=A(:,2);%径流数据列
  • MSS是一个程序,它读取制表符分隔的.txt文件(您可以将其制成excel并另存为.txt格式),并相应地显示刺激。 该程序的灵感来自MacStim,因此反映了一组相似的输入。 MacStim的改进包括播放.wav声音文件的能力,在声音...
  • 使用topoplot函数可以轻松实现在matlab的fgure绘制脑电拓扑图,但对于大量数据,如果每次都手动调用topoplot绘制单张拓扑图片,将会消耗大量时间和经历,这里手写了一个matlab脚本读取存放在excel文件的批量数据...
  • 该程序读取从斐济插件 TrackMate 输出的 excel 文件。 然后在用户给定的窗口上对每个轨迹执行加窗均方位移。 该程序旨在分析远离平衡系统的轨迹,如细胞骨架的运动蛋白。 因此,它认为从 MSD 与时间滞后图的斜率...
  • Bench_Sim.m 脚本创建一个包含 100 个 From Workspace、Gain 和 To 工作区模块的新模型。... 2种不同Matlab版本的比较如下图所示: MATLAB 版本:8.1.0.604 (R2013a)[64 位版本] 经过的时间是 56.774682 秒。 MA
  • 读取Excel文件的可选工作表 每只动物的出生日期均沿时间轴以实心符号和ID表示 性别,基因型和状态(在菌落,在菌落外(例如死亡))分别通过符号的形状,色相和饱和度进行编码 可选地,附加显示水平的“生命线”,...
  • 使用topoplot函数可以轻松实现在matlab的fgure绘制脑电拓扑图,但对于大量数据,如果每次都手动调用topoplot绘制单张拓扑图片,将会消耗大量时间和精力,这里手写了一个matlab脚本读取存放在excel文件的批量数据...
  • MATLAB调用LINGO程序并交换数据思路一、lingo脚本调用二、lingo接收数据与输出数据三、matlab代码最后 思路 第一次写文章完全不熟练...1、用lingo完成模型建立和求解,并将数据输出到excel表格,方便运行中读取和后续
  • MATLAB画图surf函数颜色控制参数c用法

    千次阅读 2016-03-18 00:41:00
    专业今年开了MATLAB的课程(土木工程学MATLAB?...从excel中读取粒子,这些粒子具有三维的坐标,xyz,并且具有三维的速度,excel中的每一页内存储一个时间点的例子信息,x,y,z,vx,vy,vz,页的命...
  • 批量制作指定格式、名称的空白文件,用于大量文件另存为过程文件名替换,减少重命名时间 思路: 1.对于无规律的文件名,在excel表格第一列记录,如果是有规律的文件名,可以在matlab中用程序生成; 2.循环读取...

空空如也

空空如也

1 2 3
收藏数 52
精华内容 20
关键字:

matlab读取excel中时间

matlab 订阅