登录论坛

查看完整版本 : [MATLAB基础] [原创]MATLAB程序设计及调试小结


yhcode
2009-05-06, 10:49
坛子里看到很多新手问了些五花八门的问题,表面上看,问题涉及领域差异很大,但是可以发现他们都是MATLAB程序设计的基本功不足,或者是不知从哪里弄来的源码,自己就根本没看过基础的东西,有的虽然有些基本功,但是程序调试功夫不深.现在给大家说些简单的经验:
1. 掌握M函数的编写,弄清程序的入口和出口参数及参数的取值情况;
2. 工具箱的应用其实就是一些别人编好的具有特定功能的函数,在掌握1的情况下,这个就不在话下了,还是那句话,弄清功能,弄清输出输入参数的情况及相互关系;
3. 在写m函数前现在workspace里将主要源码操作一遍,一是可以熟悉各参数间的关系,二是可以验证源码的正确性;
4. 程序的调试,主要就是断点的应用,特别是条件断点大家都很容易忽视,其实条件断点就是在断点出设置停止的条件,也就是一条逻辑操作,大家可以看看help;
5. 调试过程中难免出错,出错是很正常的,重要的是你要清楚发生错误之后要怎么解决,都有那些可以利用的资源可以供你利用,用来判断错误的原因.断点运行到出错的位置,判断此时各种数据的维数,数值的大小,还有就是有没有出现调用前没有赋值等情况.这些做法的一个重要线索就是workspace里给出的最上面一个出错信息.
目前就先想到这些了,呵呵,程序设计基本功和调试能力大家一定要在不断的练习,摸索中锻炼,祝大家一切顺利.

yhcode
2009-05-06, 12:11
没人感谢下吗? 自己顶一下,呵呵!

silas_xue
2009-05-07, 10:29
lz 你可以建议版主把你的这个主题置顶一些时间 应当是有帮助的

liujunhit
2009-05-09, 22:49
刚看到
谢谢斑竹
我现在就是不大会调试

M.J_Victor
2009-05-13, 19:01
我刚开始学MATLAB,还弄不太明白,楼主是否能给大概介绍一下MATLAB.谢谢了!!

马特拉并
2009-05-13, 19:41
楼主,我是初学者,有个问题想问你下,就是matlab里可以自己编译一些函数,那么我下次想直接调用,需要怎么操作才能用呢。比如
function [v,h,s]=ptsteam(p,t)

v=
h=
s=
假设程序编好,在下一个程序我需要直接用它
function [v,h,s,t]=ptwater(p,t)
..............................
t=ptsteam(p,t)
....调试时显示的时t=ptsteam(p,t)未定义
什麽原因
:mad::mad::mad::mad:

yhcode
2009-05-14, 12:54
楼上的朋友,你要把MATLAB的工作路径弄明白,把你编写的m函数放到当前工作路径下,或者将该函数文件所在路径加到MATLAB的工作路径下就可以了,我通常的做法是将自己写的函数放到work里就可以了。

论坛会员
2009-05-15, 09:09
谢谢,或许有用的~~~~~~~~~~

jieni88
2009-05-20, 21:20
我要感谢yhcode,我最近想要编一个程序,但不知道该如何编,实际上就是基本的东西没有搞清楚。还是要从基本的东西入手。

xuemeilili
2009-05-28, 00:55
谢谢楼主,可还是不太明白

hailingege
2009-05-30, 17:49
呵呵 受教 学习中。。。。

ppf666ppf
2009-07-14, 20:01
谢谢楼主提示!学习了!

endeavor_li
2009-08-01, 09:18
楼主自己的亲身经验总结,谢谢分享!同时期待楼主继续把自己的总结与大家分享。。

呆呆精灵
2009-09-04, 21:12
谢谢lz:),MATLAB程序设计及调试的确要从基本做起。

oracle1
2009-09-15, 15:18
应该有用!thanx!

stonegeo
2009-09-25, 11:09
好像是路径问题啊一楼说得有道理

ak47998
2009-11-14, 15:33
呵呵,谢谢楼主!学习中!:)

zhiyingflying
2009-11-16, 14:29
分享了楼主的小技能,继续学习 呵呵!

ast286
2009-12-07, 19:53
太普通了!!!!!!!:rolleyes:

sogeno
2009-12-16, 16:27
very thanks lz

Leo.
2010-01-25, 09:03
我也是初学者,以后还请多多指教

kkkk
2010-02-02, 23:04
谢谢您!以后有问题多向您请教!

xzAlucard
2010-02-04, 15:45
是否应该为新手们专门编个入门贴呢

lsain2007
2010-02-08, 04:55
Thank your help!

louzhihua
2010-02-11, 13:46
必须定义syms t p;

dingbangfu
2010-02-11, 22:18
谢谢,我也遇到过啊,疑惑不懂就问你了

Bloom
2010-03-24, 09:24
感谢楼主,热心人啊,是加分的好帖

未注册fhzscdx
2010-03-31, 09:04
谢谢楼主,可还是不太明白

liu0604
2010-04-06, 19:14
初学者,以后还请多多指教:confused:

cgxy
2010-04-07, 16:19
是啊,基本的东西确实还没掌握好

huanhuan2008
2010-04-08, 10:24
谢谢楼主了,但自己还是个新手