转载请标明出处:专注matlab代码下载的网站http://www.downma.com/

本文主要给大家分享使用matlab编写代码,完成课程设计、毕业设计或者研究项目时,matlab调试程序的技巧和方法。

快速完成一个项目,最简单的方法就是利用前人的开源代码,然后根据自己项目的具体需求和参数,对已有代码进行调试,并增加或删减部分功能,最终实现自己项目的全部功能。所谓“站在前人的肩膀上”。

闲话少叙,我们先从最基本的matlab软件安装开始,已经成功安装matlab软件的可以直接跳过。

1. 正确安装matlab软件

下载matlab软件

首先下载你想要安装的matlab安装文件,建议不要下载过于陈旧的版本,至少应该是matlab2010之后的版本。因为随着matlab版本的更新,增加了一些新的函数,并对不安全的函数使用进行了删除。部分代码的调试,可能由于过于陈旧的matlab版本,可能导致调试报错。

另外,请大家支持正版,在官网购买matlab软件或者使用其30天免费试用版

当然购买官方正版比较适合商业应用,对于学生和科研用途,购买费用恐怕难以接受。请自行下载破解版。

安装matlab软件

下载软件后的安装方法比较简单,这里不再赘述,请大家移步百度经验,搜索“matlab安装”,会有简单明了的安装教程。

安装matlab的路径,建议没有中文字符或者空格。这样可以尽最大可能减少程序运行时,由于中文路径不识别导致的错误。

2. 下载的代码包里的文件都是干什么的?

当我们从网络上下载matlab的源代码时(例如:专注matlab代码下载的网站www.downma.com),得到的通常是代码的压缩包,里面包括很多各种后缀的文件。他们都是什么文件呢,都是干什么用的?

m后缀的文件:这是matlab代码的最常用后缀,就像C++的常用后缀是cpp一样。只要看到.m文件,你就知道这个是matlab的代码。和C++不同的是,很多matlab的自定义函数,也是单独定义在m文件中的。

fig后缀的文件:这个是matlab输出的绘图结果保存的文件,保存着各种仿真结果的曲线。此外,GUI的图形用户界面也是以fig文件的形式保存的。

asv后缀的文件:这个是matlab对用户编辑时间较长的m文件自动保存的文件。对代码的运行不起作用,是可以删除的。

mdl后缀的文件:Simulink是matlab的另外一个强大的仿真功能。与代码方式进行仿真的m文件不同,mdl文件主要是通过各种Simulink的模块,进行实时仿真的文件。

mat后缀的文件:mat文件是用来存储数据的,可以理解为matlab的小型数据库。保存形式类似于excel表格,可以直接加载到程序中,变成相应的变量,也可以作为程序输出结果的保存文件。

p后缀的文件:p文件是为了保护知识产权设计的一种加密文件,是不能查看的。其作用和m文件类似,封装了自定义函数,不可以删除。

txt、doc的文件:有一些代码包会同时携带说明文件,包括程序的用途和参数,还包括程序运行时的注意事项等。还有一些简单的matlab代码,直接保存到文档里。可以直接复制到matlab中,保存为m文件,进行调试和运行。

还要一些文件不是代码部分,而是程序要处理的源文件。例如,图片文件jpg,bmp,gif;视频文件avi;音频文件wav等。这些文件的位置不要轻易改变,否则会影响到程序对这些源文件的调用。

在有些情况下,代码包里还有一些cpp、h后缀的C++文件。这些代码通常是matlab和C++进行混合编程时使用。如果你的项目重点不是混合编程,忽略即可,但是不要删除。

3. 怎么正确启动主程序?

Matlab的工作目录设置

很多人都说,网上下载的代码怎么都运行不起来,各种报错?其实,是你的打开方式不对

最重要一点:你的“matlab当前工作目录”一定要是你下载的代码压缩包解压后的文件夹!因为通常matlab的默认工作目录,并不是你的代码所在文件夹。当然,你也可以把所有代码都解压到matlab的默认工作目录里。

怎么找到主程序文件?

如果你下载的代码具有图形用户界面GUI,那么通常情况下.fig文件就是这个代码的主程序,你只要在确保工作路径正确的情况下,在命令窗口输入xxx.fig,然后回车即可。这样用户界面就会弹出来了。

如果你下载的是Simulink模型代码,确保mdl文件在工作路径,然后在命令窗口输入Simulink,回车后即打开Simulink软件,打开mdl文件即可,然后点击调试运行mdl文件。此外,还直接运行mdl文件,在命令窗口输入sim(’xxxx.mdl’, Trange)其中Trange是仿真时间。

大多数情况下,你下载的是m文件组成的matlab仿真代码。这个时候,只要找到主程序的m文件,打开点击调试运行按钮即可(或者直接按F5或F9)。或者在命令窗口输入主程序的文件名,例如xxx.m或run xxx.m,回车即可运行。

当然,如何找到主程序m文件就至关重要了:

首先,如果代码包里提供了说明文档,请参照说明文档找到主程序。

如果代码包中没有说明文档指出哪个代码是主程序,通常可以通过m文件的命名方式判断。例如以main.mtest.m或中文命名的m文件就是主程序文件。

如果上面的方法不能帮你找到主代码文件,你就需要逐个m文件打开,通过代码的内容来判断是否是主代码了:

如果有m文件是以clear allclc等清空命令开始的,通常这个文件就是主程序文件;

如果有m文件的开始包含很多关于参数和程序用途的注释部分,通常这个文件就是主程序文件;

如果有m文件不是自定义函数,即不是以function开头的m文件,通常这个文件就是主程序。因为以function开头的多数情况下是自定义函数,仅作为被调用使用;

如果所有的m文件都是自定义函数,那就表示代码的主程序文件是以自定义函数的形式出现的。这个时候那个没有输入参数的自定义函数文件,就很有可能是主程序文件了;

如果所有的m文件都是自定义函数,而且都包含输入参数,很有可能你下载到的是一个工具箱,没有主程序,需要你根据需要自己编写主函数,调用这些自定义函数文件。

此外,使用自定义函数的m文件,一定不是把代码全部粘贴到命令窗口运行的,而是要使用参数调用的。

当然,主程序的m文件可能不止一个,也就是说代码包里包含多个不同功能的主程序。

4. 常见报错及解决方法

错误1:图片或声音文件不存在

当你运行主程序后,命令窗口提示类似unable to find file或者file xxx doesn’t exit的错误,通常是因为缺少图片或声音等源文件导致的。

例如作者在上传代码时,仅仅包含了代码部分,没有包含要处理的图片或声音文件,这时候会出现找不到文件的错误。我们找到代码中加载图片或声音文件的语句,例如imread、wavread等语句。然后根据需要的图片或声音文件,自己补充这个源文件。

错误2:函数不存在

当你运行主程序后,命令窗口提示类似Undefined function or method的错误,通过是某个自定义的函数文件丢失或者工作路径不正确导致的。你要反复确认这个自定义函数的m文件是否包含在matlab的工作路径内,然后确认当前版本的matlab软件是否自带该函数。

调试和运行matlab代码(源程序)的技巧和教程的更多相关文章

  1. 如何加速MATLAB代码运行

    学习笔记 V1.0 2015/4/17 如何加速MATLAB代码运行 概述 本文源于LDPCC的MATLAB代码,即<CCSDS标准的LDPC编译码仿真>.由于代码的问题,在信息位长度很长 ...

  2. gdb调试运行时的程序小技巧

    使用gdb调试运行时的程序小技巧 标签: 未分类 gdb pstack | 发表时间:2012-10-15 04:32 | 作者:士豪 分享到: 出处:http://rdc.taobao.com/bl ...

  3. 运行/调试你的PHP代码

    前言 没有任何一名程序员可以一气呵成.完美无缺的在不用调试的情况下完成一个功能或模块.调试实际分很多种情况.本篇文章我分享下自己在实际开发工作中的经验,我个人理解,调试分三种,注意我所讲的是调试并非测 ...

  4. 【原创】Matlab.NET混合编程技巧之直接调用Matlab内置函数

                  本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新    Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 在我的上一篇文章[ ...

  5. Matlab.NET混合编程技巧之——直接调用Matlab内置函数(附源码)

    原文:[原创]Matlab.NET混合编程技巧之--直接调用Matlab内置函数(附源码) 在我的上一篇文章[原创]Matlab.NET混编技巧之——找出Matlab内置函数中,已经大概的介绍了mat ...

  6. Eclipse 调试Bug之使用断点的七大技巧

    原文链接:http://xiaohuafyle.iteye.com/blog/1705494 调试竟然有这么多技巧,亏我以前竟不知道...   Eclipse这个开发工具为我们调试bug提供了非常便利 ...

  7. 【原创】Matlab.NET混合编程技巧之找出Matlab内置函数

                  本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新    Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 Matlab与.N ...

  8. Matlab.NET混编技巧之——找出Matlab内置函数

    原文 http://www.cnblogs.com/asxinyu/p/3295309.html Matlab与.NET的混合编程,掌握了基本过程,加上一定的开发经验和算法基础,肯 定不难.反之,有时 ...

  9. Matlab.NET混合编程技巧之——找出Matlab内置函数

    原文:[原创]Matlab.NET混合编程技巧之--找出Matlab内置函数 Matlab与.NET的混合编程,掌握了基本过程,加上一定的开发经验和算法基础,肯定不难.反之,有时候一个小错误,可能抓破 ...

随机推荐

  1. 笔记-java泛型详解

    首先,先说明一下,java泛型文章的出处:http://www.cnblogs.com/lzq198754/p/5780426.html 作为学习笔记保存. 1.为什么需要泛型 泛型在Java中有很重 ...

  2. 28款GitHub最流行的开源机器学习项目

    现在机器学习逐渐成为行业热门,经过二十几年的发展,机器学习目前也有了十分广泛的应用,如:数据挖掘.计算机视觉.自然语言处理.生物特征识别.搜索引擎.医学诊断.DNA序列测序.语音和手写识别.战略游戏和 ...

  3. 使用Identity Server 4建立Authorization Server (2)

    第一部分: http://www.cnblogs.com/cgzl/p/7780559.html 第一部分主要是建立了一个简单的Identity Server. 接下来继续: 建立Web Api项目 ...

  4. Linq Take和Skip详解

    Take()方法的作用就是:从查询结果中提取前n个结果. Skip()方法正好是Take()方法的反面,它可以跳过前n个结果,返回剩余的结果. 例如:查找年龄最大的3个人 表Student的数据是 N ...

  5. SQL Server 审计

    审计(Audit)用于追踪和记录SQL Server实例或数据库中发生的事件,审计主要包括审计对象(Audit)和审计规范(Audit Specification),创建审计首先需要创建一个SQL S ...

  6. 入门到熟练-Eclipse开发工具

    1. 概述 本文用于Eclipse说明开发功能的各种配置.希望可以帮助到对于Eclipse工具设置不同熟练的朋友,快速上手Eclipse开发工具. 2. Eclipse的配置 2.1. 设置Eclip ...

  7. Python学习--字典

    在Python中通过名字来引用值的数据结构称为映射(mapping).字典是Python中唯一内建(Python解释器本身支持,不需要import)的映射类型.字典中的值没有特殊的顺序,都存储在一个特 ...

  8. SQL SERVER 2012设置自动备份数据库

    为了防止数据丢失,这里给大家介绍SQL SERVER2012数据自动备份的方法: 一.打开SQL SERVER 2012,如图所示: 服务器类型:数据库引擎: 服务器名称:127.0.0.1(本地), ...

  9. 使用cobbler批量安装操作系统(基于Centos7.x )

    1.1 cobbler简介 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等. Cobbler可以使 ...

  10. 《天书夜读:从汇编语言到windows内核编程》十一 用C++编写内核程序

    ---恢复内容开始--- 1) C++的"高级"特性,是它的优点也是它的缺点,微软对于使用C++写内核程序即不推崇也不排斥,使用C++写驱动需注意: a)New等操作符不能直接使用 ...