您的位置:首页 > 编程语言 > MATLAB

MatLab 代码优化 Fast your MatLab code. (1) Introduction

2016-03-29 00:55 435 查看
MatLab是一个快速开发程序的集成环境,意味着它关注于开发的舒适性,便捷性,而不是像C,Fortran语言关注于计算性能。于是MatLab具有了灵活的语法,并能交互调试。

虽然MatLab并不能像C一样快,但是也许有一些方法,能够让它缩小与C语言的差距。

备注:这并不是matlab初学者教程,而是关于提高matlab代码运行性能的教程。一般而言,本文阐述的方法都能加速matlab代码的运行效率。但是,并没有声明到底哪一种方法是最快的。具体问题具体分析。use at your own risk。

在我们开始之前,让我们先回顾一下,我们学习本文的目的。我们是要抛开语言的区别,寻求运行效率最高的代码吗?

如果是这样,我建议你用C语言开发。其实,我们是想在得到最终结果之前,减少我们的开发,调试,运行时间。

本节阐述几个小技巧让开发更加简单。

1. 代码提示信息

在最近的matlab版本中,代码集成编辑器可以自动反馈可能出现的错误和优化建议。这些提示对学习matlab和优化代码很有帮助。

for k = 1:NumTrials
r = rand;
x(k) = runsim(r);
end
可能,编辑器在runsim下有红色波浪线。这时将鼠标停在波浪线上,matlab会自动显示对这段代码的反馈信息。

或者选择Tools    ->    M-Lint    ->    Show M-Lint Report查看全部提示。

2. 代码组织结构

2.1 每个工程使用独立文件夹

这样能够保持相关文件都在一起,简化备份复制工程文件。

2.2 每个文件开头写清注释,特别是注释的第一行

文件开头注释的第一行又叫H1comment。它的作用是当你输入help(cd)时,会得到所有工程文件的列表和它们的H1comments。

2.3 将常用的命令行输入的代码写成脚本

如果发现重复输入一些命令,不如把这些代码写成脚本文件,节约时间并防止自己打错命令。


3. 避免丢失数据


3.1 不要在脚本中使用clear all命令

这是一个能让你触霉头的命令。任何在基本工作空间中存在的重要的变量都会不可挽回地消失。


3.2 小心多个操作对同一变量的修改



此时,result便把与input1有关的结果丢弃了。


3.3 小心能使matlab崩溃的东西

虽然matlab本身很可靠,但是一些第三方的mex函数或是过度的内存操作能够使matlab崩溃。

尤其是处理视频以及大规模的矩阵的时候。

在拥有良好的代码书写规范的前提下,我们开始讨论如何写高质量的matlab代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: