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

import neural network in simulink user defined matlab function

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

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

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

训练数据并保存到文件的代码

1
2
3
4
5
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

在此之后,变量神经网络网络被导入工作空间。
现在我想在给定

的用户定义函数中使用这个网络

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

如果缺少任何其他信息,请询问。我想,我可以通过以某种不同的方式保存文件,以某种不同的方式从工作空间中使用。但我无法得到它。
使用 Matlab R2012a


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

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