精华内容
下载资源
问答
  • matlab读取excel表格

    2018-08-02 13:36:13
    可以通过matlab读取excel表格并画图,可以索引至第n列,功能易实现,可验证
  • MATLAB循环读取excel各行表格代码,操作简单,适合新手学习
  • matlab提取excel中的指定列,简单,容易实现
  • matlab读取excel-matlab读取excel.doc matlab读取excel,有需要的朋友可以看看,^_^
  • matlab提取excel中的指定列,简单,容易实现
  • Excel中以文本格式保存的数值,使用xlsread读取,只能在raw中获取。 strcmp函数找内容为“—”的下标,使用raw(idx)=nan将其替换为0。 cellfun为cell的函数,对cell里的元素执行str2num函数,最终得到double类型...

    关键代码内容:

    clc;
    clear;
    Path=fullfile('D:\Data\20210128PM2.5');
    File=dir(fullfile(Path,'*.xlsx'));
    FileNames = {File.name};
    Length_Names = size(FileNames,2);
    for k = 1:Length_Names
        K_Trace = strcat(Path,'\' ,FileNames(k));
        [num,txt,raw] =  xlsread(char(K_Trace),'sheet1','G2:G1496');
        idx = find(strcmp(raw,'—'));
        nan = num2cell('0');
        raw(idx)=nan; 
        pmdata = cellfun(@str2num,raw(1:end));
        PM_All(:,k) = pmdata;
        fprintf('已读取第%d个文件\n',k)  
    end
    fprintf('共读取%d个文件\n',k)
    

    代码解释:

    1. 读取文件夹下所有后缀为xlsx的文件
    Path=fullfile('D:\Data\20210128PM2.5');
    File=dir(fullfile(Path,'*.xlsx'));
    FileNames = {File.name};
    Length_Names = size(FileNames,2);
    
    1. 在Excel中以文本格式保存的数值,使用xlsread读取,只能在raw中获取。
    2. strcmp函数找内容为“—”的下标,使用raw(idx)=nan将其替换为0。
    3. cellfun为cell的函数,对cell里的元素执行str2num函数,最终得到double类型的矩阵
    [num,txt,raw] =  xlsread(char(K_Trace),'sheet1','G2:G1496');
    idx = find(strcmp(raw,'—'));
    nan = num2cell('0');
    raw(idx)=nan; 
    pmdata = cellfun(@str2num,raw(1:end));
    

    Excel公式对非零元素求均值

    =AVERAGEIF(F2:EPZ2,"<>0")
    

    插曲:
    尝试分块处理

    clc;
    clear;
    Path=fullfile('D:/Data/20210128PM2.5');
    File=dir(fullfile(Path,'*.xlsx'));
    FileNames = {File.name};
    Length_Names = size(FileNames,2);
    Length_Names_chunk = ceil(Length_Names/10);
    for chunk = 1:10
        i = 1;
        if chunk == 10
            for k = Length_Names_chunk*(chunk-1)+1:Length_Names
                K_Trace = strcat(Path,'\' ,FileNames(k));
                [num,txt,raw] =  xlsread(char(K_Trace),'sheet1','G2:G1496');
                idx = find(strcmp(raw,'—'));
                nan = num2cell('0');
                raw(idx)=nan; 
                pmdata = cellfun(@str2num,raw(1:end));
                PM_All(:,i) = pmdata;
                i = i + 1;
                fprintf('已读取第%d个文件\n',k)  
            end
        else
            for k = Length_Names_chunk*(chunk-1)+1:Length_Names_chunk*chunk
                K_Trace = strcat(Path,'\' ,FileNames(k));
                [num,txt,raw] =  xlsread(char(K_Trace),'sheet1','G2:G1496');
                idx = find(strcmp(raw,'—'));
                nan = num2cell('0');
                raw(idx)=nan; 
                pmdata = cellfun(@str2num,raw(1:end));
                PM_All(:,i) = pmdata;
                i = i + 1;
                fprintf('已读取第%d个文件\n',k)  
            end
        end
        NewFile_Path = sprintf('D:/Data/20210128PM2.5/output/output%d.xlsx',chunk);
        xlswrite(NewFile_Path,PM_All)
        fprintf('第%d个分块读取结束\n',chunk)
        clearvars PM_All
    end
    

    避免报错,用try……catch处理

    clc;
    clear;
    Path=fullfile('D:\Data\20210128PM2.5');
    File=dir(fullfile(Path,'*.xlsx'));
    FileNames = {File.name};
    Length_Names = size(FileNames,2);
    % All_PM_Data = zeros(1495,Length_Names);
    error_num = 0;
    for k = 1:Length_Names
        try 
            K_Trace = strcat(Path,'\' ,FileNames(k));
            [num,txt,raw] =  xlsread(char(K_Trace),'sheet1','G2:G1496');
            idx = find(strcmp(raw,'—'));
            nan = num2cell('0');
            raw(idx) = nan; 
            pmdata = cellfun(@str2num,raw(1:end));
            PM_All(:,k) = pmdata;
            fprintf('已读取第%d个文件\n',k) 
        catch
            fprintf('第%d个文件有问题!!!!!\n',k)
            error_text = fopen('D:\Data\20210128PM2.5\output\error_log.txt','a');
            fprintf(error_text,'%s\n',K_Trace);
            fclose(error_text);
            error_num = error_num+1;
            continue
        end
    end
    fprintf('共读取%d个文件\n',k)
    fprintf('共%d个文件读取有问题\n',error_num)
    NewFile_Path = 'D:\Data\20210128PM2.5\output\output.xlsx';
    xlswrite(NewFile_Path,PM_All)
    
    展开全文
  • Matlab 提取Excel表中非数值数据 使用readtable T = readtable(filename) 通过从文件中读取列向数据来创建表。 readtable 基于文件的扩展名确定文件格式: .txt、.dat 或 .csv(适用于带分隔符的文本文件) .xls、...

    Matlab 提取Excel表中非数值数据

    使用readtable

    T = readtable(filename)
    通过从文件中读取列向数据来创建表。

    readtable 基于文件的扩展名确定文件格式:

    .txt、.dat 或 .csv(适用于带分隔符的文本文件)

    .xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(适用于电子表格文件)

    readtable 为该文件中的每列在 T 中创建一个变量并从文件的第一行中读取变量名称。
    默认情况下,readtable 会根据在输入文件的每列中检测到的数据值来创建具有适当数据类型的变量。
    参考官网:https://ww2.mathworks.cn/help/matlab/ref/readtable.html
    xlsread太难用了。官网会提示不推荐使用,可以尝试使用readtable、readmatrix 或 readcell。

    展开全文
  • 实现从Excel读取数据并展示在MATLAB表格控件中
  • 大学时候选修Matlab,算是有了入门基础。现在工作了偶尔需要用到,将各种数据绘图进行对比,因此又安装使用上。------------------------分界线-以下正文-------------------现在有一个Excel数据文件,是一组时域...

    99ed6ed8f577fe2a4a4ac62dad45524e.png

    大学时候选修Matlab,算是有了入门基础。现在工作了偶尔需要用到,将各种数据绘图进行对比,因此又安装使用上。

    ------------------------分界线-以下正文-------------------

    现在有一个Excel数据文件,是一组时域信号,我需要将它的三个通道数据绘制曲线图,方便查看。(Excel本身也能绘图,但是为了以后有大量同类型数据文件的处理需求,我决定写一个.m文件以便以后进行批处理)。

    数据如下:(以上为部分数据截图,全部为10028行)

    8b911813cd746819b3e256bd26d87c3c.png

    打开Matlab软件,新建.m文件,使用xlsread导入Excel文件;

    clc

    运行成功后工作区出现变量tx,如图:

    52d272d5fe55e874376ecb23298f3b89.png

    为了更方便阅读数据个代码,将变量命名与新号通道对应,如下

    time=tx(:,2);%第2列数据为时间新号
    Altitude=tx(:,3);%第3列数据为海拔高度新号
    speed=tx(:,4);%第4列数据为速度新号

    接下来绘制二维图,代码如下:

    subplot

    曲线图结果如下:

    61bb5dc5a3d01ba2f906e8bc38ca583e.png

    可以根据自己喜好调整颜色、大小、曲线宽度等参数,比Excel方便,而且代码能方便转化,我存储到有道云笔记,随时查看。

    完整代码如下:

    clc

    ----------------------------分界线----------------------------

    我计划使用知乎的文章功能记录学习Matlab所得,这是第一篇。

    展开全文
  • 使用MATLAB实现对Excel文档数据的读取和使用,提供MATLAB原始代码
  • % 从Excel文件中读取数据 y = 1 - X(X~=1 & ~isnan(X))' % 提取X矩阵的不等于1和NaN的元素,并转为距离向量 (2)调用linkage函数创建系统聚类树 Z = linkage(y,'average') % 利用类平均法创建系统聚类树 (3...

    1. 变量系统聚类分析结果

    在这里插入图片描述

    2. matlab完整代码

    (1)读取数据,并转为距离向量

    [X,textdata] = xlsread('examp09_03.xls');    % 从Excel文件中读取数据
    y = 1 - 
    展开全文
  • Matlab读取excel文件中的数据

    万次阅读 多人点赞 2018-07-24 15:08:58
    MATLAB读取excel中的数据 读取sheet1中的数据 [num,txt,raw]=xlsread('C:\Users\Administrator\Desktop\test\a.xls') %num返回的是excel中的数据,txt输出的是文本内容,row输出的是未处理数据 %一般情况下,...
  • Matlab读取Excel各个子表的数据进行拟合 前言 现有一个Excel文件,里面存有很多个子表,每个子表格式一样,但是数据不一样,现要对每个子表中的好多行数据进行多项式拟合,并将拟合好的结果保存回Excel中各个子...
  • matlabexcel的交互,可以很好的帮助学习matlabexcel之间的文件读取等等
  • 1、首先要读取excel内容     为了存excel中的表项,采用的读取excel方式为:[num,txt] = xlsread('excel的文件名',‘读取的excel的数据范围’); 示例代码如下: [num,txt] = xlsre...
  • 五种matlab读取excel文件方法

    千次阅读 2021-03-22 15:59:59
    读取excel文件的五种方式: readcell(filename),以cell(元胞数组,注:访问cell元素用{ })格式导入所有信息,空格被识别为missing。用strcmp(class(references{2,3}),'missing')来判定,若为1,则说明为空。最...
  • 在使用xlsread进行excel读取的时候 1、如果写成这样 rawData = xlsread('D:\Users\Desktop\test.csv'); 如果excel里面有些列不是数字类型,那么读取出来的数据会出现nan的现象; 解决方法: [rawDataNum, ...
  • matlab读取excel指定列,matlab读取excel指定列数据,matlab源码.rar
  • matlab读取excel指定列,matlab读取excel指定列数据,matlab源码.zip
  • 第 第 PAGE 1 页 共 ...下面是由小编分享的matlab读取excel数据的方法以供大家阅读和学习 matlab读取excel数据的方法 matlab读取Excel数据步骤1如果数据文件为excel文件(xls或者xlsx格式的文件)如下图所示的数据
  • 1.matlab大段注释的方法 方法一: 注释语句的快捷键是Ctrl+R 取消注释的快捷键是Ctrl+T 并且支持一次注释(或者取消注释)多行语句。 选定要注释(或者取消注释)的那些语句,然后按Ctrl+R(或者Ctrl+T)就可以了。 ...
  • matlab读取excel文件

    万次阅读 2018-08-19 15:38:11
    最近在用matlab处理采集...在读取过程最重要的函数是xlsread函数,使用该函数可以方便的读取excel文件的数值、文本等, num = xlsread(filename,sheet,xlRange) 通过这条函数可以获取指定文件指定表的指定范围的...
  • 原创Matlab读取Excel并显示-ExcelReader.rar 运行效果 excelreader.JPG 主程序如下,没有M币的朋友就自己贴回去,再做个.fig文件就可以用了,需要2个控件 controller name ...
  • Matlab读取excel文件

    千次阅读 2019-08-24 06:55:48
    1、读取excel 输入代码:A=xlsread('eg.xlsx'); disp(A); 说明:需要知道excel格式xls与xlsx 2、读取excel相应的sheet A=xlsread('eg.xlsx','Sheet2'); disp(A); 3、写入excel文件 B=[1 2 3 4;a b c d;5 6...
  • matlab读取excel文件-Read excel.zip 附件里有一个flv视频和读取excel的m文件。 开IE浏览器就可以看到。路径:14Read excel\14 Read excel.html
  • %num接收读取的数值数据, txt为cell类型,读取字符,raw为cell类型,能同时读取字符或者数字 matrix_col=size(txt,2) matrix_row=size(txt,1) result=[]; %Westinghouse Clip-On Gooseneck Lamps: %Tennsco 6-...
  • MATLAB读取excel表格中指定位置的数据

    万次阅读 2018-04-11 22:51:47
    help xlsreadxlsread - 读取 Microsoft Excel 电子表格文件 此 MATLAB函数读取名为 filename的Microsoft Excel电子表格工作表中的第一张工作表,并在一个矩阵中返回数值数据。 num = xlsread(filename) num = ...
  • MATLAB读取excel文件中的数据

    千次阅读 2019-05-10 13:06:03
    平时在处理实验数据时,以前我通常是将excel数据直接复制粘贴到matlab的变量中,这种方式费时费力,首先得新建变量并且重命名,然后将excel表格数据选中复制粘贴至变量中,处理简单的数据还行,处理大量,复杂的...
  • matlab提取Excel数据代码示例

    千次阅读 2018-12-14 14:00:02
    今天用matlab提取Excel表中指定位置的数据,并画出折线图,用于了解数据的变化情况。 function analysis %用于提取Excel表中数据 clc; close all; % 关闭之前打开的所有figure alpha = {'A','B','C','D','E','F','...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,646
精华内容 1,858
关键字:

matlab提取excel

matlab 订阅