最常用的10个Matlab快捷键,助你编程更高效

2016-12-31

在使用Matlab进行编程时,有时可能需要不少时间。花时间的地方主要有两点:

 

(1) 一方面在于调试算法的脑力劳动,比如检查算法是否解决了实际问题、程序是否优化等;

 

(2) 另一方面则在于操作软件的体力劳动,比如检查语法错误、大段注释程序以进行测试等。

 

如果对一些快捷键比较熟悉,那么能减少多余的操作步骤:

争取把精力尽量集中在算法调试上,而不是软件操作本身,以提高效率。

 

下面锋初君将自己常用的一些快捷键列出来,供大家参考,遗漏的地方欢迎留言补上。 

 

1. 屏蔽大段程序:Ctrl+r

调试程序时,经常需要屏蔽掉一整段程序,也就是将其标注释符%

 

比如下面这段程序共有三段,需要完全屏蔽第二段:

 

%清除所有变量

clear

clc

 

建立图片存储文件夹

% if exist('doggyphoto','dir')~= 7

%    mkdir([cd,'/doggyphoto'])

% end

% directory=[cd,'/doggyphoto/'];

 

%设置一个界面

hf = figure('Units''Normalized''Menubar''None','NumberTitle''off''Name''控制');

ha = axes('Parent', hf, 'Units''Normalized''Position', [0.125 0.2 0.75 0.75]);

axis off

axis equal

 

常用的方法有两种:

(1) 第一种是用if 0的方法:

在段首加 if 0,段尾加 end,这样中间都不会被执行,相当于注释掉了,比如在第二段进行如下操作:

 

if 0

if exist('doggyphoto','dir')~= 7

   mkdir([cd,'/doggyphoto'])

end

directory=[cd,'/doggyphoto/'];

end

 

但缺点是不够直观,注释掉的内容仍然保持代码的颜色。

 

(2) 第二种是用块注释符号%{%}的方法:

输入%{后,后面的代码都会变成绿色,在注释结束的地方再加上 %} ,比如在第二段进行如下操作:

 

%{

if exist('doggyphoto','dir')~= 7

   mkdir([cd,'/doggyphoto'])

end

directory=[cd,'/doggyphoto/'];

}%

 

但缺点是只有在高版本的Matlab里面才能用。

 

最合适和最方便的方法还是用Ctrl+r快捷键的方法:


用鼠标选中需要注释的行,按Ctrl+r,选中的第二段就变为注释了:


建立图片存储文件夹

% if exist('doggyphoto','dir')~= 7

%    mkdir([cd,'/doggyphoto'])

% end

% directory=[cd,'/doggyphoto/'];


取消注释也是类似的,用鼠标选中已经注释的行,按Ctrl+t,选中的这些行就被解除注释了

 

%建立图片存储文件夹

if exist('doggyphoto','dir')~= 7

   mkdir([cd,'/doggyphoto'])

end

directory=[cd,'/doggyphoto/'];

  

2. 自动对齐程序:Ctrl+i

m文件时,可能有许多if……endfor……end语句。

 

有时候缩进没有调好,程序不太好看,比如下面这个:

 

%建立图片存储文件夹

if 0

if exist('doggyphoto','dir')~= 7

   mkdir([cd,'/doggyphoto'])

end

directory=[cd,'/doggyphoto/'];

end

 

end很多的时候,很难看清楚end对应的是哪个命令。


选中某段程序内容,按下Ctrl+i,可 matlab自动对齐程序:

 

%建立图片存储文件夹

if 0

    if exist('doggyphoto','dir')~= 7

       mkdir([cd,'/doggyphoto'])

    end

   directory=[cd,'/doggyphoto/'];

end

 

这样程序看起来很有层次,也更容易发现程序中的错误。 

 

3. 直接跳至某行:Ctrl+g

当程序源代码很长时,可能有几百上千行。

 

有时错误出现在很后面的地方,需要用鼠标中间的滚轮往下滚很久,才能滚到想要的那一行。


这时,Ctrl+g,就会跳出一个对话框,输入想要去的那一行的行号,就可以直接跳过去了,如下:

 

4. 设置标签:Ctrl+F2

有时候发现程序某行有点问题,但不知道该怎么解决。

 

然而也不能一直停在这个位置,需要往下继续写。

 

等写完所有的程序,再回头来解决有问题的这一行。

 

这样,就需要把这行先标注一下,以免待会回来时,已经忘记是那一行了。


Ctrl+F2,可标注这一行,被标注的这一行行号后面有个蓝色的圆方框,比如


再按一次Ctrl+F2,就可以解除已经标注的方框。

 

另外,要寻找下一个被标注的位置时,不需要手动滚轮和目测寻找,只需要F2即可自动跳到下一个被标注的位置,按Shift+F2是自动跳到上一个被标注的位置。

 

5. 设置断点:F12

测试程序时,有时需要设置断点,程序会在断点处停止运行。设置断点的方法有两种:

 

(1) 点击在要设置断点的行左侧的-

 

(2) 可按F12设置断点。

 

可以看到某行被设置为断点后,该行行号后面的-变成了圆圈: 


 

条件断点在debug菜单下的set/modify conditional breakpoint进行设置。


如果需要解除断点,点击已设置断点处的语句,按F12可取消。

  

6. 运行:F5

 

F5可保存并直接运行程序。

 

这样就不用在主窗口再重新敲一遍命令了。

 

另外,设置断点后按F5运行程序,会在断点处停止运行,按F10可以单步运行调试。

 

7. 自动补全命令:Tab

 

当在命令窗口输入命令时,有时命令的名称可能记得不太清楚。

 

这时,可以输入命令开头的几个字母,然后按Tab键。

 

当只有一个以这些字母开头的命令时,将自动补全命令名。


如果有多个以这些字母开头的命令时,将会显示一个命令名列表,方便从中选择,比如:

 


8. 再现历史命令:上下光标键↑↓

 

在命令窗口中,上下光标键可以调用Matlab最近使用过的历史命令,便于快速重新执行。

 

如果输入命令的前几个字母,再使用光标键,则只会选择以这些字母开始的命令。

 

上下箭头寻找此前和此后输入的命令,每次一条。

 


9. 强制中断运行:Ctrl+c

如果程序不小心进入了死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来强制中断。


当然,有些时候Matlab可能响应很慢,这时候就只能用任务管理器结束掉它。

  

10. 退出:Ctrl+q

Ctrl+c只是强行退出运行的程序,并不是关掉Matlab

 

如果要快速退出Matlab,则需要按Ctrl+q

本网站由阿里云提供云计算及安全服务