1 问题:MALTAB用mcc生成exe文件后,运行时出现错误提示:未定义arx、aic函数(matlab自带的库函数)。
2 描述:
matlab中的预测函数,用到了arx、aic函数,在GUIDE中运行没有问题;MCC编译生成并使用EXE文件的时候,出现错误提示: Undefined function or method 'armax' for input arguments of type 'iddata'. %自己的预测函数形如: function [AIC] = TestArmax(data,orders) Data = iddata(data'); m = armax(Data,orders); AIC = aic(m); % 在Matlab中能正常运行,举例:data = [1,2,3,4,5,6,7,8,3,2,4,6,7,4,3,3,2,3,4,4]; orders = [1,1];m=armax(Data,orders) % 能正确输出
3 个人分析:错误提示是未定义armax函数,而armax函数作为matlab本身库函数,在Matlab中可以直接使用。求问,如何在生成EXE文件的时候,把调用的函数库包含进去???
生成的EXE文件已经和MCR运行环境在一个文件夹下了。MCR的环境变量也已经加到环境变量了。 问题解决了,用了比较笨的方法。MATLAB无法再编译后的运行环境下动态链接自己的库。所以需要把armax、aic函数对应的.m文件中的function函数,也copy到自己的.fig和.m文件中就可以了。4 解决方法:之前在百度知道上面求助,没有办法。自己琢磨得到了一个笨方法:
MATLAB无法再编译后的运行环境下动态链接自己的库。所以需要把armax、aic函数对应的.m文件中的function函数,也copy到自己的.