【问题标题】:Importing matrices into Mathematica and Maple将矩阵导入 Mathematica 和 Maple
【发布时间】:2014-01-22 17:39:35
【问题描述】:

我在将矩阵导入 Mathematica 和 Maple 时遇到了困难。文件格式如下:

     0.0000000 1.0000000 1.0000000 
     1.0000000 1.0000000 0.0000000 
     1.0000000 0.0000000 0.0000000 

当导入mathematica时:

    In[1]:= Import["Matrix1.txt", "Table"]

    Out[1]:= {{0.0000000 1.0000000 1.0000000}, {1.0000000 1.0000000 0.0000000}, {1.0000000 0.0000000 0.0000000}}

从那里它不响应 Mathematica 函数。并且显然看起来错误地导入了。

也在枫树中:

  > A = ImportMatrix["Maple_Matrix1.txt", source=delimited]
  >
  > A
  > syntax error, missing operator or ';':

更多导入问题。

导入到任何一个都很棒。每个都有一组我想使用的内置函数。

【问题讨论】:

  • 在 Mathematica 中尝试执行FullForm[Import["Matrix1.txt", "Table"]],我希望你会马上看到问题。我不熟悉的 Maple 似乎对同样的问题犹豫不决。
  • FullForm[] 实际上把我带出了mathematica shell...

标签: matrix import wolfram-mathematica maple


【解决方案1】:

对于您显示的纯文本数据,以下任何一项至少应在 Maple 版本 14 到 17 中工作。只有最后两个适用于 Maple 13。

注意在函数调用中使用圆括号而不是方括号。

注意分号(或冒号,以禁止将结果打印为输出)作为语句终止符。这是一维 Maple 符号输入所必需的。

ImportMatrix("Maple_Matrix1.txt", source=MATLAB, mode=ascii);

ImportMatrix("Maple_Matrix1.txt", source=MATLAB, mode=ascii);

ImportMatrix("Maple_Matrix1.txt", delimiter=" ");

ImportMatrix("Maple_Matrix1.txt", source=delimited, delimiter=" ");

还要注意 Maple 中赋值的语法是 :=,而不是 =。后者仅创建一个方程式(并且不会单独分配给任何东西)。所以你会想要,说,

A := ImportMatrix("Maple_Matrix1.txt", delimiter=" ");

【讨论】:

    【解决方案2】:

    您的矩阵目前看起来像是作为字符串处理的。尝试在 importHead[%[[1]]] 之后运行,它可能会说它是一个字符串。如果它是一个列表,那么 Head[%[[1]][[1]]] 可能应该是一个真实的。 您的文件是制表符还是空格分隔? 您可能需要尝试 ReadList["FILE",{Number,Number,Number}]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      相关资源
      最近更新 更多