matlab第十一章matlab编译器(编辑修改稿)内容摘要:

ne x foo tic。 foo(1:10)。 toc elapsed_time = mcc O none O fold_scalar_mxarrays:on x foo tic。 foo(1:10)。 toc elapsed_time = 8 【例 】 而对于非标量的情况,相应的可激活优化选项 fold_non_scalar_mxarrays。 优化编译以下文件: [] function y = test y = [ 1 0。 0 1] * [ pi pi/2。 pi pi/2 ]。 分别运行以下编译指令: mcc O none x test tic。 test。 toc elapsed_time = mcc O none O fold_non_scalar_mxarrays:on x test tic。 test。 toc elapsed_time = 0 【例 】激活选项 array_indexing,可以改善简单的一维或二维数组的索引性能。 如果在编译时关闭该选项,编译器将采用通用的索引函数来索引这些简单的数组。 [] function y = test2(x,i1,i2)。 y = x(i1,i2)。 分别运行以下指令: A=magic(4)。 mcc O none x test2 tic。 test2(A,3,4)。 toc elapsed_time = mcc O none O fold_non_scalar_mxarrays:on x test2 tic。 test2(A,3,4)。 toc elapsed_time = 0 【例 】激活选项 optimize_integer_for_loops,可简化循环。 当循环变量的初值和步长均为整数时, 编译器将采用 C/C++的整型变量,而非 MATLAB的数组变量。 (建议在调试程序时,不要激活该优化选项。 ) [] function y=test3(x) for i = 1:length(x)1 x(i) = x(i) + x(i+1)。 end y=x。 分别运行以下指令,对比各自编译得到的 MEX文件的性能: mcc O none x test3 tic。 test3(1:100)。 toc elapsed_time = 9 mcc O none O fold_non_scalar_mxarrays:on x test3 tic。 test3(1:100)。 toc elapsed_time = 0 【例 】当条件语句中的两个运算量都是标量整数时,激活选项optimize_conditionals,编译器将优化该条件语句:采用 C 的条件运算取代原 MATLAB 的条件运算。 MATLAB能够识别出 nargin、 nargout、 for语句的循环变量以及所有整数标量。 [] function test4(a,b,c,d) if (nargin 4) d =。 end 运行以下指令,对之进行不同的编译,并比较各自得到的 MEX文件性能: mcc O none x test4 tic。 test4(1,3,4)。 toc mcc O none O fold_non_scalar_mxarrays:on x test4 tic。 test4(1,3,4)。 toc 创建独立的外部应用程序 独立外部程序与 MEX文件的不同工作特点 独立外部程序创建过程说明 mbuild mcc 创建独立应用程序 创建独立应用程序时 mcc 的使用格式和常用选项标志 由全 M 源文件产生 EXE应用程序 【例 】创建一个适应“超定”、“恰定”、“欠定”线性方程求解的示例性应用程序。 ( 1) [] function LLS() Ae=5。 %2 Av=2。 %3 [A,b]=LLSDATA(Ae,Av)。 x=A\b。 % S=39。 恰定 39。 if AeAv S=39。 超定 39。 10 elseif AeAv S=39。 欠定 39。 end disp([39。 用外部独立程序求如下 39。 S 39。 方程 Ax=b 的解,其中 39。 ]) cs=blanks(Ae)39。 ns=fix(Ae/2)。 As=cs。 As(ns)=39。 A39。 bs=cs。 bs(ns)=39。 b39。 es=cs。 es(ns)=39。 =39。 disp([As cs es cs num2str(A) cs cs cs cs cs bs cs es cs num2str(b)]) disp(39。 方程的解 39。 ) nxs。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。