如何创建从Visual Studio到Wolfram Mathematica的简单调用

目录

介绍

如何创建

结论


介绍

如今,随着计算机技术的飞速发展,并非总是能够使用一种编程语言来创建复杂的应用程序。不同的语言各有优缺点,通常,它们都不满足已开发应用程序的要求。解决这种情况的方法是使用几种编程语言。此方法通常用于科学研究、工业控制和其他商业应用的软件开发中。在这种情况下,有必要解决用不同编程语言编写的组件之间的交互问题。实现图形用户界面、数据库管理以及实时数据获取和处理的组件通常集成到一个应用程序中。

在本文中,我将提供一个将Visual StudioWolfram Mathematica计算机代数系统集成的示例。Wolfram具有用于在Mathematica和其他程序——MathLink之间进行数据通信的协议。MathLink允许外部程序调用Mathematica并从Mathematica 中调用。使用MathLink,例如,您可以将Mathematica视为外部程序中的子程序。此外,您可以创建一个实现自己的用户界面并通过MathLinkMathematica核心进行交互的界面。此外,您可以使用MathLinkMathematica调用外部程序中的各个函数。至少,您甚至可以为MathLink本身编写代码,但是要使用C语言。此协议的缺点是,尽管库本身位于一个文件(Wolfram.NETLink.dll)中,但仍需要预先安装的Wolfram Mathematica环境进行操作。

如何创建

在此示例中,我将向您展示如何使用Windows窗体应用程序从Visual Studio创建最简单的Wolfram Mathematica连接。如前所述,您需要安装Wolfram Mathematica软件包,然后在项目中包括Wolfram.NETLink.dll库。只需将引用添加到项目中即可(图1)。

1 –将引用添加到项目

该库通常位于C:\Program Files\Wolfram Research\Mathematica\12.1\SystemFiles\Links\NETLink

然后将Wolfram.NETLink命名空间中的MathKernel组件添加到工具箱(图2)。

图像2 –添加到工具箱“ MathKernel”组件

然后添加表单MathKernel组件并打开CaptureGraphics属性。结果,我们得到了这样一个带有按钮的窗体,一个pictureBox(用于图形)和一个textBox(用于结果)(图3)。

图片3 –测试表格

例如,考虑Wolfram Mathematica PDF[NormalDistribution[-5,3],x]函数“ ”。结果应该是

只需在按钮上添加操作即可:

// This launches the Mathematica kernel:
mathKernel1.Compute("PDF[NormalDistribution[-5, 3], x]"); //sent function to Kernel         
textBox1.Text = mathKernel1.Result.ToString(); //convert result to string
mathKernel1.Dispose();

然后,我们在图像4上得到一个结果。

图片4 –调用Mathematica的结果

我们可以在表格中添加图形。让我们在按钮操作中添加代码:

if (pictureBox1.Image != null)
            {
                pictureBox1.Image = null;
            }
            mathKernel1.GraphicsHeight = pictureBox1.Height;
            mathKernel1.GraphicsWidth = pictureBox1.Width;

            mathKernel1.Compute("Plot[PDF[NormalDistribution[0, 1], x] , 
                                 {x, -5, 5}, Filling -> Axis]");
            if (mathKernel1.Graphics.Length > 0) 
                    pictureBox1.Image = mathKernel1.Graphics[0];    //
            mathKernel1.Dispose();

结果是一张图(图5)。

图片5 –最终结果

它既快速又简单。

结论

在本文中,我们研究了从Visual Studio中调用Wolfram Mathematica的最简单方法。该机制适用于具有大量数学计算的项目。我认为.NET/Link对于硕士、研究生和其他科学或与科学相关的开发人员来说可以是一个很好的工具。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值