mtimesx 在脚本中不起作用
Posted
技术标签:
【中文标题】mtimesx 在脚本中不起作用【英文标题】:mtimesx not work in script 【发布时间】:2016-06-20 07:49:15 【问题描述】:我正在尝试在 matlab 2016a 上使用 mtimesx 库,win 10 64bit,我编译了这个库并在命令窗口中运行了以下代码:
>> a=rand(2,4,2);
>> b=rand(4,5,2);
>> d=mtimesx(a,b)
d(:,:,1) =
0.5234 0.7756 0.6265 0.7531 0.6579
0.6256 0.3926 0.3557 0.7522 0.4804
d(:,:,2) =
0.6398 0.8713 0.8695 0.3040 0.6066
1.2157 1.0177 1.2590 0.5510 1.1960
但是当我尝试将它作为脚本运行时,会出现以下错误:
Undefined function or variable 'mtimesx'.
Error in Untitled2 (line 25)
d=mtimesx(a,b);
然后这个函数在我再次编译之前不能在命令窗口中工作。
谢谢
【问题讨论】:
听起来像path
问题.. mex 编译会将内容添加到临时路径,如果您重置 MATLAB,该路径会重置。确保将编译后的 .mexw64
文件放在属于“静态”路径的文件夹中。
【参考方案1】:
通过在 mtimesx_build.m 中进行以下更改解决了问题:
1.更改 mexopts = [prefdir '\mexopts.bat']; to ----> mexopts =[prefdir'\mex_C++_win64.xml'];
-
改变 x = findstr(tline,'COMPILER=cl'); to ---> x = findstr(tline,'COMPILER="cl"');
【讨论】:
以上是关于mtimesx 在脚本中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
代码不起作用 - SetDwordValue 在 vbs 中不起作用
为啥 heightForHeaderInSection 在 iOS 4.3 中不起作用?
为啥 setVisibility() 在 onResumeFragments() 中不起作用?