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 我后来传了一个 int n=new int[]{0,1,2,3,4}; 
又报错了
错误结果:
Error using ==> nchoosek 
The second input has to be a non-negative integer

解决方案 »

  1.   

    The second input has to be a non-negative integer
    翻译过来,第二个输入必须是非负数using MathWorks.MATLAB.NET.Arrays;
    使用这个类 MWArray 
    不要使用ojbect
      

  2.   

    高手,我的是用 matlab 7.0,请问要引用哪个dll才会有MathWorks.MATLAB.NET.Arrays 命名空间
      

  3.   

    MWArray.dll
    我用的MATLABA2008B版本
    不晓得7.0有没有,你上网查下
    不过跟VC肯定有