如何将C语言转换成matlab? 50
7个回答
展开全部
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
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
追问
typedef struct
{
unsigned char statue;
double Trig_Time;
unsigned char Neur_Barr;
unsigned char Record;
}PCNNP
CNN network[X*Y];
void Trig_One_Neig(unsigned char a,unsigned char b,unsigned char c)
{...}
void Find_Trig_Neigs(unsigned char a)
{...}
int main(void)
{...}
大概格式就是这样,要怎么改
追答
main(){} 以前,全部保留。
把main() 写成:
void mexFunction(int nlhs,mxArray *plhs[], int nrhs, const mxArray *prhs[])
函数体内按前面说的加上
{
//一般变量声明
//检查输入输出参数
//为输出参数创建矩阵,输出指针指向它
//输入指针输出指针赋值
//调用功能性函数/子程序 -- 这部分是原主程序的内容
}
具体怎么写,需要找点材料,照猫画虎自己做一下。不难。
2018-03-03 · 知道合伙人互联网行家
关注
展开全部
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[])
{
//一般变量声明
//检查输入输出参数
//为输出参数创建矩阵,输出指针指向它
//输入指针输出指针赋值
//调用功能性函数/子程序
}
C语言程序放入matlab使用:
(1)必须改写main(){},把main(){},变成 matlab 入口函数 mexFunction(){},
(2)其它功能性函数/子程序不需变化。
(3)加头文件 #include "mex.h"
你需要学习一下mexFunction(){} 如何书写,参数意义等。这里就不费笔墨了。
入口函数样子:
void mexFunction(int nlhs,mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
//一般变量声明
//检查输入输出参数
//为输出参数创建矩阵,输出指针指向它
//输入指针输出指针赋值
//调用功能性函数/子程序
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有直接转换的工具,二者本质不同,matlab是解释性语言,面向的过程不同。但是matlab的语句基本上是以早期C为基础拓展的,与C的风格比较类似,会使用C的话,matlab的使用不成问题,也就是说无需转换,直接按照C的思路去编写matlab程序即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-08-03 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
没有直接转换的工具,二者本质不同,matlab是解释性语言,面向的过程不同。但是matlab的语句基本上是以早期C为基础拓展的,与C的风格比较类似,会使用C的话,matlab的使用不成问题,也就是说无需转换,直接按照C的思路去编写matlab程序即可。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还有个方法,直接数据拷贝,在matlab中建一个m文件,将拷贝的数据赋予一个变量(可以是二维矩阵)运行后,工作区的该变量即为一个矩阵,可以将该变量保存为.mat文件,当然高级的方法就是用xlsread了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询