Та же функция не работает с Matlab .Net Assembly

У меня есть простая функция о нейронной сети. Эта функция получает матрицу, загружает мат-файл и запускает функцию нейронной сети с этим параметром. В консоли Matlab это работает отлично. Но в С# выдает ошибку;

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

person Baran    schedule 04.04.2012    source источник
comment
Как вы вызываете функцию MATLAB из кода C#? Похоже, что параметр x1 задан неправильно.   -  person Bill Cheatham    schedule 05.04.2012
comment
Я также пробовал это, но до сих пор не работает функция result=neural() func = load('fonksiyon.mat', 'net'); результат= func.net([0,1; 0,1; 0,2; 0,1; 0,5; 0,4; 0,7; 0,1]);   -  person Baran    schedule 05.04.2012


Ответы (1)


Сим не работает с сборкой .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;
person Baran    schedule 08.04.2012