簡體   English   中英

如何使用 FileTemplate 代替 Splice 將 Mathematica 表達式導出到 Fortran 中?

[英]How do I use FileTemplate as a substitute for Splice to export Mathematica expressions into Fortran?

我發現 Mathematica 中的 Splice 功能在過去非常有用。 我正在嘗試將針對 Fortran 格式化的 mathematica 表達式插入到 Fotran 代碼中。

有沒有人願意分享一個小的工作示例? 謝謝。

我可以編寫 Mathematica 代碼

y=x^3

並構建一個文件 test.fm

      program test
      real x,y
      x=1.0
      y=
     -  <* y *>
      write(6,*) "y",y
      end

和數學線 Splice["test.fm"] 會給出一個文件 test.f 與

      program test 
      real x,y
      x=1.0
      y=
     - x**3
      write(6,*) "y",y
      end

顯然,在最近的 Mathematica 版本中刪除了 Splice 的這種使用,我收到一條錯誤消息

  The function Splice with filename inputs is now obsolete and has been
    superseded by FileTemplate.

我試過

FileTemplate["test.mf"]

但它返回的東西顯然需要進一步輸出。 然后我嘗試了

TemplateApply[FileTemplate["my.fm"]]

但這也沒有用。

FileTemplate生成您需要應用的TemplateObject表達式。 這是一個使用您的代碼和StringTemplate的示例應用程序,它同樣會生成一個TemplateObject表達式。

Clear[x]
y = x^3
StringTemplate["      program test
      real x,y
      x=1.0
      y=
     -  <* y *>
      write(6,*) \"y\",y
      end", InsertionFunction -> ToString@*FortranForm][<|"y" -> y|>]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM