matlab程序调试方法步骤

这篇具有很好参考价值的文章主要介绍了matlab程序调试方法步骤。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1内容

      1)代码内调试;

  2)断点调试方法;

  3)指令调试方法;

二、断点调试方法

       调试代码最经典的就是利用设置断点的方法,此处给出对应快捷键:

F12:设置/取消 断点

F10:单步执行

F11:单步执行,且碰到function跳入函数内执行,F10则不会跳入,这是二者的明显区别

Shift + F11:跳入function之后,通过该指令推出function

F5:执行相邻两次断点见的所有指令,如:断点在for循环中,则F5一次,循环执行一次

Shift + F5:退出断点调试 。

三、指令调试方法

     A-keyboard +(return)

  经常碰到一些情况,如:矩阵相乘A*B时(假设A已知,B需要运算得出),矩阵B的size难以确定,是用A*B还是A'*B难以确定,可不可以先计算B,运算完之后观察B的特性,再确定用A还是A‘?keyboard可以解决这个问题。

  keyboard顾名思义,就是键盘的意思,即:把控制权交给键盘。执行程序的过程中,把控制权交给键盘,如何再重新返回程序呢?因此:

keyboard 与 return

通常联合使用。如执行:

max_eig = max( eig(G'*pinv(F)*G) ); 
  但难以确定G还是G’,利用keyboard则可以修改为:

keyboard
P_tmp = real(m+1 - max_eig);
  在进入K>> 之后,此时已经可以观察F、G的size,因此在Command Windows输入:

max_eig = max( eig(G'*pinv(F)*G) );
return;
  即可保证程序顺利执行。

  B-try + (catch) +end

  我们知道,matlab的代码是按行执行的,如果碰到错误行,则程序中断。try..catch可以使得可能出错的代码不影响后面代码的继续执行,也可以检查,排查,解决程序的一些错误,增强代码的鲁棒性和可靠性。

try ... end

try...end用于尝试运行一段也许可能出错的代码,比如:

m = rand(3,4);
n = magic(5);
try
    a = m*n;
    disp(a)
end
disp(m)
  这段代码里面,a = m*n运行会出错,不满足矩阵乘法的原则。所以,a = m*n和disp(a)不执行,但后面的disp(m)亦然会执行。

try...catch...end

try...catch...end用于检查错误,如

m = rand(3,4);
n = magic(5);
try
     a = m*n;
     disp(a)
catch
     disp(size(m))
     disp(size(n))
end
disp(m)
  这里面,当程序碰到 a = m*n;错误后,就会跳转到catch里面的语句,继续执行,有点类似于if...else...end。

dbstop in file

  在.m文件中,插入dbstop in file指令,如下面这段程序,我们在其中加入了dbstop in VMD,其中VMD是一个function:

load './data/Gdpyear.mat'
data=data-mean(data);%去均值,即数据中心化
dbstop in VMD
t=linspace(1992.0,2016.5,length(data)); %设定x轴
for st=1:9
    K=st+1;
    [u, u_hat, omega] = VMD(data, length(data), 0, K, 0, 1, 1e-5);
    u=flipud(u);文章来源地址https://www.toymoban.com/news/detail-601635.html

到了这里,关于matlab程序调试方法步骤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包