在simulink中导入神经网络用户定义的matlab函数

时间:2016-05-26 08:36:25

标签: matlab simulink

我正在Simulink从事神经网络项目。我已经在matlab脚本文件中训练了神经网络,并将训练好的数据保存到.mat文件中。现在,我必须在simulink用户定义的函数中使用这个经过训练的数据,我可以利用这些经过训练的数据进行预测。我尝试了很多方法将这些数据加载到函数中但却无法获得成功。

我尝试通过load function和get_param函数加载mat文件但不支持这些。

我已使用模型资源管理器和模型工作区将此训练数据导入工作区,但仍无法从此工作区获取数据。我希望,我可以将这个导入的工作空间训练数据用于我在Simulink中的用户定义的matlab函数。 我试图从工作区块中使用,但我认为从工作区加载时间序列数据和数组,或者我可能不知道如何使用工作区来加载这个神经网络。

培训数据和保存到文件的代码

net=feedforwardnet([10,5]); 
%set other parameters
net=train(net,[theta1;theta1D;theta1DD;theta2;theta2D;theta2DD],[tau1;tau2]);
save trainednet.mat net;
%theta and tau are the function variables

之后,在工作空间中导入变量神经网络网络。 现在我想在用户定义的函数中使用这个网络

 pridicted=sim(net,[theta1;theta1D;theta1DD;theta2;theta2D;theta2DD]);

如果缺少任何其他信息,请询问。我想,我可以通过以某种不同的方式保存文件,以某种不同的方式从礼拜空间使用。但我做不好。 使用Matlab R2012a

1 个答案:

答案 0 :(得分:1)

我无法从工作空间获取数据,但在使用coder.extrinsic('load')绕过代码生成时,代码生成支持函数'load'。因此,添加这些行解决了问题

coder.extrinsic('load');
net=load('trainednet.mat');