Matlab基本语法8

程序调试和编程技巧

在编写matlab程序时,难免会出现错误,这时就需要对程序进行调试。matlab中,m文件调试主要有两种方法:直接调试法和工具调试法。

拼写错误:系统会提示错误。

语法错误:比如6/0,输出结果为无穷大inf。陈小古在运行时不一定会报错,但是输出结果不正常。

逻辑错误:这样的错误非常隐蔽,通常是对程序的算法考虑不周全,程序可以正常执行,但是输出结果不符合预期值。

对于不是很复杂的程序,额可以使用直接调试法进行程序的调试。

1.如果程序出错或者给出警告信息,仔细分析出错或警告信息,会得到出错的原因。

2.在程序中,利用函数disp()将函数M文件的中间结果显示出来。

3.在一个函数M文件中,可以将该函数M文件修改为脚本M文件进行调试。

4.将程序的某些行通过注释进行屏蔽,在程序行的前面输入注释符%。

5.在程序中调试的地方添加keyboard函数。

可以采用Debugger工具在图形窗口中进行程序的调试

1.命令行为主的调试

在命令行窗口中输入help debug可以查看调试命令

2.图形化程序调试



1.错误处理

在程序运行过程中,如果遇到警告或错误,需要进行处理,在matlab中,可以采用try...catch语句进行捕捉错误,可以利用函数error()发出错误信息,利用函数warning()发出警告信息。

2.m文件性能分析

在matlab中,通过程序的调试,可以改正程序中的语法错误和逻辑错误等。程序体哦啊是结束后,用户编写的matlab程序就可以正常运行了,旦可能并不是最优的,运行效率也不是最好的。这就需要对matlab程序的性能进行分析,并进行优化。

matlab提供的m文件分析工具包括code analyzer和profiler工具,他们都有图形操作界面,使用起来还是非常方便的。

3.编程技巧

(1)计时:采用函数tic和toc进行计时,使用函数etime进行计时,利用cputime进行计时

(2)防止程序进入死循环

(3)如果必须使用多重循环,但是两个循环执行的次数不同,建议在外循环次数少的,内循环执行循环次数多的

(4)对于大型矩阵,如果预先定义维度,则会减少程序的执行时间,提高程序的运算效率

(5)在百年城程序时,有限考虑matlab的内在函数

原文发布于微信公众号 - 瓜大三哥(xiguazai_tortoise)

原文发表时间:2017-12-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ml

web基础之Structs(一篇)

为什么有 struts 框架 Struct 的优点之处: 1.       struct的好处 2.       程序更加规范化 3.       程序的可...

3848
来自专栏Python、Flask、Django

python中用requests获取API参数

2096
来自专栏漫漫全栈路

ASP.NET MVC学习笔记05模型与访问数据模型

上一篇使用的M模型,并不是真正意义上的Model,现在来添加一些类,并将这些类用来管理数据库中数据(电影)。而这些类,就是ASP.NET MVC中的Model...

2984
来自专栏张戈的专栏

Linux系统监控、诊断工具之top命令详解

暂时没有写作灵感,就整理一些 Linux 基础知识好了,方便自己查阅,同时也是温故而知新嘛~! 在张戈博客,同样很有用的知识性博文还有以下几篇,也许你也会比较感...

4469
来自专栏H2Cloud

C++ 多线程编程总结

C++ 多线程编程总结          在开发C++程序时,一般在吞吐量、并发、实时性上有较高的要求。设计C++程序时,总结起来可以从如下几点提高效率: l ...

3776
来自专栏性能与架构

计算每个请求的平均响应时间

目的 找出是哪些请求长期影响了系统性能 方法 web服务器的日志会记录每个请求的响应时间,分析访问日志,对相同请求的响应时间进行累加,响应时间的和 除以 这个请...

4445
来自专栏技术碎碎念

OS存储器管理(一)

存储器的层次: 分为寄存器、主存(内存)和 辅存(外存)三个层次。 主存:高速缓冲存储器、主存储器、磁盘缓冲存储器,          主存又称为可执行存储...

3929
来自专栏用户2442861的专栏

深入剖析Socket实现

http://blog.csdn.net/zapldy/article/details/5813984

1112
来自专栏王小雷

Python之pandas数据加载、存储

Python之pandas数据加载、存储 0. 输入与输出大致可分为三类: 0.1 读取文本文件和其他更好效的磁盘存储格式 2.2 使用数据库中的数据 0.3 ...

2467
来自专栏决胜机器学习

数据库专题(五) ——Memcached技术

数据库专题(五)——Memcached技术 (原创内容,转载请注明来源,谢谢) 一、Slab分配算法保存数据 Memcached默认只能用1M...

2805

扫码关注云+社区

领取腾讯云代金券