【发布时间】:2021-09-15 13:23:49
【问题描述】:
我是新手。我有问题。 我有 20 (1x100) 个不同的命名向量。我想结合这些向量来创建一个带有 for 循环的 20x100 矩阵。 有向量的例子。
namelist=["First","B","New"]
First = [1:100]
B = [1:2:200]
New = [4:4:400]
for i = 1: length(namelist)
new_database(i,1:end) = namelist{i}
end
但是,当我想尝试这个时,我看到“必须在数组索引表达式中使用结束运算符。”错误。 我知道我可以用这个做同样的事情: "new_database= [First;B;New]"
但我想用 for 循环来做到这一点。 你能帮我解决这个错误吗?或者你能解释一下如何做到这一点?
【问题讨论】:
-
鉴于此设置,您需要做的更像是
new_database(i,:) = eval([namelist{i}, ';']);。您应该做的是避免动态变量命名,而不是将自己置于首先需要这样做的位置!请看MathWorks: Evading Eval -
@Wolfie 谢谢你的回答!另外,我看到了这个帖子mathworks.com/matlabcentral/answers/…