呵呵,看来我们有研究相同的问题吧
站在用户的角度思考问题,与客户深入沟通,找到丰南网站设计与丰南网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广、空间域名、虚拟空间、企业邮箱。业务覆盖丰南地区。
matlab是一种科学的计算语言,采用的是解释执行的方式,在配置比较水的机器(比如说我的),运行起来速度不敢恭维,但是他适合工程师用,快速建立起自己的运算平台,很多语法是类似c语言。你可以考察一下matlab的安装目录下extern下面lib库中的函数,可以发现,有很多的c语言代码,实际上,其内核有很多c的成分。
所以你应该可以明白了,可以运行,但是要把matlab的库函数包含在c编译库中。
你完全可以在extern中的example中,在matlab环境下面运行几个c代码试一试,当然所采用的指令是mex(把c语言用于matlab中),mcc把matalb代码转化为c代码,一些具体的参数,你可以用matlab强大的help工具获得。我们还可以一起探讨一下啊,给各邮箱之类的吧,呵呵,很乐意的
matlab与C有接口,可以用C调用matlab,也可以用matlab调用C,或者用中间临时文件实现程序间的数据传输,但是不能像你这样通过matlab的m文件查看对应的C语句。
一般的程序语言都不是跨平台的,就像你说的这种matlab平台和C平台程序语句对应起来,这种对matlab和C是不可能的。
matlab中调用c语言函数:
#include "mex.h" //头文件必须包含mex.h
double mexSimpleDemo(double *y,double a,double b);
//C语言算法程序声明,在最后调用时,第一
// 个参数是返回结果
//c语言到matlab变换,以mexFunction命名
void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[])
{
double *y;
double m,n;
//获取输入变量的数值大小
m=mxGetScalar(prhs[0]);
n=mxGetScalar(prhs[1]);
//获取输出变量的指针
plhs[0]=mxCreateDoubleMatrix(1,1,mxREAL);
y=mxGetPr(plhs[0]);
//调用子函数
mexSimpleDemo(y,m,n);
}
//C语言函数
double mexSimpleDemo(double *y,double a,double b)
{
return *y=(ab)?a:b;
}
matlab上的程序在C语言上能运行。matlab是一种科学的计算语言,采用的是解释执行的方式,所有在C语言上能运行。
有一个通俗的比喻,
如果程序设计语言是车,那么C
语言就是全能手,
C十十语言是加强版的C
语言,
MATLAB
是科学家用来完成特殊任务的工具。作为使用MATLAB
的科学家和工程师,
通过混合程序设计,就可以借用CIC十十语言这两个全能手增强MATLAB
的功能;作为使用C/C十十语言开发的开发者,也可以通过混合程序设计来使用MATLAB强大的科学计算与数据可视化功能。