详解C#调用matlab生成的dll库

 更新时间:2023年09月14日 15:24:54   作者:WXG1011  
这篇文章主要介绍了C#调用matlab生成的dll库,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

matlab打包dll

1、matlab示例程序:

function untitled4(x)
    z = peaks(x);
    figure
    surf(z)
end

2、输入deploytool打包matlab程序,具体如下:

 3、拷贝

打包成功后,将生成for_redistribution_files_only文件夹中的dll文件拷贝到C#程序lib文件夹下,若没有,新创建一个。

错误解决:

解决方法:将matlab程序改写成一个方法。

C#调用dll

1、添加引用

 MWArray.dll在matlab安装目录..\matlab\toolbox\dotnetbuilder\bin\win64\v4.0下,untitled4.ll与untitled4Native.dll在C#工程lib文件夹下。

2、导入包

using untitled4;
using MathWorks.MATLAB.NET.Arrays;

3、添加button点击事件

private void Button1_Click(object sender, EventArgs e)
{
    untitled4.Class1 p3 = new untitled4.Class1();
    p3.untitled4((MWArray)25);
}

完整示例代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using untitled4;
using MathWorks.MATLAB.NET.Arrays;
namespace test1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
        private void Button1_Click(object sender, EventArgs e)
        {
            untitled4.Class1 p3 = new untitled4.Class1();
            p3.untitled4((MWArray)25);
        }
    }
}

 错误解决1:

解决方法:debug平台改为×64位

 错误解决2:

解决方法:matlab程序返回一个数,而C#代码接收的是MWArray数据。

p3.untitled4((MWArray)25);

运行结果:

到此这篇关于C#调用matlab生成的dll库的文章就介绍到这了,更多相关C#调用matlab生成的dll库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#单例模式(Singleton Pattern)实例教程

    C#单例模式(Singleton Pattern)实例教程

    这篇文章主要介绍了C#单例模式(Singleton Pattern)的实现方法,主要讲述了即时加载的单例模式、延迟加载的单例模式与线程安全的单例模式,需要的朋友可以参考下
    2014-09-09
  • RandomId生成随机字符串详解实例

    RandomId生成随机字符串详解实例

    本文主要介绍RandomId 生成随机字符串的方法,大家参考使用吧
    2013-12-12
  • 日常收集C#接口知识(知识全面)

    日常收集C#接口知识(知识全面)

    本文分为七章节给大家介绍c#接口知识,内容比较详细,特此分享脚本之家平台,供大家参考
    2016-01-01
  • C#使用SqlSugarClient进行数据访问并实现了统一的批量依赖注入(示例代码)

    C#使用SqlSugarClient进行数据访问并实现了统一的批量依赖注入(示例代码)

    M为 BaseDto 请用C# 给出一个案例,支持不同表对应不同的业务逻辑层,然后不同仓储实例,不同表的业务,都实现统一的批量依赖注入,下面通过示例给大家演示如何使用SqlSugarClient进行数据访问,并实现了统一的批量依赖注入,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • 亲自教你实现栈及C#中Stack源码分析

    亲自教你实现栈及C#中Stack源码分析

    大家都知道栈的实现方式有两种,一种是基于数组实现的顺序栈,另一种是基于链表实现的链式栈。这篇文章主要介绍了手把手教你实现栈以及C#中Stack源码分析,需要的朋友可以参考下
    2021-09-09
  • C# 10分钟完成百度人脸识别(入门篇)

    C# 10分钟完成百度人脸识别(入门篇)

    这篇文章主要介绍了C# 10分钟完成百度人脸识别(入门篇),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • C#计算2个字符串的相似度

    C#计算2个字符串的相似度

    这篇文章主要为大家详细介绍了C#计算2个字符串相似度的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • 深入探讨C#中的结构struct

    深入探讨C#中的结构struct

    这篇文章详细介绍了C#中的结构struct,有需要的朋友可以参考一下
    2013-09-09
  • C#如何快速释放内存的大数组详解

    C#如何快速释放内存的大数组详解

    这篇文章主要给大家介绍了关于C#如何快速释放内存的大数组的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 关于C# 类和对象详情

    关于C# 类和对象详情

    类是C#面向对象编程的基本单元。一个类都可以包含2种成员:字段和方法,接下来小编将在文章里向大家详细介绍
    2021-09-09

最新评论