如何更有效的调试运行MATLAB程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更有效的调试运行MATLAB程序相关的知识,希望对你有一定的参考价值。

参考技术A 可以在editor里面进行调试运行。
写好代码以后,运行的话可以直接单击editor菜单里面的run。
调试的方法就多种多样了:
1、可以把先不想运行队部分加上注释,着重运行需要调试的部分。
2、用%%把代码分块,用run
section分块运行。
...
参考技术B mathematica
使用的是notebook,文件后缀名是.nb。matlab使用的是m文件,文件后缀名是.m。
不同的文件规范,不能直接运行,但是我想可以调用程序。

第1章 Eclipse断点调试

1.1 Eclipse断点调试概述
Eclipse的断点调试可以查看程序的执行流程和解决程序中的bug
1.2 Eclipse断点调试常用操作:
A:什么是断点:
就是一个标记,从哪里开始。
B:如何设置断点:
你想看哪里的程序,你就在那个有效程序的左边双击即可。
C:在哪里设置断点:
哪里不会点哪里。
目前:我们就在每个方法的第一条有效语句上都加。
D:如何运行设置断点后的程序:
右键 -- Debug as -- Java Application
E:看哪些地方:
Debug:断点测试的地方
在这个地方,记住F6,或者点击也可以。一次看一行的执行过程。
Variables:查看程序的变量变化
ForDemo:被查看的源文件
Console:控制台
F:如何去断点:
再次双击即可
找到Debug视图,Variables界面,找到Breakpoints,并点击,然后看到所有的断点,最后点击那个双叉。
1.2.1 案例代码一:

package com.itheima;

/*
 * 断点调试:
 * A:查看程序的执行流程
 * B:调试程序
 *
 * 断点:
 * 其实就是一个标记
 *
 * 在哪里加呢?
 * 想加哪里就加哪里,一般是加在我们看不懂的地方
 *
 * 如何加呢?
 * 在代码区域的最左边双击即可
 *
 * 如何运行加断点的程序呢?
 * 代码区域 -- 右键 -- Debug as -- Java Application
 * 会弹出一个页面让我们选择是否进入debug模式,选择yes。
 *
 * 如何让程序往下执行呢?
 * Step Over 执行下一步
 * F6
 *
 * 看那些区域呢?
 * 代码区域:看程序的执行步骤
 * Debug区域:看程序的执行步骤
 * Variables:看变量的创建,赋值,销毁等
 * Console:看程序的输入和输出
 *
 * 如何去除断点:
 * A:把加断点的动作再来一遍
 * B:在debug视图中,找到Breakpoints,选中断点,点击双x即可
 */
public class DebugDemo {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = a + b;
System.out.println(c);
}
}

技术分享图片
技术分享图片

1.3 断点调试练习1.3.1 案例代码二:

package com.itheima;

/*
 * 需求:看循环的执行流程(1-5求和案例)
 */
public class DebugTest {
public static void main(String[] args) {
// 定义求和变量
int sum = 0;

// 循环获取每一个数据
for (int x = 1; x <= 5; x++) {
sum += x;
}

System.out.println("sum:" + sum);
}
}

技术分享图片

1.3.2 案例代码三:

package com.itheima;

import java.util.Scanner;

/*
 * 需求:看方法的调用流程
 *
 * 有方法调用的时候,要想看到完整的流程,每个方法都要加断点,建议方法进入的第一条有效语句加断点
 */
public class DebugTest2 {
public static void main(String[] args) {
// 创建对象
Scanner sc = new Scanner(System.in);

// 接收数据
System.out.println("请输入第一个数据:");
int a = sc.nextInt();

System.out.println("请输入第二个数据:");
int b = sc.nextInt();

// 调用方法
int result = sum(a, b);

// 输出结果
System.out.println("result:" + result);
}

// 求和方法
public static int sum(int a, int b) {
return a + b;
}
}

1.3.3 案例代码四:

package com.itheima;
/*
 * 参数是基本数据类型:
 * 形式参数的改变不影响实际参数。
 */
public class DebugTest3 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a:" + a + ",b:" + b);
change(a, b);
System.out.println("a:" + a + ",b:" + b);

}

public static void change(int a, int b) {
System.out.println("a:" + a + ",b:" + b);
a = b;
b = a + b;
System.out.println("a:" + a + ",b:" + b);
}
}

1.3.4 案例代码五:

package com.itheima;

/*
 * 参数是基本数据类型:
 * 形式参数的改变不影响实际参数。
 */
public class DebugTest3 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a:" + a + ",b:" + b);
change(a, b);
System.out.println("a:" + a + ",b:" + b);
}
public static void change(int a, int b) {
System.out.println("a:" + a + ",b:" + b);
a = b;
b = a + b;
System.out.println("a:" + a + ",b:" + b);
}
}

以上是关于如何更有效的调试运行MATLAB程序的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB课程设计心得

调试和运行matlab代码(源程序)的技巧和教程

matlab借助vs调试C程序

如何在Linux平台下的MATLAB中调试.CU文件

Matlab调试器在崩溃后显示变量

有没有办法在Visual Studio或MATLAB中“映射”程序执行顺序?