环境

Windows 10 企业版 2016 长期服务版
Matlab 2015b
VS2019
.NET 4.7

一、Matlab .m 文件生成 .dll文件

1 自己编辑自定义函数:以本文为例,编辑一个简单移动平均预测函数

function y1=ydpj_yuce(y,m); %y是带预测数组,m数组长度
%m=length(y);
n=[4]; %n 为移动平均的项数
for i=1:length(n) %i=1,2for j=1:m-n(i)+1%i=1yhat{i}(j)=sum(y(j:j+n(i)-1))/n(i);endy1(i)=yhat{i}(end);  %预测的值s(i)=sqrt(mean((y(n(i)+1:m)-yhat{i}(1:end-1)).^2));%均方误差
end
mex -setup C++

2 将MEX配置为使用“MinGW64 Compiler (c++)”进行c++语言编译。

deploytool


3 接着选择以编好MATLAB函数导入,选择.NET Assembly 一定要在"Additional Runtime Settings"选项中选择 Miscrosoft Framework:选择4.0(按照你的VS中.NET版本选择,一定要选,不要默认,不要默认,不要默认!!!

4 最终生成以下文档

二、将.dll文件导入到项目中去,并运行函数

选择yupj_yuce.dll引入到VS工程中去

1 在工程中菜单栏“项目”添加“引用”
在调用文档中写上

 using ydpj_yuce;ydpj_yuce.yuce myyuce1 = new yuce();MWNumericArray yy1 = y;MWNumericArray xx1 = Nday;MWArray result = myyuce1.ydpj_yuce(yy1, xx1);

即可实现预测过程

三、可能存在的问题及解决办法

内部异常 1:
TypeInitializationException: “MathWorks.MATLAB.NET.Utility.MWMCR”的类型初始值设定项引发异常。
可能你的VS环境是默认的32位,在“解决方案平台”设置x64位
内部异常 2:
Exception: The MATLAB Runtime instance could not be initialized

内部异常 3:
ApplicationException: The MATLAB Runtime instance could not be initialized
segv - SEVERE ERROR
当出现上述两者异常可能是在编译生成dll文件时,没有设置.NET环境,应设置为本机.NET对应的版本,如本机设置为4.0

VS2019 .NET4.7 C# 和Matlab混合编程 可能出错的地方及解决办法相关推荐

  1. matlab两个多项式相除,C++和MATLAB混合编程求解多项式系数(矩阵相除)

    摘要:MATLAB对于矩阵处理是非常高效的,而C++对于矩阵操作是非常麻烦的,因而可以采用C++与MATLAB混合编程求解矩阵问题. 主要思路就是,在MATLAB中编写函数脚本并使用C++编译为dll ...

  2. 怎样用matlab打开mw文,C# matlab混合编程 MWArray使用笔记

    C# matlab混合编程 徐凯Email:xukai19871105@http://www.doczj.com/doc/1a6e191fff00bed5b9f31dbf.html 这几天突然想搞一搞 ...

  3. c 使用matlab引擎,[转载]C与MATLAB混合编程之调用MATLAB引擎

    Visual Studio调用MATLAB需要的配置已经在<Visual Studio调用MATLAB的配置>一文中给出了详细的步骤,本文将介绍混合编程的示例. 在C中调用MATLAB,据 ...

  4. WPF(C#)与MATLAB混合编程

    WPF(C#)与MATLAB混合编程 WPF可以为开发者提供便捷地构建用户交互界面的解决方法,而matlab则在科学计算方面有着无与伦比的优势,因此在一些需要将科学算法转换为应用软件的项目中,需要应用 ...

  5. VS和matlab混合编程的推荐书籍!

    1. 精通MATLAB混合编程 丁毓峰

  6. C++和MATLAB混合编程-DLL篇

    先小话一下DLL,DLL是动态链接库,是源代码编译后的二进制库文件和程序接口,和静态链接库不同的是,程序在编译时并不链接动态链接库的执行体,而是在文件中保留一个调用标记,在程序运行时才将动态链接库文件 ...

  7. matlab求解多项式系数,C++和MATLAB混合编程求解多项式系数(矩阵相除)

    摘要:MATLAB对于矩阵处理是非常高效的,而C++对于矩阵操作是非常麻烦的,因而可以采用C++与MATLAB混合编程求解矩阵问题. 主要思路就是,在MATLAB中编写函数脚本并使用C++编译为dll ...

  8. MATLAB混合编程视频教程下载 SIMULINK系统仿真视频

    下载链接: http://item.taobao.com/item.htm?id=43401674106 精通MATLAB混合编程视频讲解  MATLAB各类函数视频讲解 基于MATLAB的高等数学问 ...

  9. VC与Matlab混合编程的快速实现(3-1)

    [原创]VC与Matlab混合编程的快速实现(3-1) 发信站: BBS 水木清华站 (Mon May 19 21:30:19 2003), 转信 3       在VC++中使用Matlab生成的动 ...

最新文章

  1. P3373 【模板】线段树 2
  2. Django的模板继承
  3. Node.js学习之路24——Express框架的app对象
  4. codeforces 650B - Image Preview
  5. dhcp 续约review报文_Linux的私房菜 DHCP
  6. Java:出生日期转年龄
  7. ThreadLocal设计
  8. 数据挖掘实践(金融风控)——task4:建模调参
  9. postsql获取表字段信息SQL
  10. MFC 获取窗口句柄
  11. roseha for linux,ROSEHA for linux安装与操作文档
  12. 启动tomcat时候报错(Error deploying web application directory)
  13. 分布式调用框架RSF-注册中心设计
  14. HTML5期末大作业:出行网站设计——西安旅游-高质量(9页) HTML+CSS+JavaScript 学生DW网页设计
  15. Java实现 蓝桥杯 算法训练 Balloons in a Box
  16. cadcene17.4改背景颜色
  17. 圆周率π是怎么算出来的,用程序怎么算
  18. 如何用c语言添加背景图片,如何实现在单文档的窗口背景上贴上图片?
  19. iso 国家名称列表
  20. 我的四核Cortex-A53学习之路

热门文章

  1. 2021年选择老域名的2点好处和购买老域名的4点技巧
  2. windows平台Markdown怎么转换成Word
  3. 计算机桌面右下角网络连接的图标不见了,win7系统电脑右下角无线网络连接图标不见了怎么办-win7本地连接不见了...
  4. 怎么将wav转换成mp3
  5. oracle 查找非中文,Oracle中如何判断一个字符串是否含有汉字
  6. 一致性Hash在负载均衡中的应用
  7. 字符串的截取爬虫的时候会用到(数组和列表的区别)
  8. ViewPager设置页面缩放
  9. linux电脑外放没声音,你好,就是想问一下我的笔记本电脑为什么插上耳机没有声音,外放有声音,声卡驱动我也重新装了,还是不行!...
  10. 学报格式和论文格式一样吗_学报参考文献标准格式