taoboy 发表于 2008-11-25 15:10

怎么样在C语言中调用MATLAB函数呢?

如题!~~哪位老大指点指点啊。。谢谢了!278284855,指点了,我给你送鲜花啊,哈哈!

zhoulon 发表于 2008-11-25 18:44

搜索有关c和matlab混合编程的帖子。

科技在线 发表于 2008-11-25 22:02

Matlab调用C语言程序简单实例
   matlab的功能强大,不仅仅因为matlab的强大的函数库和验算本式的计算方式,更重要的是因为他有强大的接口。

    今天,我才抄着写出了一个自己的运行在matlab中的C程序,是书上原来的例子。但是,知道可以调用的惊奇还是十分令人愉快的。

    我在matlab的自带编辑器中输入如下代码,并保存为fact.c,存在系统工作目录中。
#include "mex.h"

void mexFunction (
      int nlhs,mxArray *plhs[],
      int nrhs,const mxArray *prhs[]
    )
{
    double n,j,*p;
    int i;
   
    n=mxGetScalar(prhs);
    plhs=mxCreateDoubleMatrix(1,1,mxREAL);
    p=mxGetPr(plhs);

    j=1.0;
    for(i=n;i>1;i--)
    j=j*i;
    *p=j;
}

    这仅仅是一个求阶乘的简单的例子。

    然后,我在matlab中输入>>mex fact.c   
   
    如果没有错误,一切都将十分正常,然后,我输入
    >>y=fact(5)   
    将输出y=
            120

    这个例子十分简单,但是,事实说明了matlab的接口调用也不是高不可测的,只要有心,很快就可以上手的。

ch_j1985 发表于 2008-11-26 19:40

回复 板凳 科技在线 的帖子

谢谢科技在线分享自己的心得!
页: [1]
查看完整版本: 怎么样在C语言中调用MATLAB函数呢?