【C#-1】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);

运行结果:

相关推荐
椒颜皮皮虾྅28 分钟前
一套 C# 接口,解锁四类视觉任务:DeploySharp 分类、分割、关键点与旋转框实战
开发语言·分类·c#
罗迪尼亚的熔岩1 小时前
联合kuka机器人, 海康visonmaster 的手眼9点标定方法
机器人·c#·工业相机·标定
熊猫_豆豆1 小时前
buck-boost电路MATLAB仿真
matlab·电路·电力电子技术
她说彩礼65万1 小时前
C# TaskCompletionSource
java·开发语言·c#
泛凡(Linyongui)17 小时前
基于 CW32L010 的智能厨卫调温旋钮方案--低成本 EC21 编码旋钮全解析
单片机·嵌入式硬件·c#
暴走约伯19 小时前
【VFX工具链源码拆解 02】告别机械劳动(上):一键统改百个子粒子颜色与批量重命名
3d·unity·c#·材质
信息安全失业大专人员20 小时前
每日了解一个智能体-WorkBuddy
开发语言·ai·c#·智能体
呆呆敲代码的小Y21 小时前
【实战精选面试题】C# 面试题详细解答,按难易程度排序
android·java·游戏·c#·游戏开发·unity面试题·c#面试题
淡海水1 天前
09-01-内存-Unity资源生命周期全景
unity·c#·游戏引擎·.netcore·gc
逆向编程1 天前
MATLAB高级数据结构:cell、struct与table深度应用
开发语言·数据结构·matlab