- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB外部接口编程-创建C语言MEX文件幻灯片
例3-8 曲线拟合——调用MATLAB指令。 在MEX文件中大多数的操作都是通过C语言函数来完成的,但是,不可避免地需要调用一些MATLAB的指令,例如其它的M文件或者MEX文件。在MEX函数中,提供了两个函数可以完成调用MATLAB指令的功能,其中一个就是mexEvalString函数,该函数的定义如下: int mexEvalString(const char *command); 该函数的输入参数是一个C语言的字符串变量,该变量包含的内容就是需要执行的MATLAB指令,而函数的返回值为一个整数,当返回值为0时,表示MATLAB指令成功的执行了,否则表示没有成功执行。在下面的代码中使用该函数完成了曲线拟合的工作。 001 /* MEX函数示例 —— curvefitting.c */ 002 #include mex.h 003 /* MEX函数入口 */ 004 void mexFunction(int nlhs,mxArray *plhs[], 005 int nrhs,const mxArray *prhs[]) 006 { 007 const char *filename = curvedata.mat; 008 char *cmd; 009 mxArray *K; 010 /* 判断输入参数 */ 011 if(nrhs != 1) 012 mexErrMsgTxt(必须给一个输入参数!); 013 /* 设置命令行 */ 014 cmd = mxMalloc(256); 015 sprintf(cmd,load %s;,filename); 016 /* 执行命令 */ 017 mexEvalString(cmd); 018 mexEvalString(clf;plot(x,y);grid on;); 019 /* 暂停 */ 020 mexEvalString(disp(按任意键继续......);pause;); 021 /* 设置工作空间中的变量 */ 022 mexPutVariable(base,Order,prhs[0]); 023 /* 执行曲线拟合 */ 024 mexEvalString(K = polyfit(x,y,Order);); 025 /* 再次计算拟合数据 */ 026 mexEvalString(yk = polyval(K,x);hold on;plot(x,yk,r:*);); 027 sprintf(cmd,legend(Origin,Fitted:%g), 028 *mxGetPr(prhs[0])); 029 mexEvalString(cmd); 030 /* 获取拟合的结果 */ 031 plhs[0] = mexGetVariable(base,K); 032 } 在curvefitting.c文件中还使用了mexPutVariable函数和mexGetVariable函数,这两个函数完成的是MEX函数文件的获取或者设置MATLAB工作空间变量的功能,关于这两个函数的具体解释请参阅MATLAB的帮助文档。 编译并执行curvefitting.c: mex curvefitting.c k8 = curvefitting(8) 按任意键继续…… k8 = Columns 1 through 4 -0.0002 0.0088 -0.1363 1.0872 Columns 5 through 8 -4.6983 10.6344 -11.0814 3.4641 Column 9 0.9442 %查看工作空间中的变量 whos Name Size Bytes Class ? K 1x9 72 double array Order 1x1 8 double array k8 1x9 72 double array x 1x101 808 double array y 1x101 808 double array yk 1x101 808 double array Gra
您可能关注的文档
最近下载
- 中华人民共和国国歌-教案.doc VIP
- 2025年高考(全国一卷)数学试题和答案.docx VIP
- 离散数学答案(刘玉珍_编着).doc VIP
- 人民版六年级《劳动》上册全套教学课件.pptx
- 《城市规划原理》第3章 城乡规划体制.ppt VIP
- 基于SOR理论的社交网络互动对旅游行为的影响.docx VIP
- 哈曼JBL Live 770NC 无线罩耳式自适应降噪耳机 配置指南 (中国)说明书用户手册.pdf
- 《城市规划原理》第3章城乡规划体制.pptx
- 2025年必威体育精装版的BRCGS包装材料全球标准第7版全套管理手册及程序文件.docx VIP
- 激光原理及应用陈家璧主编习题解答.pdf VIP
文档评论(0)