Всем спасибо за внимание к проблеме.
Действительно она решилась после написания простенького класса правда на VB.Net (в Матлабе оказывается был пример по программированию с испорльзованием VB

).
Всем кому интересно привожу текст единственного класса промежуточной библиотеки для взаимодействия с Матлабом.
Public Class cMatlab
Dim MatLab As Object
Public Sub InitializeA()
MatLab = CreateObject("Matlab.Application")
End Sub
Public Sub FinalA()
Call MatLab.Quit()
End Sub
Public Sub GetFullMatrixA(ByVal a As String, ByVal bs As String, ByRef pr As Double(,), ByRef pi As Double(,))
Call MatLab.GetFullMatrix(a, bs, pr, pi)
End Sub
Public Sub PutFullMatrixA(ByVal a As String, ByVal bs As String, ByRef pr As Double(,), ByRef pi As Double(,))
Call MatLab.PutFullMatrix(a, bs, pr, pi)
End Sub
Public Function ExecuteA(ByVal name As String) As String
ExecuteA = MatLab.Execute(name)
End Function
End Class
Для вызова надо подключить получившуюся сборку и где-нибудь в обработчике события написать что-то типа:
mt_class.cMatlab V=new mt_class.cMatlab();
double[,] MReal=new double[2, 4];
double[,] MImag=new double[1, 1];
V.InitializeA(); // инициализация и связь с матлабом
// в этом методе можно писать любое выражение, как это делается в матлабовских M-файлах
V.ExecuteA("surf(peaks)");
V.ExecuteA("a = [1 2 3 4; 5 6 7 8;]");
// Возвращает двумерный массив из Матлаба в программу
V.GetFullMatrixA("a","base", ref MReal, ref MImag);
Вроде все работает.
Андрей.