%% 异常捕获(让自己早点发现)
matlab的代码是按行执行的,如果碰到错误行,则程序中断,try…catch…end可使可能出错的代码不影响后面代码的继续执行,也可以检查,排查,解决程序的一些错误,增强代码的鲁棒性和可靠。
MATLAB中关于try…catch…end的用法
我们知道,matlab的代码是按行执行的,如果碰到错误行,则程序中断。try…catch
可以使得可能出错代码不影响后面代码的继续执行,也可以检查,排查,解决程序的一些错误, 增强代码的鲁棒性和可靠性。
%% 1、try...end %%try...end用于尝试运行一段也许可能出错的代码,比如:
% 这段代码里面,a = m*n运行会出错,不满足矩阵乘法的原则,try...end中间的语句不会执行
m = rand(3,4);
n = magic(5);
try
a = m*n;
disp(a);
end
disp(m);
%% 2、try...catch...end
m = rand(3,4);
n = magic(5);
try
a = m*n; %当程序碰到 a = m*n;错误后,就会跳转到catch里面的语句,继续执行,有点类似于if...else...end
disp(a);
catch
disp('查看两个矩阵的行数和列数')
disp(size(m));
disp(size(n));
end
disp('m=');
disp(m);
disp('n=');
disp(n);
%% 3、try...catch err...end用于检查错误
m = rand(3,4);
n = magic(6);
try
a = m*n;
disp(a)
catch err
disp(size(m))
disp(size(n))
end
disp('m=');
disp(m);
disp('n=');
disp(n);
%% 4、try里面没有报错,就跳过catch里面的语句
m = rand(6,6);
n = magic(6);
x='两个矩阵乘法的结果是a=';
try
a = m*n;
disp(x);
disp(a);
catch
disp(size(m));
disp(size(n));
end
disp('m=');
disp(m);
disp('n=');
disp(n);
%%
%在写matlab程序时,如果一行代码太长,不利于可读性和美观,那么我们可以使用三个点号(...)来实现换行。续行符
%% 附加知识
% 本文以matlab R2013a为例介绍相应的注释技巧,话不多说,见干货:
%
% 一、鼠标或键盘操作:
%
% 选中你要加注释的内容,右键单击选择“comment”(注释),快捷键操"Ctrl+R"。(绿色显示)
%
% 把注释变为代码语句,同样选中要转变的语句,然后右键单击选择“uncomment”(取消注释)即可,快捷键操"Ctrl+T"。
%
% 二、注释块操作:
% 采用matlab块注释方法
% %{
% 需要注释不执行的若干代码行(绿色显示)
% %}
% 三、判断语句操作:
% 在注释段前面加一行:if ZHUSHI(0)
% 在注释段后面加一行:end
%
%
%
% 这个方法通过逻辑判断语句决定是否执行相关的代码语句,因此相应的代码行颜色不会变成注释色——绿色。
%
%
%
% 注意:“ZHUSHI”名字随便起,如果感觉麻烦可以不写,直接写“0”,如:
%
% if 0
%
% 注释代码
%
% end
%% 附加调试技巧
% 双%%的作用:代码分块运行,点击双%%之间的代码,再点Run Section(执行当前节),就可以分块运行代码了,这样更方便调试。
% 因为%%在matlab代码中的作用是将代码分块,上下两个%%之间的部分作为一块,在运行代码的时候可以分块运行,查看每一块代码的运行情况。常用于调试程序
% 分块运行的方法有两种:
% 第一种,将光标放置在要运行的那一块中,然后在工具栏中选择运行节,英文为Run Section;
% 第二种,将光标放置在要运行的那一块中,直接按Ctrl+Enter也可以实现分块运行;
%% 附加调试技巧
% 双%%的作用:代码分块运行,点击双%%之间的代码,再点Run Section(执行当前节),就可以分块运行代码了,这样更方便调试。
% 因为%%在matlab代码中的作用是将代码分块,上下两个%%之间的部分作为一块,在运行代码的时候可以分块运行,查看每一块代码的运行情况。常用于调试程序
% 分块运行的方法有两种:
% 第一种,将光标放置在要运行的那一块中,然后在工具栏中选择运行节,英文为Run Section;
% 第二种,将光标放置在要运行的那一块中,直接按Ctrl+Enter也可以实现分块运行。
版权声明:本文为weixin_40933653原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。