小明同学 发表于 2017-3-11 13:54:31

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

本帖最后由 小明同学 于 2017-3-11 14:05 编辑

                                                                                                

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

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

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

如果对一些快捷键比较熟悉,那么能减少多余的操作步骤:争取把精力尽量集中在算法调试上,而不是软件操作本身,以提高效率。

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


1. 屏蔽大段程序:Ctrl+r
调试程序时,经常需要屏蔽掉一整段程序,也就是将其标注释符%。

比如下面这段程序共有三段,需要完全屏蔽第二段:
%清除所有变量
clear
clc

% 建立图片存储文件夹
% if exist('doggyphoto','dir')~= 7
%    mkdir()
% end
% directory=;

%设置一个界面
hf = figure('Units', 'Normalized', 'Menubar', 'None','NumberTitle', 'off', 'Name', '控制');
ha = axes('Parent', hf, 'Units', 'Normalized', 'Position', );
axis off
axis equal



常用的方法有两种:
(1) 第一种是用if 0的方法:
在段首加 if 0,段尾加 end,这样中间都不会被执行,相当于注释掉了,比如在第二段进行如下操作:%清除所有变量
clear
clc

% 建立图片存储文件夹
% if exist('doggyphoto','dir')~= 7
%    mkdir()
% end
% directory=;

%设置一个界面
hf = figure('Units', 'Normalized', 'Menubar', 'None','NumberTitle', 'off', 'Name', '控制');
ha = axes('Parent', hf, 'Units', 'Normalized', 'Position', );
axis off
axis equal


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

(2) 第二种是用块注释符号%{和%}的方法:
输入%{后,后面的代码都会变成绿色,在注释结束的地方再加上 %} ,比如在第二段进行如下操作:
if 0
if exist('doggyphoto','dir')~= 7
   mkdir()
end
directory=;
end


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

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



用鼠标选中需要注释的行,按Ctrl+r,选中的第二段就变为注释了:
% 建立图片存储文件夹
% if exist('doggyphoto','dir')~= 7
%    mkdir()
% end
% directory=;
取消注释也是类似的,用鼠标选中已经注释的行,按Ctrl+t,选中的这些行就被解除注释了:
%建立图片存储文件夹
if exist('doggyphoto','dir')~= 7
   mkdir()
end
directory=;




2. 自动对齐程序:Ctrl+i
写m文件时,可能有许多if……end,for……end语句。

有时候缩进没有调好,程序不太好看,比如下面这个:
%建立图片存储文件夹
if 0
if exist('doggyphoto','dir')~= 7
   mkdir()
end
directory=;
end


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


选中某段程序内容,按下Ctrl+i,可 让matlab自动对齐程序:
%建立图片存储文件夹
if 0
    if exist('doggyphoto','dir')~= 7
       mkdir()
    end
   directory=;
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。



转载自:3M君
                  

阿森纳 发表于 2017-3-16 06:13:57

沙发!沙发!

奋勇杀敌 发表于 2017-3-16 10:43:20

有道理。。。

天籁 发表于 2017-3-18 12:48:15

我抢、我抢、我抢沙发~

月中真情 发表于 2017-3-18 19:30:35

小手一抖,钱钱到手!

王教授 发表于 2017-3-20 17:53:35

这个是好东东啊

科研小能手 发表于 2017-3-21 01:22:37

小手一抖,钱钱到手!

清风扶露 发表于 2017-3-21 09:47:27

没看完~~~~~~ 先顶,好同志

幸福来敲门 发表于 2017-3-22 12:09:18

越来越想学论文作图了

倾城月光淡如水 发表于 2017-3-22 12:51:18

这个是好东东啊
页: [1] 2
查看完整版本: 最常用的10个Matlab快捷键,助你编程更高效