Matlab中Mex文件的创建和使用方法.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
九、MATLAB编译器和Notebook;9.1 编译器概述;9.1.2 编译器的局限性;9.2.2 为产生MEX文件进行预配置;2. 验证配置的正确性;mcc-x my_yprime_m my_yprime_m(1,1:4) ans= 2.0000 8.9685 4.000 -1.0947;2. 验证配置的正确性;9.3 创建MEX文件 ;入口子程序的作用是在MATLAB系统与被调用的外部子程序之间建立通信联系。 ;/* 检查输入输出参数 */ if(nrhs!=1) { mexErrMsgTxt(One input required.); } else if(nlhs1) { mexErrMsgTxt(Too many output arguments); } /* 输入只能是一个双精度型的实数*/ mrows = mxGetM(prhs[0]); ncols = mxGetN(prhs[0]); if( !mxIsDouble(prhs[0]) || mxIsComplex(prhs[0]) || !(mrows==1 ncols==1) ) { mexErrMsgTxt(Input must be a noncomplex scalar double.); } /* 为输出参数创建矩阵,输出指针指向该矩阵 */ plhs[0] = mxCreateDoubleMatrix(mrows,ncols, mxREAL); /* 输入指针输出指针赋值 */ x = mxGetPr(prhs[0]); y = mxGetPr(plhs[0]); /* 调用功能子程序 */ timestwo(y,x); };9.3.3 由M文件创建C MEX文件;9.4 创建独立的外部程序EXE文件;main.m mrank.m %main.m function main r=mrank(5) %mrank.m function r=mrank(n) %向量r的每一个元素代表了一个魔方方阵的秩 r=zeros(n,1); for k=1:n r(k)=rank(magic(k)); end;circle_main.m circle_fun.m %circle_main.m function circle_main circle_fun(1,1,2,1) %circle_fun.m function circle_fun(x,y,r,varargin) if nargin3 x=0; y=0; r=1; end %画圆 t=0:0.1:2*pi; x1=sin(t); y1=cos(t); plot(x1*r+x,y1*r+y,r); %填色 flag=0; if nargin3 flag=varargin{1}; end if flag fill(x1*r+x,y1*r+y,b) end axis square;;9.5 Notebook;(2) 从MATLAB中启动Notebook ;2. 自初始化细胞及其应用;5. 取消定义细胞(群);小结 1)了解MATLAB编译器的功能,利用编译器可以实现与C语言文件之间的交互,得到脱离MATLAB空间运行的独立执行程序。 2)掌握mex、mbuild、mcc三个命令的含义及其完成的操作。 mex指令将C文件转换成MEX文件; mbuild指令将C文件转换成独立执行程序; mcc指令将M函数文件转换成C文件,并且可以调用mex、mbuild来生成MEX或独立执行文件。 Windows下MEX文件的后缀为.dll,可执行文件后缀为.exe。 3)熟悉Notebook的安装和使用。

文档评论(0)

清风老月 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳春市惠兴图文设计有限公司
IP属地广东
统一社会信用代码/组织机构代码
91441781MA53BEWA2D

1亿VIP精品文档

相关文档