声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3898|回复: 3

[经典算法] 怎么样在C语言中调用MATLAB函数呢?

[复制链接]
发表于 2008-11-25 15:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
如题!~~哪位老大指点指点啊。。谢谢了!,指点了,我给你送鲜花啊,哈哈!
回复
分享到:

使用道具 举报

发表于 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[0]);
    plhs[0]=mxCreateDoubleMatrix(1,1,mxREAL);
    p=mxGetPr(plhs[0]);

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

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

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

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

评分

1

查看全部评分

发表于 2008-11-26 19:40 | 显示全部楼层

回复 板凳 科技在线 的帖子

谢谢科技在线分享自己的心得!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-23 22:59 , Processed in 0.070058 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表