【问题标题】:Creating a list of matrices [duplicate]创建矩阵列表[重复]
【发布时间】:2013-07-01 21:02:39
【问题描述】:

我是编程新手,我想知道我的问题是否有一个简单的实现。我有一堆矩阵,我想要一种能够存储它们的方法,或者能够轻松地调用它们并对它们进行操作。例如,如果我有 100 个矩阵,称为 M1,M2,...M100;有没有办法可以重命名它们,这样如果我想调用第 n 个矩阵,我可以只写 M(nth)?

编辑: 比如我要添加M1+M1,M1+M2,...,M1+M100;我希望能够编写一个类似的循环,

对于 i=1:100 AM(i)=M(1)+M(i) 结束

这可能吗?

【问题讨论】:

  • 你用eval()创建了M1, ..., M100吗?
  • @Adiel 这正是首先需要避免的!
  • @user2540462 我建议修改您的程序,以随机名称生成矩阵以创建一个单元格数组,然后将它们分配到单独的单元格中。
  • 必须在核心块中避免这种情况,即避免将增量变量弹出到工作空间中。这是一个明显的例子,当您尝试扩大规模时,var1, var2,... 不是一种可持续的方法

标签: matlab


【解决方案1】:

使用元胞数组

AM = cell(1,100);

并将其设置为

AM{i} = Mi;

那么你可以访问它

AM{i};

注意使用 {} 来访问元胞数组 AM 的每个元素,即矩阵

【讨论】:

    猜你喜欢
    • 2017-08-25
    • 2020-11-24
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 2014-02-09
    • 2018-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多