Maxima中的For循环用于矩阵制作

时间:2018-08-03 18:51:37

标签: loops for-loop matrix maxima

我想使用for循环制作3x3 M矩阵。 eq []和Acc []是数组。而不是获得3x3矩阵,我得到了我不想获得的1x9阵列。

{
  "events": [{
    "eventNameCode": {
      "codeValue": "xyz api call"
    },
    "originator": {
      "associateID": "XYZ",
      "formattedName": "ZYX ABC"
    },
    "actor": {
      "associateID": "Akshat",
      "formatedName": "Akshat Shah"
    },
    "data": {
      "eventContext": {
        "contextExpressionID": "Bslfnjsnkcls=",
        "GroupCode": {
          "codeValue": "ccode"
        },
        "RCode": {
          "codeValue": "CALI"
        },
        "dConfiguration": {
          "itemID": "XYZ"

        }
      },
      "transform": {
        "dConfiguration": {
          "Details": [{

            "_modificationCode": "add",
            "ID": {

              "idValue": "IDCode"
            },
            "ReportIndicator": false,
            "Indicator": true,
            "NumDetails": {
              "NumCode": {
                "codeValue": "CodeValue"
              }
            }
          }]
        }
      }
    }
  }]
}

我不得不提到一个符号来表示新行正在开始,但它立即结束for循环并导致问题。  有什么建议吗?

1 个答案:

答案 0 :(得分:1)

在不事先声明border-bottom: 2px; 的情况下向M[i, j]分配内容时,Maxima将创建一个数组(在Maxima术语中称为“未声明的数组”)作为属性附加到符号M上,没有价值。因此,当您在交互式提示中输入M时,只会看到M,因为它没有值。 (属性是与符号关联的项目,与符号的值不同。)

使用该序言,我建议您将矩阵值分配给M,然后分配给矩阵的元素。我没有Meq的定义,因此Acc在这里没有任何用处。

ratcoef

请注意,下标仅为(%i4) M : zeromatrix (3, 3); [ 0 0 0 ] [ ] (%o4) [ 0 0 0 ] [ ] [ 0 0 0 ] (%i6) for f:1 thru 3 do for r:1 thru 3 do M[r, f] : ratcoef(eq[r],Acc[f]); (%o6) done r,而不是f[r]。通常,[f]是1个元素的列表,即[x]

还有其他方法可以完成此任务,如果事实证明这对您而言效果不佳。