首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将选项放入MathLink的函数中

如何将选项放入MathLink的函数中
EN

Stack Overflow用户
提问于 2011-05-04 22:52:19
回答 2查看 456关注 0票数 1

这与我之前的问题有些关系,但不同。我不知道如何在不使用Evaluate()等方法的情况下提供MathLink函数选项。例如,我有以下C#代码:

代码语言:javascript
复制
ml.PutFunction("Abs",1);
ml.PutFunction("Fourier",2);
ml.Put(data); //data = double[]
ml.Put("FourierParameters->{-1,1}");

它不起作用。它将FourierParameters部件作为一个文字字符串,而不是一个选项。我尝试使用该字符串创建Expr并将其放入,但也失败了。这在.NETLink中是可能的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-04 23:23:19

在之后,该选项似乎必须与PutSymbol一起输入,并且您需要添加一个“规则”PutFunction。

结果如下所示(未测试):

代码语言:javascript
复制
ml.PutFunction("EvaluatePacket", 1);
ml.PutFunction("Abs",1);
ml.PutFunction("Fourier",2);
ml.Put(data); //data = double[]

ml.PutFunction("Rule", 2);
ml.PutSymbol("FourierParameters");
ml.PutFunction("List", 2);
ml.Put(-1); 
ml.Put(1); 
ml.EndPacket();
票数 2
EN

Stack Overflow用户

发布于 2011-05-04 23:20:57

我会使用高级包装器来做这件事。例如,您可以使用Mathematica的所有便利功能编写一个名为MyFunction的数学函数,该函数调用几个低级数学链接函数中的一个,例如myFunction1、myFunction2等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5885378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档