下面是matlab代码 用此代码生成 dll
function outputArg1 = myfun(inputArg1,inputArg2)temp1 =inputArg1+inputArg2;temp2 =inputArg1-inputArg2;temp3 =inputArg1*inputArg2;temp4 =inputArg1/inputArg2; outputArg1(1).jx = {1*temp1+1,1*temp1+2,1*temp1+3};outputArg1(1).jm = {1*temp2+1,1*temp2+2,1*temp2+3};outputArg1(1).ig = {1*temp3+1,1*temp3+2,1*temp3+3};outputArg1(1).iu = {1*temp4+1,1*temp4+2,1*temp4+3}; outputArg1(2).jx = {2*temp1+1,2*temp1+2,2*temp1+3};outputArg1(2).jm = {2*temp2+1,2*temp2+2,2*temp2+3};outputArg1(2).ig = {2*temp3+1,2*temp3+2,2*temp3+3};outputArg1(2).iu = {2*temp4+1,2*temp4+2,2*temp4+3}; outputArg1(3).jx = {3*temp1+1,3*temp1+2,3*temp1+3};outputArg1(3).jm = {3*temp2+1,3*temp2+2,3*temp2+3};outputArg1(3).ig = {3*temp3+1,3*temp3+2,3*temp3+3};outputArg1(3).iu = {3*temp4+1,3*temp4+2,3*temp4+3};end
编译好用myfun.dll 在VS项目中添加引用

代码如下 使用GetField方法获取 对应关键字的 数据
using System;using System.Collections.Generic;using System.Linq;using System.Text;using MathWorks.MATLAB.NET.Arrays; using MathWorks.MATLAB.NET.Utility;using myfun;namespace ConsoleApp_matlab{ class Program { static void Main(string[] args) { int a = 100; int b = 100; MWArray mWArraya = new MWNumericArray(a); MWArray mWArrayb = new MWNumericArray(b); Console.WriteLine(mWArraya); Console.WriteLine(mWArrayb); myClass myfun = new myClass(); MWStructArray resultObj = (MWStructArray)myfun.myfun(mWArraya, mWArrayb); Console.WriteLine(resultObj.GetField("jx")); Console.WriteLine(resultObj.GetField("jx")[2]); Console.WriteLine(resultObj.GetField("jm")); Console.WriteLine(resultObj.GetField("ig")); Console.WriteLine(resultObj.GetField("iu")); Console.ReadLine(); } }}可以直接在resultObj.GetField("jx")后面加引索 获取对应数据
运行结果

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删