关于matlab与c#混合编程的问题(2)
压缩包中包含MATLABCSharp.pdf
【原创】Matlab与.NET基于类型安全的接口混合编程入门
回到目录
1.前言
Matlab Builder NE 工具箱是与C#混编的工具箱,里面的帮助文档很详细,提供了4种情况下与.NET混合编程的案例。
1.是简单的组件集成,通过Matlab生成Dll程序集,在.NET环境中,通过MWArray组件来调用;
2.还有一个是在Web环境下使用Figure和混编的情况,与1比较类似;
3.另外一个就是我们今天要讲到的基于类型安全的接口编程,以及对WCF和MEF的支持; 4.最后一个是在.NET Remoting技术中的使用。
在初级入门教程中,以及我现在的混编开发中,都只是用到了第1个方法,和很简单,也很快,当然要你掌握了很多基础技术之后才能达到这个水平。今天要见到的基于接口的编程,有一个很大的好处就是可以避免类型转换,因为之前的方法都有大量的.NET和Matlab类型进行转换,基础不扎实的朋友很容易搞混淆。而基于接口的编程,则可以避免很多问题,但同时也对基础提出了更高的要求,要对接口定义,作用,以及方法多态等面向对象的特性更加了解。
下面截图是在Matlab帮助的说明:
回到目录
2.Type-Safe Interfaces简单说明
与直接编译为.NET程序集的要求不同,使用这项技术对.NET程序员的要求小很多,只需要很少的Matlab知识,但要对.NET技术精通,
之前由于Matlab的数据类型和.NET的基本数据类型不兼容,所以为了使得Matlab和.NET程序进行数据通信,就需要使用下面的技术:
1)Marshal data from .NET input data to a deployed function by creating an MWArray object from native .NET data.
The public functions in a deployed component return MWArray objects. 2)Marshal the output MATLAB data in an MWArray into native .NET data by calling one of the MWArray marshaling methods (ToArray(), for example).
所以使用传统的混编方式,又很多数据类型转换的过程。而在使用Type-Safe Interfaces技术后,这些中间过程都可以忽略,
只需要关系输入的.NET类型以及输出的.NET类型结果,Matlab会对数据进行内部的转换处理。可以看看前后2副图的对比:
因此,我们可以很明显的看到Type-Safe Interfaces带来的优势:
You avoid training and coding costs associated with teaching end users to work with MWArrays.
You minimize cost of data you must marshal by either placing MWArray objects in type-safe interfaces or by calling MWArray-based functions in the deployed component.
Flexibility — you mix type-safe interfaces with manual data marshaling to accommodate data of varying sizes and access patterns.
相关推荐:
- [政务民生]2013年公共基础知识热点问题(七)
- [政务民生]检验检测机构资质认定评审准则及释义20
- [政务民生]关于印发重庆市房屋建筑和市政基础设施
- [政务民生]1、隧道洞身开挖支护施工技术交底书
- [政务民生]2015年山东省17地市中考语文试题分类汇
- [政务民生]2-高级会计师资格考试和评审流程图
- [政务民生]2018版中国清分机行业发展分析及前景策
- [政务民生]新课改高中政治探究
- [政务民生]2018-2024年中国新型组合房屋行业投资
- [政务民生]2015年上海市春季高考数学模拟试卷五
- [政务民生]灌砂法及环刀法测压实度(带计算过程)
- [政务民生]运筹学实验2求解非线性规划
- [政务民生]劝学、逍遥游默写(教师卷)
- [政务民生]《运筹学》 - 期末考试 - 试卷A - 答案
- [政务民生]八年级英语下册 Module 6 Hobbies测试
- [政务民生]2019年宪法知识竞赛试题库100题(含答
- [政务民生]自动化英文文献翻译
- [政务民生]公文格式实施细则
- [政务民生]高一地理上册课堂跟踪练习题6
- [政务民生]会计继续教育习题及答案
- 第三章 无约束最优化方法
- 泛读教程第三册答案
- 魏晋南北朝文学
- 幂的运算复习题
- 城市环境问题的成因与治理策略_以社会
- 钢结构行业产业链及竞争分析研究
- 新型热塑性弹性体增韧聚丙烯的研究
- 中国旅游地理B卷试题及答案
- (苏教版)五年级数学上册第三单元测试卷
- 不稳定性心绞痛诊断与治疗
- 俞氏国际后勤职能部门绩效考核办法
- GB7258-2017新标准考试题含答案
- 小学生汉字听写比赛活动方案
- 1.3《平抛运动》学案 教科版必修2
- 2011香港特别行政区公务员考试复习资料
- 考虑水力条件变化的城市给水管网可靠性
- 表面活性剂在油田开发和生产中的应用
- ITT内部培训资料-FI端吸泵的介绍
- 文明守纪,从我做起学生发言稿
- 初中读《聊斋志异》心得体会800字范文