C# C语言中的复杂计算#
.NET(C#)中提供的计算以下各项的最佳工具(效率最高)是什么:C# C语言中的复杂计算#,c#,math,matlab,wolfram-mathematica,C#,Math,Matlab,Wolfram Mathematica,.NET(C#)中提供的计算以下各项的最佳工具(效率最高)是什么: 积分 偏导数 其他非平凡数学 人们能评论一下Mathematica和Matlab以及它们与C#的集成吗 我不能保证它是最好的或更高效的,但几天前我了解到它为.NET开发了一个金融函数库 你可以在这里找到它: 也许这对你有用。你可以去看看——他们列出了几个C#1。我要说的是,尝试一些(如果是商业版的话,则是演示版)并进行一些评测,看看它们是否满足您的需求。您还可以使用-请参阅该条目的限制和备选方案部分。(我个人没有使用这些工具
- 积分
- 偏导数
- 其他非平凡数学
人们能评论一下Mathematica和Matlab以及它们与C#的集成吗 我不能保证它是最好的或更高效的,但几天前我了解到它为.NET开发了一个金融函数库 你可以在这里找到它: 也许这对你有用。你可以去看看——他们列出了几个C#1。我要说的是,尝试一些(如果是商业版的话,则是演示版)并进行一些评测,看看它们是否满足您的需求。您还可以使用-请参阅该条目的限制和备选方案部分。(我个人没有使用这些工具的经验。)是一个用C#为Microsoft.NET平台编写的数学开源工具包,旨在为数字科学和符号代数计算提供一个自包含的干净框架。特别是,是与合并的结果,包括以下特征:
- 实和复,稠密和稀疏线性代数(带,,…分解)
- 数值函数积分(求积)例程
- 积分变换
Expr
对象来镜像语法树结构。这些表达式可以让你做任何事情:用数字或符号计算积分,求导数,解常微分方程,等等
在错误处理方面,它会出现一些问题。Mathematica本身没有例外;相反,当遇到问题时,它会生成“消息”,并继续尝试计算它正在处理的表达式。考虑到Mathematica相当不寻常的语义(它对重复规则重写的表达式进行操作),这有一定的意义,但与Mathematica通信的默认方法集不允许您从Java(或者,.NET)内部轻松监视这些消息,尽管可以编写自己的方法来更好地完成这项工作 看看f#
它将是Visual Studio 2010的一部分。Microsoft的编程语言是专门为此类工作设计的,因此您可能只想从C代码调用现有的F解决方案。例如,在安装了库的Visual Studio 2010中,您可以交互地将x3-x-1从-3集成到3,如下所示:
> Functional.integrate (fun [x] -> x**3.0 - x - 1.0) [-3.0, 3.0];;
val it : float = -6.0
> Functional.d (fun x -> x**3.0 - x - 1.0) 2.0;;
val it : float = 11.0
并计算该函数在x=2时对x
的偏导数,如下所示:
> Functional.integrate (fun [x] -> x**3.0 - x - 1.0) [-3.0, 3.0];;
val it : float = -6.0
> Functional.d (fun x -> x**3.0 - x - 1.0) 2.0;;
val it : float = 11.0
如果您有一个用于.NET的附加产品MATLAB Builder,您可以将MATLAB代码打包到一个可以从C#调用的.NET程序集中。为了澄清您的最新编辑,您是否尝试在C#中使用Mathematica和/或MATLAB函数,或者你想从Mathematica或Matlab中调用C#类?应用程序是用C#编写的-我需要从C#(调用外部函数)执行计算Mathematica的MathLink.NET也在处理复数,Mathematica本身并不擅长这类问题(例如,Mathematica的Fourier
大约比我上次看到的FFTW慢4倍,Mathematica的多核支持非常糟糕)。