回 帖 发 新 帖 刷新版面

主题:急需解决!!!

function [x,y]=hua(m,n)
x=m+n;
y=m-n;
C++源程序:
    double a[4]={1,2,3,4};
    double b[4]={2,3,4,5};
    if(FAILED(CoInitialize(NULL)))
    {
        printf("unable to initialize COM");
    }
    VARIANT x,y,m,n;
    VariantInit(&x);
    VariantInit(&y);
    VariantInit(&m);
    VariantInit(&n);
    m.vt=VT_R8|VT_ARRAY;
    SAFEARRAYBOUND rgsabound[1],rs[1];
    rgsabound[0].lLbound=0;
    rgsabound[0].cElements=4;
    m.parray=SafeArrayCreate(VT_R8,1,rgsabound);
    m.parray->pvData=a;
    rs[0].lLbound=0;
    rs[0].cElements=4;
    n.parray=SafeArrayCreate(VT_R8,1,rs);
    n.parray->pvData=b;
    Icomhuaclass *st=NULL;
    HRESULT hr=CoCreateInstance(CLSID_comhuaclass,NULL,CLSCTX_ALL,
        IID_Icomhuaclass,(void **)&st);
    if(SUCCEEDED(hr))
    {
        st->hua(2,&x,&y,m,n);
        memcpy(a,x.parray->pvData,4*sizeof(double));
        memcpy(b,y.parray->pvData,4*sizeof(double));
        printf("%f\n%f\n%f\n%f\n",a[0],a[1],a[2],a[3]);
        printf("%f\n%f\n%f\n%f\n",b[0],b[1],b[2],b[3]);
        printf("succeed"); 
        st->Release(); 
    }
    else
    {
        printf("unsucceed");
    }
    return 0;
出现错误:Error using ==> plus
Matrix dimensions must agree.Error in ==> hua at 2
帮忙解决下 谢谢 !!!

回复列表 (共1个回复)

沙发


上面的问题已经解决,不过怎么样把我用MATLAB做的东西放到别人的机器上的C++ 中调用??
大侠帮帮忙呀!!感激不尽!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册