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

Место общения программистов C#
Anonymous
Как передать матрицу в качестве входных данных в функцию Matlab из приложения .net?

Сообщение Anonymous »

Я хочу передать матрицу в качестве входных данных из приложения .net в функцию Matlab.
Функция Matlab:

Код: Выделить всё

function myfunc(info);
sort(info)
end

Я хочу, чтобы ввод информации получался с помощью такой функции:

Код: Выделить всё

info = [...
0   0   0;  ...
0   120 0;  ...
240 120 0;  ...
240 0   0;  ...
];
и код .net:

Код: Выделить всё

MLApp.MLApp matlab = new MLApp.MLApp();

matlab.Execute(@"cd C:\scripts\myfunc.m");

object result = null;

int[,] input = new int[4, 3] { { 0, 0, 0 }, { 0, 120, 0 }, { 240, 120, 0 }, { 240, 0, 0 } };

matlab.Feval("myfunc", 0, out result, input);

Это дает мне ошибку в строке Feval --> «ошибка при использовании первого аргумента нормы должна быть одинарной или двойной».
И когда я меняю ввод быть таким

Код: Выделить всё

int[,,] input = new int[4, 1, 3] {
{ {0, 0, 0} },
{ {0, 120, 0} },
{ {240, 120, 0} },
{ {240, 0, 0} }
};
Выдает еще одну ошибку --> 'индекс в позиции 1 выходит за пределы массива. индекс не должен превышать 1
Как это решить?

Подробнее здесь: https://stackoverflow.com/questions/790 ... om-net-app

Вернуться в «C#»