【问题标题】:Adding vectors with sequential names to a table using a for-loop使用 for 循环将具有顺序名称的向量添加到表中
【发布时间】:2014-06-01 11:29:15
【问题描述】:

我有按顺序命名的向量(每个有 1 行和 13 列)(values.val0001、values.val0002 等),我正在尝试使用以下代码将所有这些向量作为行输入一个表中:

for i = 1:50;
    j = sprintf('%04d', i);
m = [];
m =[m; values.(['val' j])];
end

上面的代码只会生成一个包含第一行的表(即 values.val0001),并且不会按照我的意图将顺序命名的向量(即 values.val0002、values.val0003)输入到后续行。

【问题讨论】:

  • 这些变量从何而来?为什么不直接使用数组(矩阵)而不是大量的单个变量?
  • 这些变量是通过多个步骤实现的,首先我必须导入按顺序命名的 .dat 文件,然后按顺序对文件中的值进行曲线拟合以生成我在此处显示的变量。组织它们的唯一方法(给它们按顺序命名)是将它们放在结构中。
  • 每个变量(例如 values.val0001)都是一个 1 行 13 列的向量

标签: matlab for-loop matrix vector


【解决方案1】:

您应该将带有m = [] 的行移出for循环,否则您将每次重置变量m

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    • 2015-11-28
    • 1970-01-01
    • 2021-12-03
    相关资源
    最近更新 更多