C#调用MATLAB函数的实现步骤

 更新时间:2025年07月16日 11:26:28   作者:傻童:CPU  
本文介绍了在C#中调用MATLAB函数的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

基本功能是:将MATLAB的函数,变为C#中类的函数成员,进行相关调用和函数编写。
注意点:MATLAB函数

第一步:将MATLAB程序转为dll

下载MCR

MCR介绍:

MATLAB Runtime(MCR)是一个共享库、MATLAB代码和其他文件的集合,可以在没有安装MATLAB版本的系统上执行编译
和打包好的MATLAB应用程序。
想要在没有MATLAB的情况下运行这些应用程序的普通用户必须安装MATLAB Runtime或指定MATLAB Runtime网络安装的位置。
要创建包含MATLAB Runtime的应用程序安装程序,必须下载与用于创建安装程序的MATLAB版本和更新级别相匹配的MATLAB 
Runtime安装程序。要在没有安装程序的情况下分发打包的MATLAB应用程序,最终用户必须以相同或更新的更新级别下载与
用于编译应用程序的MATLAB版本相匹配的MATLAB Runtime安装程序。有关详细信息,请参阅安装和配置MATLAB运行时。

使用Matlab Runtime的人群主要分为两种情况:

情况1: 你只是运行别人使用Matlab开发的APP
情况2: 你需要用Matlab自己开发、发布APP

在MATLAB的“命令行窗口”输入mctinstaller

出现如上,则需要安装。

电脑能联网时

在MATLAB的命令行窗口输入compiler.runtime.download

compiler.runtime.download

再次,在MATLAB的命令行窗口输入mctinstaller

出现地址说明下载成功

电脑不能联网时

查询MATLAB版本
在MATLAB的命令行窗口输入verison

verison

然后在MATLAB的命令行窗口输入compiler.runtime.download

发现不能联网,负责网址,到有网处,下载安装包。

跟MATLAB版本一致就OK!

如果你是情况一:你只是运行别人使用Matlab开发的APP

安装Matlab Runtime比较简单,下载完解压后如下:双击上图中的“setup.exe”即可

如果你是情况二:你需要用Matlab自己开发、发布APP
安装Matlab Runtime方法:(注意安装包不需要解压)

安装Matlab Runtime后,可以在命令行中查看Matlab Runtime的信息:

MATLAB程序打包为dll

命令行输入deploytool

选择library complier

选择指定项、添加自己的.m文件(如果有多个.m文件,在第二步全部添加即可)、修改类名(可改可不改,c#中调用时会用)

会生成如下的文件结构

生成的dll文件在for_redistribution_files_only里

将dll引入wpf程序

将readUSBData.dll(MATLAB程序生成的dll)文件复制到C#文件目录bin\Debug文件夹下

将MWArray.dll文件也复制到C#文件目录bin\Debug文件夹下,位置如下

项目中添加引用

添加using引用 :

using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;

调用如下:

修改运行的目标平台为 x64

修改后如下:

运行效果如下,和MATLAB中输出保持一致:

到此这篇关于C#调用MATLAB函数的实现步骤的文章就介绍到这了,更多相关C#调用MATLAB内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • C#计算矩阵的逆矩阵方法实例分析

    C#计算矩阵的逆矩阵方法实例分析

    这篇文章主要介绍了C#计算矩阵的逆矩阵方法,较为详细的分析了逆矩阵的计算原理与相关的C#实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C#基于时间轮调度实现延迟任务详解

    C#基于时间轮调度实现延迟任务详解

    在很多.net开发体系中开发者在面对调度作业需求的时候一般会选择三方开源成熟的作业调度框架来满足业务需求,但是有些时候可能我们只是需要一个简易的延迟任务。本文主要分享一个简易的基于时间轮调度的延迟任务实现,需要的可以参考一下
    2022-12-12
  • 跳一跳自动跳跃C#代码实现

    跳一跳自动跳跃C#代码实现

    这篇文章主要为大家详细介绍了跳一跳自动跳跃C#代码实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • C# XML基础入门小结(XML文件内容增删改查清)

    C# XML基础入门小结(XML文件内容增删改查清)

    本文主要介绍了C# XML基础入门小结(XML文件内容增删改查清),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • C#利用NPOI操作Excel(单元格设置)

    C#利用NPOI操作Excel(单元格设置)

    这篇文章主要为大家详细介绍了C#利用NPOI操作Excel实现单元格设置,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • c#中抽象类和接口的详细介绍

    c#中抽象类和接口的详细介绍

    这篇文章介绍了c#中抽象类和接口,有需要的朋友可以参考一下
    2013-10-10
  • WPF实现自定义控件的几种方法

    WPF实现自定义控件的几种方法

    Windows Presentation Foundation (WPF) 是微软提供的一种用于构建 Windows 应用程序的开发框架,在WPF中,自定义控件的实现是一个非常重要的方面,本文将详细探讨WPF中实现自定义控件的几种方法,分析其优缺点,并提供示例代码,需要的朋友可以参考下
    2024-12-12
  • C#调用mmpeg进行各种视频转换的类实例

    C#调用mmpeg进行各种视频转换的类实例

    这篇文章主要介绍了C#调用mmpeg进行各种视频转换的类,实例分析了C#调用mmpeg操作视频文件的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • C#中将UTC时间转换为JST时间的实现方法

    C#中将UTC时间转换为JST时间的实现方法

    在C#中,将UTC时间转换为JST(日本标准时间,即UTC+9)时间可以通过使用 DateTime 和 TimeZoneInfo 类来实现,JST比UTC快9小时,因此可以直接进行转换,本文将通过代码示例给大家介绍C#中将UTC时间转换为JST时间,需要的朋友可以参考下
    2025-01-01
  • C#构造函数详解

    C#构造函数详解

    本文详细讲解了C#中的构造函数,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04

最新评论