MATLAB如何导入导出数据至Excel

MATLAB如何导入/导出数据至Excel

MATLAB作为一款强大的科学工具,对于使用者而言在使用过程中可能需要将计算数据导出至Excel进行其他操作或简单数据保存,或是将Excel中的数据导入至MATLAB进行处理绘图。今天就以个人简单的案例总结一下上述操作,主要用到的是MATLAB中的xlsreadxlswrite函数。


软件信息

  • MATLAB 2018a
  • Excel 2016
  • 系统环境为Win10 64位
  • 原始数据**.mat文件**(wg_mode_neff_sweep_slab.mat)

.mat数据导入

  • 在和Excel进行数据传递之前,首先模仿现实情况中将其他软件生成的mat文件进行导入至MATLAB

    • MATLAB中导入.mat文件可以直接在命令行使用load(文件路径及文件名)函数进行导入,在这里我使用默认路径,直接填入文件名进行导入

    • load('wg_mode_neff_sweep_slab.mat')
      

      数据导入后可以在工作区看到当前文件中包含是数据,在这里我们首先尝试导入thick_Si_list

      MATLAB如何导入导出数据至Excel_第1张图片

    • 直接在matlab中观察该数据,可以看出是一个41*1的数值列,接下来我们将其输出至Excel文件中

数据写入Excel

  • xlswrite函数是matlab中内置用于写入Excel的函数,其格式为:

    • xlswrite(filename,A)
      xlswrite(filename,A,sheet)
      xlswrite(filename,A,xlRange)
      xlswrite(filename,A,sheet,xlRange)
      
    • 其中filename为目标Excel所处路径和名称(当不存在这一文件时自动创建

    • A为你要写入的数据,默认情况下数据将直接写入至Excel的sheet1中的A1单元格

    • sheet和xlrange则可以满足你进一步选择写入工作表和位置的需求(如sheet2中E4:E60单元)

    • 这里我们将目标数据写入桌面test文件夹中名为“demo.xls"的excel表格中,代码如下

    • xlswrite('C:\Users\soberman\Desktop\test\demo.xlsx',thick_Si_list)
      
    • 注意在低版本excel中后缀为xls

    • 此时打开表格便会看到数据已被写入sheet1中

    • MATLAB如何导入导出数据至Excel_第2张图片

    • 再进一步,将另一组纵坐标数据写入B1:E41范围内

    • xlswrite('C:\Users\soberman\Desktop\test\demo.xlsx',neff_slab,'sheet1','B1:E41')
      
    • 结果如图所示

    *MATLAB如何导入导出数据至Excel_第3张图片

读入Excel数据

  • xlsread函数用于将excel中的数据读入matlab中,函数格式为:

    • num = xlsread(filename)
      num = xlsread(filename,sheet)
      num = xlsread(filename,xlRange)
      num = xlsread(filename,sheet,xlRange)
      num = xlsread(filename,sheet,xlRange,'basic')
      [num,txt,raw] = xlsread(filename,-1)
      
    • filename为目标读取文件,默认读取sheet1,可以通过sheet和xlRange限定具体工作表和单元格范围,Windows版本的Excel会自动在basic模式下运行,一般可以忽略

    • [num,txt,raw]可以根据表格中数据类型按照数字、文本、数字文本混合的形式分别读取,只有Windows系统支持该用法

  • 实例:导入demo文件中sheet2数据

    • 目标数据

      *在这里插入图片描述

    • 代码:

    • [demo,txt]=xlsread('C:\Users\soberman\Desktop\test\demo.xlsx','sheet2','A1:B3')
      
    • 结果

    • MATLAB如何导入导出数据至Excel_第4张图片

    • 注意:不使用元组直接采用demo=xlsread(…)代码用于上述条件时,只会导入数值,不会导入字符

你可能感兴趣的:(excel,matlab)