I have some code written in Matlab however I wish to call this code from a C# console application.

I do not require any data to be returned from Matlab to my app (although if easy would be nice to see).

There appears to be a few options however not sure which is best. Speed is not important as this will be an automated task.

# Best How To :

MATLAB has a .Net interface that's well-documented. What you need to do is covered in the Call MATLAB Function from C# Client article.

For a simple MATLAB function, say:

```
function [x,y] = myfunc(a,b,c)
x = a + b;
y = sprintf('Hello %s',c);
```

..it boils down to creating an `MLApp`

and invoking the `Feval`

method:

```
class Program
{
static void Main(string[] args)
{
// Create the MATLAB instance
MLApp.MLApp matlab = new MLApp.MLApp();
// Change to the directory where the function is located
matlab.Execute(@"cd c:\temp\example");
// Define the output
object result = null;
// Call the MATLAB function myfunc
matlab.Feval("myfunc", 2, out result, 3.14, 42.0, "world");
// Display result
object[] res = result as object[];
Console.WriteLine(res[0]);
Console.WriteLine(res[1]);
Console.ReadLine();
}
}
```