周一课堂◇MATLAB必备知识

少年,MATLAB了解一下?

什么是MATLAB

MATLAB 是美国MathWorks公司出品的一款商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。中文名矩阵实验室(Matrix Laboratory),功能足够强大,操作便捷,易学易用。是理工学习居家旅行的必备良品。

MATLAB是由C语言写成的,不同在于它使用的是解释语言。除了具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。随着版本的不断更新,其功能也在不断加强,也有使用者会加入自己开发的工具。

MATLAB为何实用

首先,我们来了解一下什么是Simulink。

Simulink是MATLAB中的一种可视化仿真工具, 是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包。也是一款商业软件,当然,仿真软件有很多,而Simulink主要运用于工程领域时,其功能完善而强大。

比如,它可运用于无线通讯、电机和电源控制、控制系统、信号处理、机器人、物联网和图像处理等多种领域的项目研究。

可以说,MATLAB的仿真功能是让它脱颖而出的利器之一,也是让它脱离“语言”限制,成为一款更普及大众的工具。

(以上内容可忽略!!!)

稍等,听完这个是不是头都大了?让我们来换个说法:

其实就是这个工具极易上手。使用MATLAB的过程中可以发现它对语言的要求较之于C语言更为宽松。

MATLAB使用注意事项

1、退出MATLAB系统,常见方法有:

1)在MATLAB主窗口File菜单中选择Exit MATLAB命令。;

2)在MATLAB命令窗口输入Exit或Quit命令;

3) 单击MATLAB主窗口的关闭按钮。

2、查询函数功能:

1)help,在命令行窗口直接输入help命令,回车即可看到matlab软件中的基本命令语句的信息;

2)lookfor ,搜索出一系列与给定关键词相关的命令和函数。

3、命名规则:

1)变量:小写字母开头,采用大小写混用模式或下划线分割模式。用C++进行编程时,经常用到类和指针,用户在查找类的成员函数或者成员变量使,不可能把所有的类成员记得清清楚楚,一般是先输入类成员的首字母或开始几个字母,然后根据编辑器的下拉列表框,寻找需要的类成员。于是大家约定,所有的类成员均以小写子母开头,以方便类成员的查找。

(1)临时变量:临时变量的的变量名应该尽量短。习惯上,m,n, i, j, 表示int类型的临时变量;c,ch等表示字符类型的临时变量;a表示临时数组 ;

(2) 前缀m或者n通常用于申明数值对象,m代表matrix,n代表number;

(3) 前缀p表示指针;前缀str表示字符串;前缀st表示枚举、结构或者联合体;前缀b表示布尔型变量;

(4) 表示对象与对象集合的变量名,不要仅仅只相差一个后缀‘s’,应该在后面加一个Array;

(5) 尽量避免变量名一数字区别、以大小写区别或者加以s区别,避免容易混淆;

(6) 只表示单个实体数据的变量, 可以添加前缀i或后缀No;

(7) 循环变量应该以i、j或者k为前缀,应i和j作为循环变量;

(8) 布尔变量应该禁止使用否定式的变量名;

(9) 缩写形式即使全部为大写字母,在变量命名时也应该与小写字母混合使用。

2)常量:

(1)常量名、全局变量名、永久变量名应该全部采用大写字母,且下划线分割单词;

(2)可以采用对象的类型名作为前缀;

(3)结构体:

1)结构体名应该以大写字母开头。这样约定是为了与普通变量名加以区别;

2)结构体的字段名不需要包含结构体名的含义。

3)函数:

(1)MATLAB中定义的大部分系统函数都是采用纯小写字母作为函数名的,新版MATLAB部分函数会采用小驼峰命名法(第一个单词以小写字母开头;第二个单词的首字母大写)来命名,如前面讲到的matlabfFunction函数;

(2)函数名应该有意义;

(3)所有的函数命名应该采用英文的形式,禁止使用汉语拼音;

(4)单输出参数的函数,可以根据输出参数的含义来命名;

(5)前缀get和set作为访问GUI对象的保留前缀;后缀get和set作为位运算的保留后缀;

(6)前缀find具有查询功能的函数;前缀compute用于具有计算功能的函数;前缀initialize用于具有初始化对象功能的函数;前缀is用于布尔函数,iscell。

4)文件与结构:

(1)模块化设计。不同的功能分为不同的模块,单独进行设计;

(2)函数之间尽量采用输入输出参数进行通信。单输入参数较多时,考虑采用结构体;

(3)多处出现的额代码块,要考虑封装在一个子函数,写在同一个文件中;

(4)只被另外一个函数调用的函数,应该作为一个子函数,写在同一个文件中。

4、基本语句:

总体原则:避免使用含糊代码。代码不是越简洁越好。

1) 在文件开始的注释处,为重要的变量编写文档;

2) 在常量定义处,为 该常量编写注释;

3) 尽量少的使用全局变量。全局变量过多,不利于代码的维护和阅读;

4) 浮点数的逻辑运算要当心系统误差。

(2)常数:

尽量在表达式少用数字,可能会改变的数字用常数代替,便于程序的修改。浮点数应该在小数点前写上0.

(3)循环语句:

不要在循环语句中扩展数组的维数。循环中尽量少用break和continue,以增强代码的可读性。嵌套循环时,应该在每个end添加注释,注明该层循环完成什么功能。

避免使用复杂的条件表达式,而采用临时逻辑变量代替。

if-else中,频繁事件要放在你if的部分,偶尔事件放在else部分。

switch应该包含otherewise条件,以避免出现不可预料的错误。switch变量应该是字符串。

预分配数组空间,即先给数组分配好空间在使用。给数值型数组分配空间,优先使用zeros和ones;给单元数组分配空间,使用cell;给结构体分配空间,使用struct;扩充数组,使用repmat。

优先使用MATLAB内建函数,件好事的循环编写成MEX文件(C语言处理的快可以获得加速)。

4)合理使用空格:

逗号、分号的后面加空格,而在函数名后不能加空格;关键字后面加空格。据此可以区分关键字和函数。块内部的1个逻辑组语句前后用空白行分开块之间用多个空白行隔开

(5)注释:

1)注释应该简介易懂;

2)函数头部的注释应该支持lookfor和help的对函数的查询,因此该行的注释中应该包含尽可能多的关键字;

3)函数头部的注释应该描述函数的功能,并能列出输入参数不同时该函数的语法和功能;

4)在函数头部的注释中,建议该函数的函数名全部大写;

5)在函数头部的注释中,最后要加上版权申明和程序版本;

6)函数头部的注释建议全部用英文。

一行代码写多条执行语句,不仅影响代码的美观,更会减慢代码的运行速度。

5、 应该遵循五条规则:

1)应该避免使用循环:优先考虑用向量化的运算来代替循环操作;(当然应该具体问题具体分析)2.在必须使用多重循环时,循环次数少的放在外层,循环次数多的放在内层;

2)预分配数组空间预分配数组空间,即先给数组分配好空间在使用。给数值型数组分配空间,优先使用zeros和ones;给单元数组分配空间,使用cell;给结构体分配空间,使用struct;扩充数组,使用repmat;

3)优先使用MATLAB内建函数,将循环编写成MEX文件(C语言处理的快可以获得加速);

4)尽量使用函数而不要使用脚本。脚本文件转换为函数文件的方法很简单,就是在文件的开头加一行无输入参数和输出参数的函数声明即可;

5)仔细检查代码中有波浪线提示的部分

南航自动化科协

图文编辑:陈梦菂

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180402B1VLXY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动