matlab代码转c/c++详细教程

1.将matlab代码的输入输出删除

如 a = input("a");,类似于这种matlab语句先删除,为什么要这样?请看第二步

这里还有一点注意事项,请看第5步.

2.将代码封装为一个函数

模板如下:

function [返回参数列表] = func1(输入参数)你的程序放在这里,不要有输入输出语句end

将输入语句全部换成函数的输入参数,例如,上面的a = input("a")删除以后,将a放入输入参数,有多少个放多少个,用“,”隔开,所以说要先删除输入输出语句,输入作为函数的入口参数,输出作为返回值:

function [返回参数列表] = func1(a)你的程序放在这里,不要有输入输出语句end

然后将你的代码放在function里面,不管有多复杂,例如:

function  func1(m,b,L,n,H,Q,E,u,C0)
%下面的代码不用管
l=L/n;
h=H/n;
Q=Q./(b*l);
a = [0.0,0.0,0.0,0.0];
for i=1:m
a(i)=u(i)*h;
end
e = [0.0,0.0,0.0,0.0];
for i=1:m-1
e(i)=E(i)*l/h;
end
A = [0.0,0.0,0.0,0.0;0.0,0.0,0.0,0.0;0.0,0.0,0.0,0.0;0.0,0.0,0.0,0.0;];
A(1,1)=a(1)+e(1);
A(m,m)=a(m)+e(m-1);
A(1,2)=-e(1);
A(m,m-1)=-e(m-1);
for i=2:m-1
A(i,i)=a(i)+e(i-1)+e(i);
A(i,i-1)=-e(i-1);
A(i,i+1)=-e(i);
end
a=a';
C0=C0';
D1=a.*C0;
D1(1)=D1(1)+Q(1)*l;
C1=inv(A)*D1;
D2=a.*D1;
D2(1)=D2(1)+Q(2)*l;
C2=inv(A)*D2;
D3=a.*D2;
D3(1)=D3(1)+Q(3)*l;
C3=inv(A)*D3;
D4=a.*D3;
D4(1)=D4(1)+Q(4)*l;
C4=inv(A)*D4;
CC=[C1,C2,C3,C4];
%上面的代码不用管
end

中间全部都是待转换的matlab代码,不用管

3.新创建一个文件,用于说明函数入口参数的类型

按照以下格式编写:

clear all;
clc;
close all;%下面是输入参数的样例
m = 4;
b = 1000;
L = 4000;
n = 4;
H = 120;
Q = [0.1,0.3,0.4,0.2];
E = [0.25,0.25,0.25,0.25];
u = [4,4,4,4];
C0 = [0.1 0.1 0.2 0.3];
a = []
%上面是输入参数的样例
%下面是函数的调用
func1(m,b,L,n,H,Q,E,u,C0);

4.使用matlab coder开始转换

下面的操作就是点NEXT

  • 找到matlab coder

  • 打开我们之间用函数封装的代码
  • NEXT

  • 选择第3步编写的文件

  • 检查一下

到这里就大功告成了,文件信息如下

5.注意

在第一步的时候,除了删除输入输出语句外,还需要改一些未声明的变量,例如:

for i=1:m
a(i)=u(i)*h;
end

在matlab中 a(i)是可以直接使用不需要声明的,但是在转换的时候需要先人为定义a这个数据类型,如:

a = [0.0,0.0,0.0,0.0];
for i=1:m
a(i)=u(i)*h;
end

Matlab 代码 转成 C/C++ 代码相关推荐

  1. MATLAB实战系列(三)- 如何将MATLAB直接转成C/C++代码

    前一段时间在工作中遇到这样一个实际问题,项目主体部分是用C++写的,但其中有一小部分算法是用MATLAB写的.于是乎,我第一想法是如何用C++把MATLAB中的代码实现出来. 这时,一位前辈语重心长地 ...

  2. c语言代码运行成图指令代码,C语言图形编程代码.doc

    C语言图形编程代码 C语言图形编程代码 自己以前编写的C语言图形编程代码 自己以前编写的图形编程代码实现DOS下256BMP图片显示,中文注释,中文汉字显示 写的不好,给大家交流与学习,TC3.0与T ...

  3. 利用python,将python语法代码翻译成js语法代码

    将python自动翻译成js脚本 说明 由于想用通过写python代码直接翻译出来对应的js代码,python代码有它自身的简洁性,代码量比较少,可以做一个脚本翻译成运行速度高但是代码量打的编程语言, ...

  4. 按键精灵改php文件代码,如何吧按键精灵的代码转成易语言代码

    Hwnd = Plugin.Window.Find(0, "[魔域]") hwnd1 = Plugin.window.findex(hwnd, 0, 0, 0) Call 寻路(9 ...

  5. 6个实例详解如何把if-else代码重构成高质量代码

    https://blog.csdn.net/qq_35440678/article/details/77939999

  6. 数学实验课MATLAB实验报告二(题目+代码)

    目录 前言 1.(1) 题目 代码 1.(2) 题目 代码 1.(3) 题目 代码 1.(4) 题目 代码 2. 题目 代码 总结 前言 2022年10月21日晴转多云转晴然后黑天了,不冷.今天有一件 ...

  7. 如何在MATLAB上使用GUP加速跑代码

    如何在MATLAB上使用GUP加速跑代码 CPU和GPU的主要区别 查看CUDA版本并下载安装 怎么检查CUDA是否安装成功 确认MATLAB与cuda对应版本 在MATLAB查看GPU版本 测试gp ...

  8. Python写的代码打包成.exe可执行文件

    Python写的代码打包成.exe可执行文件 1. 安装pyinstaller 2. [在线生成icon](http://www.ico51.cn/) 3. 打包命令 pyinstaller -i x ...

  9. 将Doc或者Docx文档处理成html的代码逻辑;统计word中的字数,段数,句数,读取word中文档内容的代码逻辑...

    将Doc或者Docx文档处理成html的代码逻辑 下面是maven的配置代码: <!-- 文档处理所需的jar的依赖 --><dependency><groupId> ...

最新文章

  1. 基于springboot实现高校学生健康档案管理系统
  2. 信息系统项目管理师案例分析
  3. Windows Server 2008 R2活动目录灾难恢复(二):备份与恢复(1)
  4. python中fit内参数的类型_Python fit
  5. oracle的md5加密
  6. SAP S/4HANA Analytics Path Framework 里过滤器(filter)的使用方法介绍
  7. Asp.net1.0 升级 ASP.NET 2.0 的几个问题总结
  8. 浅谈Dynamic 关键字系列之三(下):ExpandoObject,DynamicObject,DynamicMetaObject
  9. 深入浅出LVM on linux
  10. ROS下同时接收多个话题并实现相机和雷达的数据融合
  11. Netty LengthFieldBasedFrameDecoder源码分析
  12. 下拉菜单(Dropdown)
  13. BUUCTF Cipher
  14. Html中怎么用CSS让ul中多个li标签不换行横排显示
  15. java 单体测试_单体测试指南
  16. Android Studio 编译 UVCCamera
  17. 机器学习与统计建模 —— 归一化和标准化
  18. sql数据处理的长尾问题及优化
  19. java实现第七届蓝桥杯平方末尾
  20. hdfs通过垃圾箱恢复被删除的文件

热门文章

  1. notepad++安装autosave插件来自动保存
  2. K文件提交服务器计算,Windows 下 L4D2 的服务器架设与c-r-a-c-k
  3. 云徙打造新一代数字中台:数字化增长终局是全链路营销一体化?
  4. 计算机专业学数电模电哪本书,我该怎么学数电和模电啊?
  5. 自动驾驶之轨迹规划6——Apollo EM Motion Planner
  6. 如何设计低功耗SOC
  7. 数据仓库3_ETL_数据清洗/装载
  8. linux版本的qq怎么安装路径,Ubuntu 16.04安装QQ国际版图文详细教程
  9. 【论文】铁路综合视频监控系统图像质量诊断技术研究
  10. 微信接口java解密_java使用AES-256-ECB(PKCS7Padding)解密——微信支付退款通知接口指定解密方式...