Matrix 需要一个像这些一样的简短代码吗

Matrix 需要一个像这些一样的简短代码吗,matrix,wolfram-mathematica,maple,Matrix,Wolfram Mathematica,Maple,我对Mathematica的导出结果有一个问题。必须以特殊形式导出两个矩阵A和B。 这两个代码构成了从Maple导出的数据列表。 使用写字板打开的导出文件必须看起来像列(文件附件),这一点很重要 请,如果您已经检查过它是否正常工作,请给我回信,谢谢!你可以把你的答案和下面的文件进行比较 代码在这里 矩阵A和B,带有Maple和导出文件中的代码 我也会在这里展示给大家,让大家看得更清楚 代码1) 这只是(B)部分的翻译: matrix = {{6436781.609, 0}, {0, 38620

我对Mathematica的导出结果有一个问题。必须以特殊形式导出两个矩阵A和B。 这两个代码构成了从Maple导出的数据列表。 使用写字板打开的导出文件必须看起来像列(文件附件),这一点很重要

请,如果您已经检查过它是否正常工作,请给我回信,谢谢!你可以把你的答案和下面的文件进行比较

代码在这里

矩阵A和B,带有Maple和导出文件中的代码

我也会在这里展示给大家,让大家看得更清楚

代码1)


这只是(B)部分的翻译:

matrix = {{6436781.609, 0}, {0, 3862068.966}}

Export["Bexport", Map[FortranForm, N@Flatten[matrix]], "Table"]
请测试一下,让我知道它是否适合你


与Maple版本相比的不同之处在于:
E
以小写形式编写,输出的位数不是固定的(但是,正如您所看到的,所有有效位数都被保留)。这些差异是否会导致应用程序出现问题?

我相信这正是矩阵B所需要的:

b = {{6436781.609, 0}, {0, 3862068.966}}

bformatted = 
  NumberForm[
    Flatten@b,
    {16, 15}, 
    NumberFormat -> (Row[{#, "E+", StringTake["00" <> #3, -2]}] &)
  ];

bstring = 
  StringReplace[
    ToString@bformatted,
    {"{"|"}"|" " -> "", "," -> "\n"}
  ];

WriteString["Bexport.dat", bstring, "\n"]

Close["Bexport.dat"]
b={{6436781.609,0},{03862068.966}
b格式=
数字形式[
Flatten@b,
{16, 15}, 
NumberFormat->(第[{#,“E+”,第[“00”#3,-2]}行]&)
];
B字符串=
StringReplace[
ToString@bformatted,
{{{}{}{}{}{}{}{}}{}}{}}{}}}{}}{}}{}}}{}}}
];
WriteString[“beexport.dat”,bstring,“\n”]
关闭[“beexport.dat”]

问题是什么还不清楚。你需要mathematica中的代码来完成这个maple代码的功能吗?是的,acl,我需要mathematica中的代码来完成这个。你为什么不使用你的普通帐户发布这个呢?我不知道,我的帐户在这里不工作,我无法发布,我不知道帐户有什么问题?@user1077093:我注意到你的帐户(在其中一个stackexchange网站上)由于您提出的大量质量低劣的问题而暂停了一段时间。(基于上的糟糕格式,这方面没有改进)。但是您的帐户现在看起来很好-您应该再次尝试使用它。@Szabolics当使用写字板打开文件时,它像行一样打印,Maple像列一样打印,这是矩阵B,但是如何打印A呢?@user1077093我在Mathematica 8的系统上得到一列。但是您可以尝试
导出[“Bexport”,List/@Map[FortranForm,N@Flatten[matrix]],“Table”]
如果您有不同的版本,则强制执行列。我看不到(a)的简单解决方案,因为Mathematica只有用于翻译表达式的内置函数(而不是)到Fortran格式。所以细节需要用Mathematica手工实现,这需要很多时间。也许其他人会这么做。@Szabolcs,这是可行的,只是不是一个自动过程。你能给我一个快速概述他的Maple代码在做什么吗?特别是
codegen
应该做什么吗?如果需要,在聊天室发布它需要。@rcollyer这是一个关于函数的详细信息,我在表单中应用了它,它是以类似写字板的行而不是列打印的,我不知道为什么矩阵={{6436781.609,0},{03862068.966};a=Map[FortranForm,N@Flatten[矩阵]];a>>“C:\\test1.txt”谢谢你,向导先生,我会试试的。但是mathematica在哪里保存这个Bexport.dat?矩阵A呢?有可能做类似的吗?或者需要一些新的东西吗?@George,它保存到通过计算
目录[]显示的路径中
。您可以使用
SetDirectory
进行设置。您也可以使用完整的路径名,但请注意,您需要像这样“转义”反斜杠:
“C:\\Data\\Mathematica\\project1\\Bexport.dat”
我没有响应矩阵A,因为我不确定您在那里做什么。稍后我会再看一看。向导您可以看到导出的矩阵A也可以以列形式进行fortran计算。此处
matrix = {{6436781.609, 0}, {0, 3862068.966}}

Export["Bexport", Map[FortranForm, N@Flatten[matrix]], "Table"]
b = {{6436781.609, 0}, {0, 3862068.966}}

bformatted = 
  NumberForm[
    Flatten@b,
    {16, 15}, 
    NumberFormat -> (Row[{#, "E+", StringTake["00" <> #3, -2]}] &)
  ];

bstring = 
  StringReplace[
    ToString@bformatted,
    {"{"|"}"|" " -> "", "," -> "\n"}
  ];

WriteString["Bexport.dat", bstring, "\n"]

Close["Bexport.dat"]