转载请标明出处:专注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. FastDFS 集群 安装 配置

    这篇文章介绍如何搭建FastDFS 集群 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的 ...

  2. 隐藏input的光标

    https://segmentfault.com/q/1010000000684888 https://wap.didialift.com/beatles/campaign/driver/activi ...

  3. Python一个命令开启http下载服务器(可以局域网内共享文件)

    前提条件:windows系统上安装python 如果想把D:\asdm作为提供下载的目录, 打开cmd然后cd命令进入该目录:cd D:\asdm, 然后执行Python -m SimpleHTTPS ...

  4. Nginx-动态路由升级版

    前几篇文章我们介绍了Nginx的配置.OpenResty安装配置.基于Redis的动态路由以及Nginx的监控. Nginx-OpenResty安装配置 Nginx配置详解 Nginx技术研究系列1- ...

  5. c#工厂模式与抽象工厂模式

    一. 工厂方法(Factory Method)模式 工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中. 工厂方法模式是简单工 ...

  6. [转载] 快速理解Kafka分布式消息队列框架

    转载自http://blog.csdn.net/xiaolang85/article/details/18048631 ==是什么 == 简单的说,Kafka是由Linkedin开发的一个分布式的消息 ...

  7. 使用 Rust 构建分布式 Key-Value Store

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 引子 构建一个分布式 Key-Value Store 并不是一件容易的事情,我们需要考虑很多的问题,首先就是我们的系统到底需要提供什么样的功能 ...

  8. SpringMV---params and headers

      配置文件承接一二章    params params:请求的参数    params=value 表示请求过来的参数必须等于value    params!=value 表示请求过来的参数必须不等 ...

  9. MXNet之ps-lite及parameter server原理

    MXNet之ps-lite及parameter server原理 ps-lite框架是DMLC组自行实现的parameter server通信框架,是DMLC其他项目的核心,例如其深度学习框架MXNE ...

  10. 微信JS-SDK 选取手机照片并进行上传

    项目中遇到需要选取照片上传的需求,因为网页运行在微信的浏览器里面,所以用微信的 js-sdk 提供的选取照片功能,来进行项目开发.实际开发中需要用到微信web开发者工具,详细参考链接:https:// ...