c# 调用matlab

1.返回一个整数

function [ a ] = testReturn( b )
%UNTITLED Summary of this function goes here
%   Detailed explanation goes here

a = b+10;
end
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;
using MatlabReturn;
namespace MatlabToNet
{
    class Program
    {
        static void Main(string[] args)
        {
            MWNumericArray input = null;
            //MWNumericArray output = null;
            MWArray result = null;
            ToMatlab matlab = new ToMatlab();

            input = 10;
            result =  matlab.testReturn(input);
            Console.WriteLine(result);

        }
    }
}

2. 返回两个整数

function [ a , b] = testReturn( c )
%UNTITLED Summary of this function goes here
%   Detailed explanation goes here

a = c+10;
b = c+20;
end
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;
using MatlabReturn;
namespace MatlabToNet
{
    class Program
    {
        static void Main(string[] args)
        {
            MWNumericArray input = null;
            //MWNumericArray output = null;
            MWArray[] result = null;
            ToMatlab matlab = new ToMatlab();

            input = 10;
            result =  matlab.testReturn(2 ,input);//2表示输出2个值
            Console.WriteLine(result[0] +":" +result[1]);

        }
    }
}

3.返回多个多种类型的值

function [ a , b ,d] = testReturn( c )
%UNTITLED Summary of this function goes here
%   Detailed explanation goes here

a = length(c);
b = strcat(c,'liu');
d = strcmp(c,'xin');
end
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;
using MatlabReturn;
namespace MatlabToNet
{
    class Program
    {
        static void Main(string[] args)
        {
            MWCharArray input = null;
            //MWNumericArray output = null;
            MWArray[] result = null;
            ToMatlab matlab = new ToMatlab();

            input = "me";
            result =  matlab.testReturn(3 ,input);//2表示输出2个值
            Console.WriteLine(result[0] +":" +result[1]+":"+result[2]);

        }
    }
}

原文地址:https://www.cnblogs.com/liuxinls/p/3150025.html