2016-05-26 9 views
1

私はSimulinkのニューラルネットワークプロジェクトに取り組んでいます。私はmatlabスクリプトファイルでニューラルネットワークを訓練し、訓練されたデータを.matファイルに保存しました。さて、この訓練されたデータをsimulinkのユーザー定義関数で使用しなければなりません。この訓練されたデータを予測に利用することができます。私はこのデータを関数にロードするために多くの方法を試しましたが、成功することはできませんでした。simulinkユーザ定義matlab関数のニューラルネットワークをインポート

load関数とget_param関数でマットファイルをロードしようとしましたが、これらはサポートされていません。

モデルエクスプローラーとモデルワークスペースを使用してこの訓練データをワークスペースにインポートしましたが、このワークスペースからデータを取得できませんでした。私は、このインポートされたワークスペースで訓練されたデータを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]); 

、特定のユーザー定義関数で、このネットを使用します。私は、いくつかの異なる方法でファイルを保存することによって、いくつかの異なる方法でworskspaceから使用できると思います。しかし、私はそれをうまく取れませんでした。 Matlabを使用するR2012a

答えて

1

ワークスペースからデータを取得できませんでしたが、コード生成をバイパスするためにcoder.extrinsic( 'load')を使用すると、コード生成に関数 'load'がサポートされています。したがって、これらの行を追加すると、問題は解決しました。

coder.extrinsic('load'); 
net=load('trainednet.mat'); 
関連する問題