对embedded_matlab_function的使用中文说明.docx
上传人:sy****28 上传时间:2024-09-14 格式:DOCX 页数:3 大小:29KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

对embedded_matlab_function的使用中文说明.docx

对embedded_matlab_function的使用中文说明.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

所有的工作都是基于matlab2010版本。一.对embeddedmatlabfunction的简要介绍EmbeddedMATLABFunction模块位于Simulink/User-DefinedFunctions模块库中。该模块工作于matlab语言的一个子集(称为embeddedmatlabsubset,不在此子集的函数,需要用eml.extrinsic声明或采用feval才能使用,后面介绍),该模块能够提供高效的代码(编译后高效)。它适用于某些用文字语言比用图形语言方便的算法描述。二.一个简单例子模型如下:其中Constant中是[2345].本实例是计算输入的期望和标准差。代码如下:HYPERLINK"http://blog.csdn.net/DFD1R/archive/2011/03/10/6238634.aspx"viewplainHYPERLINK"http://blog.csdn.net/DFD1R/archive/2011/03/10/6238634.aspx"copytoclipboardHYPERLINK"http://blog.csdn.net/DFD1R/archive/2011/03/10/6238634.aspx"printHYPERLINK"http://blog.csdn.net/DFD1R/archive/2011/03/10/6238634.aspx"?function[mean,stdev]=stats(vals)%#eml%calculatesastatisticalmeanandstandarddeviationfothevaluesvals.eml.extrinsic('plot');len=length(vals);mean=avg(vals,len);stdev=sqrt(sum(((vals-mean).^2))/len);plot(vals,'-+');functionmean=avg(array,size)mean=sum(array)/size;三.对改代码的解释。1.函数头部HYPERLINK"http://blog.csdn.net/DFD1R/archive/2011/03/10/6238634.aspx"viewplainHYPERLINK"http://blog.csdn.net/DFD1R/archive/2011/03/10/6238634.aspx"copytoclipboardHYPERLINK"http://blog.csdn.net/DFD1R/archive/2011/03/10/6238634.aspx"printHYPERLINK"http://blog.csdn.net/DFD1R/archive/2011/03/10/6238634.aspx"?function[mean,stdev]=stats(vals)函数头部可以定义模块的输入、输出和参数(parameter),本例子中只有输入和输出。例如,在本例子中:mean和stdev是输出,vals是输入,并且可以很明显地在模块中显示出来。2.编译提示(CompilationDirective,pragma)HYPERLINK"http://blog.csdn.net/DFD1R/archive/2011/03/10/6238634.aspx"viewplainHYPERLINK"http://blog.csdn.net/DFD1R/archive/2011/03/10/6238634.aspx"copytoclipboardHYPERLINK"http://blog.csdn.net/DFD1R/archive/2011/03/10/6238634.aspx"printHYPERLINK"http://blog.csdn.net/DFD1R/archive/2011/03/10/6238634.aspx"?%#eml我个人认为%#eml这个编译提示是明确地告诉编辑器,下面的代码是按embeddedmatlabsubset的语法编写的,编译器也应该按这种语法规则来编译。根据help文档,添加这个编译提示有两个目的:如果编译成功,可以提供明显地提示函数是按embeddedmatlabsubset语法编译的;如果编译失败,可以提供详细的错误信息以帮助纠错。3.外部函数声明HYPERLINK"http://blog.csdn.net/DFD1R/archive/2011/03/10/6238634.aspx"viewplainHYPERLINK"