2012-04-04 12 views
1

で作業されていません。この関数は、行列を取得し、matファイルをロードし、このパラメータでニューラルネットワーク関数を実行します。これは完璧に動作しています。しかし、C#ではエラーが発生します。同じ機能は、私は、ニューラルネットワークについての簡単な機能を持っているMatlabの.NETアセンブリ

... MWMCR::EvaluateFunction error ... 
Subscript indices must either be real positive integers or logicals. 
Error in => neural.m at line 4. 

... Matlab M-code Stack Trace ... 
    at file c:\xxxxxxxxxxxx\NeuralClass\neural.m, name neural, line 4. 

これは私の単純な機能です。

function result=neural(x1) 
load('fonksiyon.mat', 'net') 
x1=x1'; 
result= net(x1); 
+0

どのようにC#コードからMATLAB関数を呼び出していますか?パラメータx1が正しく設定されていないようです。 –

+0

また、私はこれを試していないが、まだ何の作業 関数の結果=ニューラル() FUNC =負荷( 'fonksiyon.mat'、 'ネット'); 結果= func.net([0.1; 0.1; 0.2; 0.1; 0.5; 0.4; 0.7; 0.1])。 – Baran

答えて

2

Simは.netアセンブリでは動作しません。これは私を助けた;

function result=neural(P) 
load('c:\function.mat', 'net'); 

IW = net.IW{1}; 
b1 = net.b{1}; 
LW = net.LW{2}; 
b2 = net.b{2}; 

P=P'; 

y1 = satlin (IW * P + b1); 
y2 = tansig (LW * y1 + b2); 

result= y2; 
関連する問題