【问题标题】:Naming huge number of variables in Matlab [duplicate]在Matlab中命名大量变量[重复]
【发布时间】:2015-09-17 13:36:55
【问题描述】:

我想在 Mat 实验室中这样命名几个变量:

变量1 变量2 变量3 ... 变量100

我不能使用 1x100 矩阵,因为它们每个都是矩阵。

当我在顶部看到示例时,如何命名仅在数字部分不同的变量的解决方案。

【问题讨论】:

  • 好吧,您可能可以通过从 1:100 编写一个 for 循环并使用 ['variable' num2str(loopIteration)] 来创建变量,但我不确定这是否明智。
  • 永远不要使用动态变量命名。对于several reasons,这是非常非常糟糕的 MATLAB 编程。请查看@excaza 关于如何以适当的 MATLAB 方式存储它的答案。

标签: matlab


【解决方案1】:

不,您不想这样命名变量。你有很多更好的选择。

举一些例子数据:

A = rand(200);
B = rand(200);
C = rand(200);

每一个都是一个200x200 矩阵。

MATLAB 支持multidimensional arrays

mydata_matrix(:, :, 1) = A;
mydata_matrix(:, :, 2) = B;
mydata_matrix(:, :, 3) = C;

您可以将数据嵌套在cell array

mydata_cell{1} = A;
mydata_cell{2} = B;
mydata_cell{3} = C;

或者你可以使用structure:

mydata(1).data = A;
mydata(2).data = B;
mydata(3).data = C;

所有这些都可以轻松迭代,并且不会污染您的工作空间。

【讨论】:

  • 啊,我想问OP为什么不能用多维数组格式表示数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-13
  • 2021-04-29
  • 1970-01-01
  • 2015-05-08
  • 2020-07-28
  • 2015-09-17
相关资源
最近更新 更多