如何将matlab语言转换为c语言

Python011

如何将matlab语言转换为c语言,第1张

方法如下:

1)matlab要把n++写成n=n+1

2)printf在matlab中相近功能的命令有disp(),!echo,和sprintf(),其中最后一种最接近c中的printf。有关具体用法,你可以在matlab主命令窗口输入:help sprintf 来查阅这个命令的帮助和例子。比如:sprintf('The array is %dx%d.',2,3),其输出是 The array is 2x3

3)头文件的include是不用的,因为matlab的常用库里是包含了这些函数的。顺带一提,matlab里对函数的定义,开头要用function XXX。

matlab 主要使用矩阵,变量是矩阵,运算是矩阵。即使是C语言中的一个简单变量,matlab也要视它为矩阵。

C语言程序放入matlab使用:

(1)必须改写main(){},把main(){},变成 matlab 入口函数 mexFunction(){},

(2)其它功能性函数/子程序不需变化。

(3)加头文件 #include "mex.h"

你需要学习一下mexFunction(){} 如何书写,参数意义等。这里就不费笔墨了。

入口函数样子:

void mexFunction(int nlhs,mxArray *plhs[], int nrhs, const mxArray *prhs[])

{

//一般变量声明

//检查输入输出参数

//为输出参数创建矩阵,输出指针指向它

//输入指针输出指针赋值

//调用功能性函数/子程序

}

编译:

mex my_program.c

方法如下:

1)matlab要把n++写成n=n+1

2)printf在matlab中相近功能的命令有disp(),!echo,和sprintf(),其中最后一种最接近c中的printf。有关具体用法,你可以在matlab主命令窗口输入:help

sprintf

来查阅这个命令的帮助和例子。比如:sprintf('the

array

is

%dx%d.',2,3),其输出是

the

array

is

2x3

3)头文件的include是不用的,因为matlab的常用库里是包含了这些函数的。顺带一提,matlab里对函数的定义,开头要用function

xxx。