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

转载请标明出处:专注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软件是否自带该函数。

时间: 2024-08-06 16:37:03

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

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

使用gdb调试运行时的程序小技巧 标签: 未分类 gdb pstack | 发表时间:2012-10-15 04:32 | 作者:士豪 分享到: 出处:http://rdc.taobao.com/blog/cs 原创文章,欢迎转载.转载请注明:转载自淘宝核心系统团队博客,谢谢! 原文链接地址: 使用gdb调试运行时的程序小技巧 下面介绍我调试时经常遇到的三种问题,如果大家也有类似的问题交流一下解决方法: 情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序 情景2:需要同时看几个变量的值或

[转]使用gdb调试运行时的程序小技巧

原创文章,欢迎转载.转载请注明:转载自淘宝核心系统团队博客,谢谢!原文链接地址:使用gdb调试运行时的程序小技巧 下面介绍我调试时经常遇到的三种问题,如果大家也有类似的问题交流一下解决方法:情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序情景2:需要同时看几个变量的值或者批量查看多个core文件的堆栈信息怎么办情景3:遇到需要查看.队列.链表.树.堆等数据结构里的变量怎么办1. 情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序我们在生产环境或者测试环境,会遇到一些异常,我们需

【DPM】Deformable Part Models matlab代码在windows下的调试过程

我下载的是voc-release5 1.按照这篇文章,都操作了一遍:http://blog.csdn.net/pozen/article/details/7023742#quote 2.运行demo不成功 继续按照http://cfanz.cn/index.php?c=article&a=read&id=128978的方法修改 2.1在按这一篇运行  >> mex cascade.cpp model.cpp  时报错:  D:\PROGRA~1\MATLAB\R2012B\BI

如何加速MATLAB代码运行

学习笔记 V1.0 2015/4/17 如何加速MATLAB代码运行 概述 本文源于LDPCC的MATLAB代码,即<CCSDS标准的LDPC编译码仿真>.由于代码的问题,在信息位长度很长(大于10000)情况下,代码无法正常运行或执行速度很慢.本文将叙述代码修改过程中的一系列手段,然对其加速原理不做探究 修订历史 以下表格展示了本文档的修订过程 日期 版本号 修订内容 2015/04/17 V1.0 初始版本 简介 本程序基于MATLAB 2014a 编写,本文档中提到的"MATL

致PHP程序员:快速执行C#代码片段 快速运行C#代码 调试C# C#写人文件操作

身为PHP老鸟,临时接到救火任务,帮忙调试一串C#代码,本人Win8.1 32位,安装Microsoft Visio 2013死活安装不上去,安装win8.1自带的IIS6.0, 安装成功了,死活无法启动ASP.NET网站,根据提示服务依赖逐个启动,依旧无法启动IIS... 崩溃了..还把我本地的mongodb.apache.mysql导致无法正常启动... 怎么办?难道没有Microsoft Visio 和 IIS 就无法调试C#代码片段了么? 非也! 1.首先确定你安装了.NET框架,然后把

运行/调试你的PHP代码

前言 没有任何一名程序员可以一气呵成.完美无缺的在不用调试的情况下完成一个功能或模块.调试实际分很多种情况.本篇文章我分享下自己在实际开发工作中的经验,我个人理解,调试分三种,注意我所讲的是调试并非测试 功能调试 组件调试 片段调试 功能调试是指在完成一个功能或者正在完成功能的过程中进行的错误.逻辑.结果的测试 组件调试是指将一个正在开发测试的插件.类进行错误.逻辑和结果的测试 片段调试是指将一段代码片段.函数.变量的预期和结果的测试 接下来我们看下本章列出的一些调试方法 暴力调试 这种方式简单

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

原文:[原创]Matlab.NET混合编程技巧之--直接调用Matlab内置函数(附源码) 在我的上一篇文章[原创]Matlab.NET混编技巧之--找出Matlab内置函数中,已经大概的介绍了matlab内置函数在混合编程中的优点,并通过程序找出了matlab中的大部分内置函数,当然更多人关心是如何像我所说得那样,不用直接编译,就直接在C#中调用这些内置函数.本文就带你揭开这些谜团. 声明,这篇文章是需要一点点混合编程基础的,基本概念和过程要懂一点,如果能简单成功混编一个简单的计算或者绘图例子

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

原文:[原创]Matlab.NET混合编程技巧之--找出Matlab内置函数 Matlab与.NET的混合编程,掌握了基本过程,加上一定的开发经验和算法基础,肯定不难.反之,有时候一个小错误,可能抓破脑袋,加班几个晚上,调试才能解决.同样,由于Matlab.NET混编的特殊性,加上MathWorks的原因,英文文档和没有披露一些详细的细节(甚至不允许反编译MWArray.dll,呵呵,它不允许,不代表你不会哦).经过很多项目,和大量的实验,也发现了一些小技巧和小秘密,今天就分享其中一个,先做一个

JS学习十四天----server端运行JS代码

server端运行JS代码 话说,当今不在client使用JS代码才是稀罕事.因为web应用的体验越来越丰富,client用JS实现的逻辑也越来越多,这造成的结果就是某些差点儿一致的逻辑须要在client和服务端各实现一遍,大牛们当然不甘心啊!幸运的是,我们能够在server端运行JS代码,谁让JS抱了一根大腿呢... 比如,现在在client使用JS进行验证已经是个标准,他能够有效避免用户在正常情况下提交错误的数据,增强用户体验.当然,server端的验证也是不可缺少的,由于这才是安全性的体现