zoukankan      html  css  js  c++  java
  • Matlab高级教程_第二篇:一个简单的混编例子

    1. 常用的混编是MATLAB和VS两个编辑器之间的混编方式。

    2. 因为MATLAB的核是C型语言,因此常见的混编方式是MATLAB和C型语言的混编。

    3. 这里介绍一个简单的MATLAB语言混编成C#的调用实例。

    4. 这里用到的几个关键字:

    4.1 环境MATLAB环境:是MATLAB 2012A 32位版本,也用到MATLAB 2012A 64位版本(如果采用32位版本,矩阵运算也可以运行),有时候用到矩阵运算的时候会提示警告信息。可以直接选择X86框架,也可以直接这样选择,一样会报错但是不用理会。

    原因是,我这里导入了MATLAB的矩阵运算库,是32位2012a的,导入一个64位的矩阵运算库就不会出现这样的错误提示信息了。当然也可以不用理会,只要程序能够正常运行就可以。

    4.2 MWArray矩阵运算库,MATLAB叫矩阵运算实验室,因此大多数的运算使用到了矩阵运算的库。因此在VS外部调试的时候需要把这个矩阵运算库引用进来,这个矩阵运算库的目录在:

    这里按照的是32位版本的MATLAB,如果安装64位版本的MATLAB,这个位置是win64。

    4.3 dll,导出的文件也是dll文件,因此引用也是引用dll文件

    4.4 MWArray是MATLAB矩阵运算库,这个是必须的,到处完毕后也会有一个readme的英文文档。里面也有详细的安装说明。关于MWArray的这个矩阵运算的包后面详细说明。

    5. 我们导一个64位架构的。

    (1) 写一个函数并测试(注意必须是m文件)

    (2)打开deploytool工具箱,命令行输入即可,添加相关内容,选择.net Assembly语言(C#)

    这是我们需要的两个文件,主要是上面那个,下面那个是说明

    (3)编写类名并把文件添加进来(C#是以类的形式存在,当然你带懂C#)

    (4)开始生成

    (5)完成

    (6)进入VS2017进行调试,新建控制台(框架不用选太高)

    (7)打开生成的文件目录位置

    readme就是相关的生成说明。我们需要要MATALB EXCHANGE.DLL这个文件。

    (8)添加生成的函数引用和MATLAB自动的矩阵运算的引用(dll文件都是,上面那个就是生成的函数,因为生成都是以dll存在的,因此要引用进来,MATLAB矩阵库的位置上面有对应引用进来就行)

    (不过还是会提示这个问题,选了X64的就没问题,不过不用管这个了先,没问题)

     (9)输入代码

    上面两个就是MWArray的命名空间,下面那个就是生成函数的命名空间。

     (12) 还有个地方,以防万一(始终复制)

    和MATLAB一致

  • 相关阅读:
    师弟大喜之日,送上一幅对联 求横批
    漫画:Google 走了
    产品研发流程改进
    Outlook2010 Bug 一则
    Android 手机用户版本比例
    CDMA 短信中心号码
    UIM卡 PIN 码特点
    [Accessibility] Missing contentDescription attribute on image
    java打印函数的调用堆栈
    android中解析Json
  • 原文地址:https://www.cnblogs.com/noah0532/p/9836548.html
Copyright © 2011-2022 走看看