Matlab的.m文件转C语言或C++
来源:互联网 发布:万达网络科技集团 编辑:程序博客网 时间:2024/06/05 19:34
流程
- matlab command window 输入
mex -setup
,选择编译环境 - 在当前工作文件夹下建立
myfun.m
,输入coder
,新建工程fun.prjtype为mex,C,and C++ code generation,点击OK - add files
myfun.m
,定义输入(if exists)变量的类型,,在bulid中将输出类型选择为C/C++ Static Library,勾选Generate code only, - 点击build按钮
- 如果在某个C的工程中需要添加工程,需要将matlab的工作空间中的
myfun.h
、myfun.c
、rtwtypes.h
、foo_types.h
、rt_nonfinite.h
拷贝到当前C语言的工程文件夹中,并添加到工程中 - 如果在某个文件中需要调用该函数,则需要在添加头文件
#myfun.h
,即可在文件中调用该函数
可能遇到的问题以及其他方面
- 在调用的过程中如果遇到找不到变量或者函数定义的问题,则需要一步步找到缺失的头文件(在matla中coder输入的文件夹中寻找),并拷贝、添加到工程中,或者可以直接将生成的所有c和h文件拷贝添加到项目中(一般都会缺少=。=)
- 如果需要转化为C++,可以在build选项卡里点击
more settings
,选择输出C++程序 - 在调用函数时需要看函数是什么类型的,有时候会将输出也写进函数里,比如说地址(矩阵时常用)传递时
- 关于矩阵的运算转化成C语言需要注意:在调用时尽量用矩阵的首地址作为输入输出变量
let me show you the code
%myfun.m%这是加法计算,可以在build选项卡里将其设置为3 X 3矩阵相加function y = myfun(a , b) y = a + b;end
对应的C语言中定义与调用如下:
#include "myfun.h"//这里作为示例,只是随便输出一个运算后的变量作为检测//...(your function and other things to do)double a[3][3] = {1};double b[3][3] = {2};double c[3][3] = {0};array2C(*a,*b,*c);printf("%lf\n" , c[0][0]);
阅读全文
0 0
- Matlab的.m文件转C语言或C++
- C语言实现MATLAB 6.5中M文件的方法
- C语言实现MATLAB 6.5中M文件的方法
- 将matlab的m文件转成C语言
- 【转】如何把Matlab中的m文件转化成C语言代码
- matlab中m文件输出为c文件的方法
- C程序调用matlab中M文件的方法
- matlab的m文件生成dll,c调用
- mcc函数实现matlab的m文件转化为c
- C语言调用matlab文件的方法
- mcc函数实现matlab的m文件转化为c,c++文件
- mcc函数实现matlab的m文件转化为c,c++文件。
- (转)C语言写文件或日志
- MATLAB 把m文件转化为C文件
- Matlab中的pchiptx.m 修改为C语言 三次样条插值
- 基于MEX文件的Matlab与C语言接口实例
- C语言使用matlab生成的滤波器头文件
- 基于MEX文件的Matlab与C语言接口实例
- 省市区三级联动实现1
- js保留小数点后面两位
- 机器学习/数据挖掘之中国大牛
- php 按照回车拆分字符串注意事项
- Python 时间戳
- Matlab的.m文件转C语言或C++
- Java Web 初认识
- AndroidStudio中修改项目名称
- AS Debug调试总结推荐
- 简单谈谈JS数组中的indexOf方法
- 1012. 数字分类 (20)
- 自定义排序
- 冒泡算法
- C语言学习之C与C++区别