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. Part7-时钟初始化_lesson1

    1.概念解析 1.1时钟脉冲信号 1.2时钟脉冲频率 1.3时钟源(提供时钟脉冲信号) a.晶振 b.锁相环PLL 2.时钟体系 2440: 晶振的频率.时钟体系有多少个PLL.这些PLL分别产生了哪 ...

  2. 利用 Aspose.Words 组件,在不依赖与 Office 组件的情况下把 Word 文件转换成 HTML 代码。

    首先利用 Nuget 获取 Aspose.Words.dll public ActionResult AsposeWordsDemo() { string srcFileName = Server.M ...

  3. http请求和返回的head字段

    一,http请求分请求首部字段,通用首部字段,实体首部字段.http响应包含响应首部字段,通用首部字段,实体首部字段. 二,http1.1定义了47种首部字段.1,通用首部字段:cache-contr ...

  4. Java SimpleDateFormat工具类

    package AnimalDemo; import java.text.ParseException; import java.text.SimpleDateFormat; import java. ...

  5. ElasticSearch 笔记(一)

    一.Elasticsearch 印象 分布式.全文检索.数据分析. 二.为什么不用传统关系型数据库,如 MySQL,做搜索 举个反例.假设有以下数据库表 t_game: id   name 1 唐僧取 ...

  6. ecliplse启动慢的优化方法(亲测有效)

    本人使用的ecliplse IDE 版本是: Version: Photon Release (4.8.0)Build id: 20180619-1200 我的电脑配置是 Ecliplse启动差不多一 ...

  7. 函数形参为基类数组,实参为继承类数组,下存在的问题------c++程序设计原理与实践(进阶篇)

    示例: #include<iostream> using namespace std; class A { public: int a; int b; A(int aa=1, int bb ...

  8. NFS4 挂载同主机多个目录

    写在前面的话 事情是酱婶儿的,前两天实在是帮他们查日志查的心里交瘁了,而且有些时候下班了,也就不想再接到这样的需求,于是想基于 Nginx 做一个文件下载中心,在这个文件下载中心里面存有各个服务的日志 ...

  9. 简单的 socket 代码

    TCP 编程 客户端代码 将键盘输入的字符发送到服务端,并将从服务端接收到的字符输出到终端 #!/usr/python3 import socket def socket_client(): s = ...

  10. luoguP4782 [模板]2-SAT问题

    https://www.luogu.org/problemnew/show/P4782 2-SAT模板,输出方案只需判断 \(a\) 和 \(a + n\) 两个点所在的 scc 编号大小就可以了 # ...