You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MATLAB中读取Excel/CSV参数文件并将参数单独导入工作区用于Simulink

解决方案:将Excel/CSV参数导入MATLAB工作区作为独立变量

方法1:直接读取Excel文件

无需转换格式,用readtable读取表格后,通过安全的批量赋值将变量导入工作区(避免动态求值):

% 读取Excel文件,替换为你的文件路径
paramTable = readtable('参数文件.xlsx');

% 遍历表格,将每行的变量名和值导入工作区
% 替换"变量名"和"参数值"为你Excel中实际的列标题
for idx = 1:height(paramTable)
    varName = paramTable.变量名(idx);
    varValue = paramTable.参数值(idx);
    
    % 校验变量名是否合法,避免报错
    if isvarname(varName)
        assignin('base', varName, varValue);
    else
        warning('跳过不合法变量名:%s', varName);
    end
end

方法2:转换为CSV后读取

如果Excel读取有兼容性问题,转成CSV格式后用以下代码:

% 读取CSV文件,替换为你的文件路径
paramTable = readtable('参数文件.csv');

% 同上述赋值逻辑
for idx = 1:height(paramTable)
    varName = paramTable.Properties.VariableNames{1}(idx); % 第一列为变量名
    varValue = paramTable{idx, 2}; % 第二列为参数值
    
    if isvarname(varName)
        assignin('base', varName, varValue);
    else
        warning('跳过不合法变量名:%s', varName);
    end
end

关键注意事项

  • 确保所有变量名是合法的MATLAB标识符:不能以数字开头,不能包含空格/特殊字符,不能是MATLAB关键字(如if、for)
  • 导入完成后,Simulink模型可直接使用这些工作区变量作为输入参数
  • 用assignin替代eval,完全符合你不使用动态变量求值的要求

内容的提问来源于stack exchange,提问作者Anant Shirsath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 08:55:01