【问题标题】:Use Excel table row names as variable names in MATLAB在 MATLAB 中使用 Excel 表行名称作为变量名称
【发布时间】:2021-01-08 00:07:24
【问题描述】:

我有一个包含两列的简单 Excel 表格。将表导入 MATLAB 后,我希望将第 1 列中的名称声明为具有第 2 列中相应值的变量。

所以在 MATLAB 中,它看起来像这样:

House = "Villa"
Street = "Grand avenue"
Number = 88
Country = "US"

下面的例子:

如何做到这一点?

【问题讨论】:

    标签: excel matlab


    【解决方案1】:

    我会使用assignin 来做这样的事情:

    function assignin_me(name, value)
    assignin('caller', name, value)
    end
    

    然后你可以遍历你的表 t 喜欢:

    for i = 1:size(t,1)
       assignin_me(t{i,1}, t{i,2});
    end
    

    但无论如何,我也会重新考虑将这些值直接存储在变量中。将它们粘贴在结构中的字段中可能会更好:

    s = struct;
    for i = 1:size(t,1)
       s.(t{i,1}) = t{i,2};
    end
    

    【讨论】:

    • 非常感谢安德鲁!我使用了您对结构的建议。我唯一需要添加的就是将其转换为字符数组。按预期工作。 s = 结构;对于 i = 1:size(t,1) s.(char(t{i,1})) = char(t{i,2});结束
    猜你喜欢
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    相关资源
    最近更新 更多