c#调用 matlab 生成的 com组件出错

爱爱更健康 2009-10-18 04:04:59
1,我用matlab写了一个m文件,m文件的内容为
function c=mynchoosek(m,n)
c=nchoosek(m,n)
然后,把这个m文件编译成 com组件 dll
然后 在c#.net工程里引用该dll.并编写程序,调用方法
static void Test(){
int nagout=1;
object m=10;
object n=4;
object c=0;
businessmynchoosek.businessmynchoosekclassClass bmyncc=new businessmynchoosek.businessmynchoosekclassClass();
bmyncc.mynchoosek(nagout,ref c,m,n);

if(c==null)
Console.WriteLine("the result is null");
else
Console.WriteLine(c.ToString());
}
,但是运行结果 报错,报错结果为 empty matrix:0-by-4
求错各为达人帮忙解决一下
...全文
92 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2009-10-18
  • 打赏
  • 举报
回复
建立C#工程,并将dll拷贝到合适路径,
使用[ DllImport( "mypluslib.dll ", CallingConvention = CallingConvention.Cdecl)]
将.h文件中的函数使用C#的语法声明
爱爱更健康 2009-10-18
  • 打赏
  • 举报
回复
大家帮帮忙,一次性帮我解决了....
爱爱更健康 2009-10-18
  • 打赏
  • 举报
回复
报错啊
Error using ==> nchoosek
The second input has to be a non-negative integer
爱爱更健康 2009-10-18
  • 打赏
  • 举报
回复
我后来传了一个 int n=new int[]{0,1,2,3,4};
又报错了
wenbin 2009-10-18
  • 打赏
  • 举报
回复
你要传数组进去呀,你MATLAB里面需要的是数组
你在C#里面传个OBJECT,那能行吗?
爱爱更健康 2009-10-18
  • 打赏
  • 举报
回复
各位达人帮帮忙啊.

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧