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);