Arrays MATLAB字符串到数字错误

Arrays MATLAB字符串到数字错误,arrays,matlab,Arrays,Matlab,我有几十个具有不同数组名称的数组,我想逐数组进行循环数组的数学计算。我成功地将这些数组调用到for循环中。有人能帮我解决这个问题吗?text1数组包含数组名。我的“s”结构的所有这些数组的名称都与text1数组的内容相同 text1=['s.CustomerArray.DistanceDriven','s.CustomerArray.TimeDriven']; for i=1:3 parameter=str2num(text1(i)); k=size(parameter,2);

我有几十个具有不同数组名称的数组,我想逐数组进行循环数组的数学计算。我成功地将这些数组调用到for循环中。有人能帮我解决这个问题吗?text1数组包含数组名。我的“s”结构的所有这些数组的名称都与text1数组的内容相同

text1=['s.CustomerArray.DistanceDriven','s.CustomerArray.TimeDriven'];

for i=1:3
    parameter=str2num(text1(i));
    k=size(parameter,2);
    a=100;
    y=zeros(a,k);

end
在本部分之后,我的一些其他计算应开始使用“参数”

问候,


我认为你做错了几件事,这里有一些建议

<>而不是手动列出它们,考虑在<代码>字段名称< /代码>上进行循环,可以自动获得。 如果要在字符串上循环,请确保使用
单元格数组
,而不是
矩阵

如果您有一个常量,请在循环外部而不是在循环内部声明它。这不会破坏代码,只会导致过时的计算

如果要存储在循环中获得的结果,请确保向循环的变量添加索引


也就是说,这里有一个关于你想做什么的猜测:

f = fieldnames(s.CustomerArray);
y = cell(numel(f),1);
parameter = NaN(numel(f),1);
for t = 1:numel(f)
    parameter(t) = s.CustomerArray.(f{t});
    y{t} = zeros(100,numel(f{t}));
end

您希望
参数中包含什么内容??而且
text1(1)
会给你
's'
text1(2)
会给你
等等。。。我肯定这根本不是你想要的。我想也许你应该扩展你的解释,包括一个例子那么问题是什么?您是否收到错误消息?如果是,是哪一个?'s.CustomerArray.DistanceDriven'和's.CustomerArray.TimeDriven'将作为带有xlsread函数的文本出现。在我的工作区中,这些数组有一个数字,我想稍后使用。我的目的是将这些字符串数组转换为数字数组。str2num在我的情况下不起作用。谢谢你的建议。我在字符串上循环,但我的重点是在工作区内到达该字符串名称数组的数值。@user3145941假设存在具有该名称的数组,这应该是您现在在
参数中得到的。尝试
a.b=1;s='b';a、 (s)
了解如何访问命名结构的值。