当前位置: 首页 > article >正文

MATLAB导入Excel数据

 假如Excel中存在三列数据需要导入Matlab中。

保证该Excel文件与Matlab程序在同一目录下。

function [time, voltage, current] = test(filename)
    % 读取Excel文件并提取时间、电压、电流数据
    % 输入参数:
    %   filename: Excel文件名(需包含路径,如'C:\data\TT.xlsx')
    % 输出参数:
    %   time: 时间列数据(对应Excel中的"time"列)
    %   voltage: 电压列数据(对应Excel中的"voltage"列)
    %   current: 电流列数据(对应Excel中的"current"列)

    % 检查文件是否存在
    if ~exist(filename, 'file')
        error('文件 "%s" 不存在,请检查路径或文件名。', filename);
    end

    % 读取Excel数据
    try
        data = readtable(filename);
    catch
        error('无法读取文件 "%s",请确认文件格式是否为Excel。', filename);
    end

    % 检查列是否存在
    requiredColumns = {'time', 'voltage', 'current'}; % 注意列名必须完全匹配
    missingColumns = setdiff(requiredColumns, data.Properties.VariableNames);
    if ~isempty(missingColumns)
        error('缺失必要列: %s。请检查Excel列名。', strjoin(missingColumns, ', '));
    end

    % 提取数据列
    time = data.time;
    voltage = data.voltage;  % 注意:Excel中的列名必须为"volage"
    current = data.current;
end

执行主程序即可导入:

    %% 数据加载(假设每个SOC点对应一个脉冲段)
    [t, V, I] = test('TT.xlsx');  % 加载当前SOC点数据

进一步,为了方便,可采用元胞数组打包。

    %% 数据加载(假设每个SOC点对应一个脉冲段)
    [t, V, I] = test('TT.xlsx');  % 加载当前SOC点数据
    data = {t, V, I};

 在该界面内ctrl+S 另存为成matlab数据文件,之后可直接使用。

假如要使用元胞数组里电压数据:

voltage = data{2}(:,1);


http://www.kler.cn/a/610244.html

相关文章:

  • 【论文精读-图像恢复】 All-In-One Image Restoration for Unknown Corruption
  • Kotlin 协程官方文档知识汇总(二)
  • MySQL 和 Redis 数据一致性解决方案
  • 字节码生成技术
  • springboot启动事件CommandLineRunner使用
  • HarmonyOS Next~鸿蒙应用框架开发实战:Ability Kit与Accessibility Kit深度解析
  • BFS专项练习 —— 蓝桥杯刷题
  • SICAR 标准 KUKA 机器人标准功能块说明手册
  • Linux操作系统7- 线程同步与互斥7(RingQueue环形队列生产者消费者模型改进)
  • 瑞数信息《BOTS自动化威胁报告》正式发布
  • mybatis笔记(下)
  • LLVM学习-DragonEgg工具
  • 3D编辑器:开启虚拟世界的创意大门
  • 基于python+django的商城网站-电子商城管理系统源码+运行
  • 什么是数据密集型,什么是计算密集型,以及这两者有什么关联和区别
  • CPP从入门到入土之类和对象Ⅲ
  • 英伟达与通用汽车深化合作,澳特证券am broker助力科技投资
  • STM32 - 在机器人、自动化领域,LL库相比HAL优势明显
  • C# 责任链模式全面讲解:设计思想与实际应用
  • 告别AI幻觉:Cursor“知识库”技术实现85%的错误减少