- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab数据类型与.NET数据类型转换
Matlab 数据类型与.NET 数据类型转换 GalaxyGap 2012-12-11 用 Matlab 写算法还是有很多优势的,具体表现在以下几个方面:1)Matlab 的内部函数是用 C 语言写的,虽然 M 语言是解释性语言,但调用内部函数进行 计算还是很快的。2)一般我们写算法都会涉及到很多基本的数学操作,比如说矩 阵相乘、矩阵求逆、求特征值、满足特定分布的随机数生成、基本统计量的计算 等等。这些基本的数学操作可以说是我们算法的基本组成部分,我们可以使用任 何一种语言编写函数一一实现这些基本的数学操作,然后由这些最基本的数学操 作构建我们更复杂的算法。但是我们有没有必要这么做呢?显然没有!因为这些 基本的数学操作虽然原理我们都懂,自己亲自动手实现也不会太难,但它太耗时, 我们自己写出来的东西可能也不稳健!耗时这个很好理解了,即使是一个很简单 的矩阵求逆我们也要写一大段的代码,费劲心思去进行流程设计和步骤分解,编 写代码的时候也要小心翼翼地处理各种细节。可以说从最底层开始写算法是非常 费神的,等你算法写好了,估计也已经累得半死,然后项目也早过期了。更严重 的是自己写出来的基本模块没有一些数学软件提供的模块那么稳健,可能存在某 些漏洞或 bug,这样程序调试起来又更费力气。可以说从最底层写算法是一件吃 力不讨好的事情。相反若在某些数学软件的平台上写算法,我们的工作就会省去 一大半,而且写出来的算法也更稳健。比如说在 Matlab 上我们要实现矩阵求逆, 只需要调用一个函数便可得到结果。而且这个函数应该是比较稳健的,不会出什 么意外。更重要的是,Matlab 平台不仅仅是提供了一些最基本的数学操作,还 在此基础上实现了一些更高级的模块,比如说求解线性方程组、曲线拟合、积分 微分等。这些更高级的模块也都可以成为我们算法的组成部分。也即是我们的算 法可以在更粗的粒度上来构建,而不局限于从基本的数学操作上开始构建。3) Matlab 支持将 M 文件编译成其他平台能够使用的组件或者说模块,也即是 Matlab 能够和其他平台通信,只需要安装一个 200 多兆的 MCR 即可。 当然什么东西都不是十全十美的,用 Matlab 写算法也有它的缺点,特别是 当我们想把 Matlab 中写的算法应用到其他平台上时,它的缺点就体现得更明显。 1)首先是速度的问题,也许我们的算法直接在 Matlab 平台上运行的时候速度是 很快的,但应用到其他平台上的时候就很慢了,这是因为 Matlab 和其他平台通 信的时候耗时比较多,尤其是和.NET 通信的时候。2)其次 Matlab 和其他平台通 信的时候涉及到数据转换,因为不同平台的数据类型一般不相同。这种数据类型 的转换有时候比较复杂,不便于不同平台下的程序员交流。比如说一个熟悉 Matlab 平台的算法程序员把算法写好并编译成.NET 程序集之后交给一个不熟悉 Matlab 环境的.NET 程序员去用这个算法。在这种情况下,也许 Matlab 程序员很 清楚他的算法需要什么样的数据作为输入,然后输出了什么样的数据,但.NET 程序员却未必对这一算法的输入输出了解得那么清楚了。没有搞清楚输入输出想 要应用这一算法就有点勉为其难。因此 Matlab 与.NET 之间的数据交换就显得尤 为重要,只有能理解两个平台的数据类型以及他们之间的转换过程才能顺利地将 两个平台结合在一起。本文以下就专门讨论 Matlab 平台与.NET 平台的数据交换 过程。开始之前先提醒一下:Matlab 平台与 .NET 平台的数据交换全是由 MathWorks.MATLAB.NET.Arrays 这一命名空间下的类和接口实现的。这是一个由 Matlab 为支持.NET 平台开发的.NET 中的方法集。因此我们要想搞清楚这两个平 台之间是如何通信的,除了对两个平台的数据类型由足够的了解之外,还要深谙 这个命名空间下的各种方法的作用。 Matlab 中的 M 文件编译成.NET 可用的程序集 我们首先从 Matlab 这边开始,看看在 Matlab 这边写好的函数是怎样一步步 变成.NET 中可用的函数。假设我们在 Matlab 中写好了这样一个简单函数: function y = Sum(x) y = sum(x); 关于 sum 这个 Matlab 内部函数的作用,大家可以在 Matlab 的 help 中查到, 这里就不具体说了。只需要看看在 Matlab 中它的输入输出即可。比如说输入这 样一个矩阵(我们知道 Matlab 中所有的数据类型都是以矩阵的形式表示的,即 使是一个单一值,Matlab 中也把它表示成 1×1 的矩阵): data = [1 2 3;4 5 6; 7 8 9; 10
您可能关注的文档
- Long-Term Environmental Fate of Perfluorinated Compounds after Accidental Release at Toronto Airport.pdf
- Low Glitch Current-Steering DAC with split input code.pdf
- Low frequency 1f noise in doped manganite grain-boundary junctions.pdf
- LOW OVERHEAD DELAY TESTING OF ASICS.pdf
- Long-Term Deformation Analysis of the Jiudianxia.pdf
- Low-activity spectrometric gamma-ray logging technique for delineation of coal_rock interfaces in.pdf
- Low-temperature selective catalytic reduction.pdf
- Lowerandmiddleureter URS_Vibrolith P224.pdf
- LSI阵列管理软件使用方法.pdf
- LT1568中文手册.pdf
- MATLAB模糊逻辑.pdf
- matlab表达式(修正).pdf
- Matlab语言及其在电子信息工程中的应用:第8讲(V1.1).ppt
- Matlab中常用的几个函数.pdf
- max2_mii51007.pdf
- MAX3735 datasheet.pdf
- Matrix Metalloproteinase_9 and Myeloperoxidase Expression. Quantitative Analysis by Antigen.pdf
- MAX97000EVKIT+;中文规格书,Datasheet资料.pdf
- MAX8805ZEWEEE+T,MAX8805ZEWEDD+T,MAX8805ZEWEGG+T,MAX8805ZEWEBE+T, 规格书,Datasheet 资料.pdf
- Maxwell_v16_2D_WS09_BasicPostprocessing.pdf
最近下载
- DB32_T2880-2016:光纤传感式桥隧结构健康监测系统设计、施工及维护规范.pdf VIP
- 中医个人简历【范本模板】.pdf VIP
- 20191117-技术指标系列报告之六:RSRS择时:回顾与改进-光大证券.pdf VIP
- 《煤矿瓦斯抽采基本指标GB+41022-2021》详细解读.pdf
- 行道树种植养护技术规范.docx VIP
- 十年(2016-2025)高考英语真题分类汇编:专题02 代词、介词和介词短语(全国通用)(解析版).docx VIP
- 《低空无人驾驶航空器起降场地安全通用要求》.docx VIP
- 第二单元银屏乐声《辛德勒的名单》+课件+2025-2026学年人音版(简谱)八年级音乐上册.pptx VIP
- 2025年全国事业单位事业编联考D类《职测》部分真题及答案(3月29日).docx VIP
- 化工厂基础工程施工方案.pdf
有哪些信誉好的足球投注网站
文档评论(0)