当前位置: 首页 > news >正文

C#调用MATLAB函数

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程序

  1. 将readUSBData.dll(MATLAB程序生成的dll)文件复制到C#文件目录bin\Debug文件夹下
  2. 将MWArray.dll文件也复制到C#文件目录bin\Debug文件夹下,位置如下
    在这里插入图片描述
  3. 项目中添加引用
    在这里插入图片描述

在这里插入图片描述

添加using引用 :

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

调用如下:
在这里插入图片描述

  1. 修改运行的目标平台为 x64
    在这里插入图片描述
    修改后如下:
    在这里插入图片描述
    运行效果如下,和MATLAB中输出保持一致:
    在这里插入图片描述

相关文章:

  • 小程序注册的账号是什么石家庄百度关键词优化
  • 做go分析和kegg分析网站百度竞价入口
  • 网站建设毕业论文北京培训学校
  • 公司网页网站建设 ppt模板下载最新百度快速排名技术
  • 淄博 做网站博客
  • 苏州企业如何建站友情链接有哪些展现形式
  • [Linux] Linux用户和组管理
  • 用福昕阅读器打开pdf文件,整个程序窗口自动缩小的问题
  • Python邮件自动化完全指南:从基础到高级应用
  • 如何通过nvm切换本地node环境详情教程(已装过node.js更改成nvm)
  • 【Game】Powerful——Pet Skin(13)
  • gitlab-ce安装
  • RISC-V三级流水线项目:总体概述和取指模块
  • 基于版本控制+WORM的OSS数据保护:防勒索攻击与法规遵从实践
  • 软件工程:从理论到实践,构建可靠软件的艺术与科学
  • iwebsec靶场-文件上传漏洞
  • JDK 1.8 Stream API:集合流处理深度解析
  • SQL关键字三分钟入门:UPDATE —— 修改数据
  • C++ 快速回顾(一)
  • 覆盖迁移工具选型、增量同步策略与数据一致性校验
  • 用字符打印中文字“里”
  • 芸众商城系统部署教程 接口报错500 芸众商城队列安装启动教程
  • Javaweb - 5 事件的绑定
  • Sping AI接入deepseek
  • 微信小程序中 rpx与px的区别
  • 【FreeRTOS】FreeRTOS源码概述