2012-04-04 2 views
1

У меня есть простая функция о нейронной сети. Эта функция получает матрицу, загружает файл mat и запускает функцию нейронной сети с помощью этого параметра. В MATLAB-консоли это работает отлично. Но в C# возникает ошибка;Такая же функция не работает с Matlab .Net Assembly

... 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

Как вы называете функцию MATLAB кодом C#? Кажется, что параметр x1 не задан правильно. –

+0

Я также пробовал это, но все еще не работал function result = neural() func = load ('fonksiyon.mat', 'net'); result = 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; 

 Смежные вопросы

  • Нет связанных вопросов^_^