1.功能简介

Matlab是三大数学软件之一,它在数学类科技应用软件中在数值计算方面首屈一指。Matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。本示例程序实现了PIESDK调用Matlab函数功能(peaks函数),从而使PIE SDK可以与Matlab紧密结合。

2. 功能实现说明

2.1. Matlab自定义函数

Matlab自定义函数是一个*.m脚本文件,文件内容以function [返回值]=[函数名]([参数1,参数2])开始,且通常将文件名和函数名保持一致。

2.2. 实现思路及原理说明

Matlab提供了deploytools工具可以将matlab函数编译为.Net可用的DLL,从而方便.Net程序直接引用(运行需要安装MCRInstaller)。编译过程参考:

https://blog.csdn.net/zuo_csdn/article/details/53518963.

本示例采用Matlab 2014a 和 Matlab 2014a MCRInstaller(MCR8.3),单独运行示例程序需安装Matlab 2014a MCRInstaller(MCR8.3),请确定版本是否正确

编译过程需要注意:

①  若出现mcc错误,原因是matlab未破解完全,需要将破解文件把install.jar以及相应位数的三个文件(compiler.dll,mcc.exe,libmwservices.dll)复制到对应位置替换

②  注意.Net版本以及32位64位,这与Matlab/MCRInstaller有关系。

③  .Net项目生成位数一定与Matlab编译的库位数相同

第一步

在Command Window窗口中输入mbuild –setup查看编译器,将编辑器设置为vs

第二步

安装MCRinstaller.exe,在matlab安装目录下toolbox\compiler\deploy\win64

第三步

注册mwcomutil.dll,在\bin\win64中

第四步

编写.m文件并调试通过

第五步

在Command Window窗口中输入deploytool。将.M编译生成dll,在弹出的deploytool窗口中:

1)      选择Library Compiler

2)      在Application type 项中选择 .NET Assembly

3)      在Exported Functions中点击+号,添加.M文件

4)      在下方填写DLL的类名和包含的方法名称

5)      右上角点击Package

第六步

将生成的DLL复制到.Net程序目录下并添加引用

第七步

如果使用了数组,需要将MWArray.Dll也引用上并复制到程序输出目录下

第八步

调用DLL中的方法

2.3.  核心接口与方法

接口/类

方法

说明

2.4. 示例代码

项目路径

百度云盘地址下/PIE示例程序/14.SDK拓展开发/ 02PIESDK与Matlab结合/ BlendWithMatlab

数据路径

百度云盘地址下/PIE示例数据/栅格数据/

视频路径

百度云盘地址下/PIE视频教程/14.SDK拓展开发/ 02PIESDK与Matlab结合.avi

示例代码

         /// <summary>
/// Matlab
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public FormMatlabTest ()
{
InitializeComponent();
//运行需要安装MCRInstaller
DonetTest.TestClass testClass = new TestClass();
//调用matlab函数,返回值result为图像数组
MWArray result = testClass.DonetTestFunc();
}

2.5 示例截图

PIE SDK与Matlab结合说明文档的更多相关文章

  1. PIE SDK与OpenCV结合说明文档

    1.功能简介 OpenCV是基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效——由一系列 C 函数和少量 ...

  2. PIE SDK与GeoServer结合说明文档

    1.  GeoServer简介 GeoServer是OpenGIS Web服务器规范的J2EE实现的社区开源项目,利用GeoServer可以方便的发布地图数据,允许用户对特征数据进行更新.删除.插入操 ...

  3. PIE SDK与Python结合说明文档

    1.功能简介 Python是一种跨平台语言.无论是在Windows.Linux.Unix还是Mac Os系统,我们都可以使用Python.甚至在Linux.Unix及Mac OS系统内已经集成了Pyt ...

  4. PIE SDK 文章目录索引

    1.PIE SDK介绍 1.1.  PIE软件介绍 1.2.  PIE SDK介绍 1.3.  PIE支持项目介绍 1.4.  PIE.NET-SDK插件式二次开发介绍 1.5.  PIE.NET-S ...

  5. Highcharts选项配置详细说明文档(zz)

    http://www.helloweba.com/view-blog-156.html Highcharts提供大量的选项配置参数,您可以轻松定制符合用户要求的图表,目前官网只提供英文版的开发配置说明 ...

  6. BasicExcel说明文档

    BasicExcel说明文档 BasicExcel原始链接:http://www.codeproject.com/Articles/13852/BasicExcel-A-Class-to-Read-a ...

  7. Highcharts选项配置详细说明文档

    Highcharts提供大量的选项配置参数,您可以轻松定制符合用户要求的图表,目前官网只提供英文版的开发配置说明文档,而中文版的文档网上甚少,且零散不全.这里,我把Highcharts常用的最核心的参 ...

  8. ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...

  9. PIE SDK组件式开发综合运用示例

    1. 功能概述 关于PIE SDK的功能开发,在我们的博客上已经分门别类的进行了展示,点击PIESat博客就可以访问,为了初学者入门,本章节将对从PIE SDK组件式二次开发如何搭建界面.如何综合开发 ...

随机推荐

  1. spark源码阅读之network(2)

    在上节的解读中发现spark的源码中大量使用netty的buffer部分的api,该节将看到netty核心的一些api,比如channel: 在Netty里,Channel是通讯的载体(网络套接字或组 ...

  2. MFC可视化 列表控件的使用

    1.应该加入头文件   #include <Atlbase.h>   2.示例     类向导给列表控件绑定变量m_list DWORD   dwExStyle=LVS_EX_FULLRO ...

  3. WCF项目问题2-无法激活服务,因为它需要 ASP.NET 兼容性。没有未此应用程序启用 ASP.NET 兼容性。请在 web.config 中启用 ASP.NET 兼容性,或将 AspNetCompatibilityRequirementsAttribute.AspNetCompatibilityRequirementsMode 属性设置为 Required 以外的值。

    无法激活服务,因为它需要 ASP.NET 兼容性.没有未此应用程序启用 ASP.NET 兼容性.请在 web.config 中启用 ASP.NET 兼容性,或将 AspNetCompatibility ...

  4. Python基础入门-列表解析式

    今天我们使用Python中的列表解析式来实现一些简单功能.好了关于列表解析式是什么?我的理解是它可以根据已有列表,高效创建新列表的方式.列表解析是Python迭代机制的一种应用,它常用于实现创建新的列 ...

  5. css3的那些高级选择器一

    css大家都不陌生了,从1996年12月css1正式推出,经历了1998年5月css2,再到2004年2月css2.1,最后一直到2010年推出的css3.css的推出给web带来巨大 的改变,使我们 ...

  6. 使用Adobe Illustrator + ArcGIS绘制地图 | Map Design Using ArcGIS + Adobe Illustrator

    国内GIS/Cartography同行大部分使用CorelDraw绘制地图.相比之下,国外同行则更多使用Adobe Illustrator绘制地图.CorelDraw和Illustrator两个软件均 ...

  7. MVC ASP.NET MVC各个版本的区别

    ASP.NET MVC各个版本的区别 Net Framework4.5是不支持安装在window server 2003上,如非装请用net framework4.0; MVC1.0 publsh t ...

  8. Jquery的动画

    $下载链接详情点击Jquery-day01查看官方网站下载地址 Jquery-day02 1.Jquery动画使用animate-(JQ-2.1) <!DOCTYPE html> < ...

  9. 在一个java类里,private int a; 什么时候要使用integer

    private Integer index; if(index == null) index = 0; else this.index = index; Integer有一个明显的好处,就是它能比in ...

  10. asp手动给combox赋值

    ASPxComboBox cbSex = ASPxGridView1.FindEditFormTemplateControl("cmbUSER_SEX") as ASPxCombo ...