【问题标题】:Assigning Variable String Value to a table name将变量字符串值分配给表名
【发布时间】:2020-06-26 14:31:28
【问题描述】:

我在一个函数中创建一个表,所以函数输出一个表到分配的变量名,如下所示

[name] = tablefunc(input1, input2)

问题是我希望能够将名称作为之前分配的输入,例如

name = 'dogs'
[something] = tablefunc(input1,input2)

我希望能够将一些代码放在它所说的地方,以便为 tablefunc 的输出表分配变量名称dogs

我为什么要这样做可能会令人困惑,但这是因为我在 for 循环中从 txt 文件中提取表,所以我生成了很多表,我希望能够为表提供适当的名称与表 1、表 2 等相反。

【问题讨论】:

    标签: string matlab variables


    【解决方案1】:

    这不是一个好主意。作为替代方案,您应该创建一个结构:

    function t = tablefunc(input1,input2)
        t = table(input1,input2);
    end
    
    name = 'dogs';
    s = struct();
    s.(name) = tablefunc(rand(2),rand(2));
    

    每个txt 文件可以有一个字段。

    【讨论】:

    • 这很有帮助。我可以在每次运行它所嵌入的 for 循环时向结构中添加一个新表吗?
    • 不客气。当然,例如s.('cats') = table()
    • 没关系,我将 for 循环更改为 while 循环,它工作了
    • @young_coder 酷。如果它解决了您的问题,请不要忘记接受答案。见stackoverflow.com/help/someone-answers
    猜你喜欢
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 2013-02-23
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多