我现在正在做一个程序,是基于VC6.0和matlab6.5的,主要功能是把m文件转化为C++文件,然后再让VC调用M文件里面的函数实现其功能,但现在我遇到一个问题,别的M文件都可以再转化后被VC调用,但有一个就是不行,我试了com,或者dll的形式都不行,但是用matlab7.04转化那个M文件为dll,再让VC调用就可以,问题是这个项目以前很多功能都是基于matlab6.5实现的,如果现在用7.04就会造成重新写以前的功能,所以我想问问大家:我是用VC调用matlab7.04生成dll再让这个项目使用好,还是,我用VB调用matlab6.5生成dll再让这个项目好?我查了下资料,发现VB调用matlab很麻烦,请问谁能给我点好建议?再就是我对VB不是很熟练,我都是用VC的,谁能给我提供点资料,谢谢!!!

解决方案 »

  1.   

    我都是用VC的~~
    那还是建议楼主用VC了~~
      

  2.   

    那么VC调用matlab7.04生成的功能能在我那个工程里运行吗?因为7.04的库和6.5的库不一样.
    或者谁能帮我做下这个小程序,测试一下,因为最好的方法就是让VC直接调用matlab6.5实现这个功能,附代码如下:lvbo.m  :
    function E=lvbo(e,t,n,wavename)
    subplot(2,1,1);plot(t,e);title('噪声信号');
    [c,l]=wavedec(e,n,wavename);
    [thr,nkeep]=wdcbm(c,l,2);
    thr=thr*1.5;
    [E,cxd,lxd,perf0,perfl2]=wdencmp('lvd',c,l,wavename,n,thr,'s');
    subplot(2,1,2);plot(t,E);
    title('降噪后的信号');
    end
    测试数据:
    t=[0,0.00005,0.0001,0.00015,0.0002,0.00025,0.0003,0.00035,0.0004,0.00045];
    e=[1.1030E-02,1.0973E-02,1.0915E-02,1.0862E-02,1.0810E-02,1.0739E-02,1.0657E-02,1.0615E-02,1.0601E-02,1.0548E-02];
    n=7;
    wavename='sym5';
    谁能帮我测试一下阿?最后用VC6.0和matlab6.5,不管什么方法都行?只要能把两个图都画出来就行.