运行 在matlab中存储为字符串的变量

Running a variable that is stored as string in matlab

这是交易,我有很多变量存储在 Excel 中。这些是我的 Simulink 模型使用的值。我想做的是自动提取所有的描述。

到目前为止我所做的如下,

我从专栏中读取它们并定义了一个 txt 数组以将它们保存为字符串。 创建另一个字符串作为 s2 以将“.Description”字符串与变量名称组合。 我将它们组合起来并生成了另一个名为 descripter 的数组。 从 txt 数组中读取计数器的长度。 使用一个小的 while 循环将 .Description 添加到所有这些。

我被卡住的地方是我无法 运行 他们并获得描述。

我使用了 eval() 但失败了。有没有办法调用这些字符串作为变量来获取描述?

clc
filename = 'variables.xlsx';
[num, txt] = xlsread('variables','A:A')
L=length(txt)
s2='.Description'
i=1;
while i<=L
    descriptioner(i) = strcat(txt(i),s2)
    i=i+1;
end

为了执行字符串中给出的 MATLAB 命令,应该使用 eval().

尝试在执行循环之前将 descriptioner 变量分配为单元格。这是一种尝试方法:

clc
filename = 'variables.xlsx';
[num, txt] = xlsread('variables','A:A');
descriptionsCell = cell(size(txt));
for i=1:numel(txt);
   descriptionsCell{i} = [txt{i},'.Description'];    
   fprintf(1,'The description of %s is %s\n',txt{i},eval(descriptionsCell{i}));
end

让我知道这是否有效。它在我的机器上运行一个模拟示例,但我一直在学习新事物。