设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间21 现在时间21 缓存数据 你是我生命中所能经历的,最最深切的感觉。

你是我生命中所能经历的,最最深切的感觉。

查看: 1069|回复: 1

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

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:231
  • 打卡月天数:1
  • 打卡总奖励:3589
  • 最近打卡:2025-12-11 20:52:00
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
432
主题
397
精华
0
金钱
4870
积分
896
注册时间
2023-1-6
最后登录
2025-12-11

发表于 2025-9-1 23:28:13 | 显示全部楼层 |阅读模式
基本功能是:将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
1.png

出现如上,则需要安装。

电脑能联网时

在MATLAB的命令行窗口输入compiler.runtime.download
  1. compiler.runtime.download
复制代码
2.png

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

出现地址说明下载成功

电脑不能联网时

查询MATLAB版本
在MATLAB的命令行窗口输入verison
  1. verison
复制代码
4.png

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

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

7.png

跟MATLAB版本一致就OK!
如果你是情况一:你只是运行别人使用Matlab开发的APP
安装Matlab Runtime比较简单,下载完解压后如下:双击上图中的“setup.exe”即可
8.png

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

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


MATLAB程序打包为dll

命令行输入deploytool
11.png

选择library complier
12.png

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

14.png

会生成如下的文件结构
15.png

生成的dll文件在for_redistribution_files_only里
16.png


将dll引入wpf程序

将readUSBData.dll(MATLAB程序生成的dll)文件复制到C#文件目录bin\Debug文件夹下
将MWArray.dll文件也复制到C#文件目录bin\Debug文件夹下,位置如下
17.png

项目中添加引用
18.png

19.png

添加using引用 :
  1. using MathWorks.MATLAB.NET.Arrays;
  2. using MathWorks.MATLAB.NET.Utility;
复制代码
调用如下:
20.png

修改运行的目标平台为 x64
21.png

修改后如下:
22.png

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

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
25
积分
30
注册时间
2022-12-27
最后登录
2022-12-27

发表于 前天 05:11 | 显示全部楼层
顶顶更健康!!!
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表