C#中的复杂计算Whatisthebesttool(mostefficient)forcomputingin.NET(C#):人们可以评论Mathematica和Matlab以及它们与C#集成的关系?Math.NET是一个用C#编写的用于Microsoft.NET平台的数学开源工具包,旨在为数值科学和符号代数计算提供一个独立和清晰的框架。特别是,Math.NETNumerics是dnAnalytics与Math.NETIridium合并的结果,包括以下功能:我不能保证它是最好的或更高效的,但我几天前了解到LucaBolognese开发了它为.NET提供了一个财务函数库。您可以在这里找到它:http://code.msdn.microsoft.com/FinancialFunctions也许这对您有用。我没有使用Mathematica/.NET桥接器的经验,但我使用过Mathematica/Java桥接器,根据文档判断它非常相似。当然,我无法回答的一个问题是接口在稳定性和性能方面的实现情况如何。从概念上讲,我发现调用Mathematica的Java接口非常好。您有一组对象和方法,可以让您启动Mathematica会话并将Mathematica表达式发送给它们进行计算。您可以发送文本(在简单的情况下很容易,但如果您想要一些非常重要的东西则很棘手)或更结构化的Expr对象,它们反映了语法树结构。这些表达式允许您做任何事情:以数值或符号方式评估积分、求导数、求解ODE等。它失败的一个领域是错误处理。Mathematica本身也不例外。相反,它会在遇到麻烦时产生“消息”,并不断尝试评估它正在处理的表达式。考虑到Mathematica相当不寻常的语义(它对用重复规则重写的表达式进行操作),这是有道理的,但是与Mathematica通信的默认方法集不允许您轻松地从Java(或者,看起来是.NET)监视这些消息),尽管可以编写自己的方法来更好地完成工作。Microsoft的VisualF#编程语言专为此类工作而设计,因此您可能只想从C#代码调用现有的F#解决方案。例如,在安装了F#forNumerics库的VisualStudio2010中,您可以按如下方式交互式地将x3-x-1从-3集成到3:>Functional.integrate(fun[x]->x**3.0-x-1.0)[-3.0,3.0];;valit:float=-6.0并计算函数相对于x=2在x=2处的偏导数,如下所示:>泛函。d(乐趣x->x**3.0-x-1.0)2.0;;valit:float=11.0你可以看看http://www.dmoz.org/Science/Math/Software/-他们列出了几个C#。我会说尝试一些(如果是商业演示版本)并进行一些分析以查看它们是否符合您的要求。您还可以使用MATLAB-请参阅该条目的限制和替代部分。(我没有使用这些工具的个人经验。)查看f#http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/它将成为VisualStudio2010的一部分。如果你有一个添加-在产品MATLABBuilderfor.NET上,您可以将MATLAB代码打包到可以从C#调用的.NET程序集中。以上就是《C#学习教程:C#复杂计算》的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
