您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > MATLAB到C的转换
算法优化第五部分:算法的C语言转化算法优化基于前面的Matlab算法处理基于前面的Matlab算法处理,结果虽然准确,但不能智能实现。故尝试将算法转成C语言移植到硬件上去运行。移植到硬件上去运行。如右图所示的函数,是使用Script脚本创建的一个函数。将之前的复杂的算法反复对比生成的C语言进行了优化。复杂的算法反复对生成的语言进行了优化输入是X矩阵,用到C语言里可以用一个数组来实现。Matlab到C的转化(1)Matlab到C的转化(1)Mtlb文件夹下的文件lttt文件是用来验证Matlab源文件准备Matlab文件夹下的文件,result.txt文件是用来验证,matlab函数优化后的运算结果是否准确而设置的。Matlab到C的转化(2)到的转化输入mex-setup输入y选择1,因为keil可使用这种模式的c确认Matlab到C的转化(3)Matlab到C的转化(3)在命令窗口输入“coder”弹出如图的对话框输入一个工程名字同在命令窗口输入coder弹出如图的对话框,输入个工程名字,同时确认路径是否与源文件在同一文件夹下(尽是为了查看方便)。然后在MATLAB的右侧显示matlabCoderC/C++窗口。Matlab到C的转化(4)Matlab到C的转化(4)在设置的工程下面添加要转换的.m源文件Matlab到C的转化(5)Matlab到C的转化(5)对源文件的输入进行设置。因为.m的源文件中X是一个一维矩阵,但到C里我将输入给函数进行FFT我将输入给函数进行FFT运算的数组长度256,所以我在此将其定死。同时要注意MATLAB里默同时要注意MATLAB里默认的是DOUBLE类型的数据,关于DOUBLE型的数据在STM32里运行是很困据在STM32里运行是很困难的,对此我把这里的数据类型定义为single型,生成C语言是float型的变生成C语言是float型的变量。Matlab到C的转化(6)Matlab到C的转化(6)在“Build”里选择要生成的目标文件的类型,这里我选C/C++静态库文的类型,这里我选C/C++静态库文件。Matlab到C的转化(7)Matlab到C的转化(7)这里进行一些其他的参数的设置。Matlab到C的转化(8)Matlab到C的转化(8)设置好后点击Build,生成后的界面。Matlab到C的转化(9)Matlab到C的转化(9)最终生成的C文件及相关头文件。算法移植到STM32里运行算法移植到STM32里运行
本文标题:MATLAB到C的转换
链接地址:https://www.777doc.com/doc-5610831 .html