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

时间:2017-07-20 14:36:54

标签: arrays string matlab simulink

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

到目前为止,我所做的是以下内容,

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

我被困的地方是我无法运行它们并获得描述。

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

ls -r ... | grep ... | xargs ...

2 个答案:

答案 0 :(得分:1)

尝试在执行循环之前将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

让我知道这是否有效。它可以在我的机器上运行,用于模拟示例,但我总是在学习新东西。

答案 1 :(得分:0)

为了执行在String中给出的MATLAB命令,应该使用eval()