如何将C语言转换成matlab?

2024-10-29 11:44:32
推荐回答(4个)
回答1:

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

回答2:

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[])
{
//一般变量声明
//检查输入输出参数
//为输出参数创建矩阵,输出指针指向它
//输入指针输出指针赋值
//调用功能性函数/子程序
}

回答3:

没有直接转换的工具,二者本质不同,matlab是解释性语言,面向的过程不同。但是matlab的语句基本上是以早期C为基础拓展的,与C的风格比较类似,会使用C的话,matlab的使用不成问题,也就是说无需转换,直接按照C的思路去编写matlab程序即可。

回答4:

还有个方法,直接数据拷贝,在matlab中建一个m文件,将拷贝的数据赋予一个变量(可以是二维矩阵)运行后,工作区的该变量即为一个矩阵,可以将该变量保存为.mat文件,当然高级的方法就是用xlsread了