2 lu van Lu_van 于 2016.04.09 17:18 提问

c#调用自定义matlab函数

我使用matlab编辑了一个计算卷积的函数。
输入的变量如下
function R = reliability( range,q1,q2,b1,b2,k1,k2,l1,l2 )
计算之后,返回一个数组。
用matlab编译成.dll文件,在VS使用c#调用时遇到以下问题图片说明

首先,变量中出现了一个我没有定义过的int numArgsOut,不知道是哪里来的,而我定义的l2不存在了;
其次,我如何把这个object变量中的数组读取出来放到一个数组里面?

谢各位大神指导!

3个回答

CSDNXIAON
CSDNXIAON   2016.04.09 17:22

VC调用matlab函数mclcppMlfFeval重复定义
C#调用自定义DLL函数
python调用matlab的m自定义函数
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

caozhy
caozhy   Ds   Rxr 2016.04.10 06:16

因为你传的是不定个数的参数,所以反应在C#中就需要一个传出参数的个数的参数。这个函数有19个重载,你可以看看别的重载形式,应该是有l2的,如果还没有,重新编译下。

Lu_van
Lu_van 请问有19个重载是什么意思?会影响返回参数的个数吗?怎么确定返回参数的个数?
一年多之前 回复
Lu_van
Lu_van 对,在括号里再输一个数据就是l2的值了。传回的参数是确定的,所以那个numargsout指的是传回的数据有多少个的意思吗?那我要如何把这些数据赋值到一个数组呢?
一年多之前 回复
Lu_van
Lu_van 对,在括号里再输一个数据,就是里
一年多之前 回复
Lu_van
Lu_van   2016.04.11 10:00

请问有19个重载是什么意思?会影响返回参数的个数吗?怎么确定返回参数的个数?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!