文档详情

第三节 Matlab的程序设计.ppt

发布:2017-06-01约7.97千字共43页下载文档
文本预览下载声明
使用keyboard命令中断程序,该命令实现函数工作区间和命令窗口工作区间的交互,从而获得用户所需要的信息,使用该命令后,程序将处于调试状态,此时命令窗口的提示符由“”变为“K”,用户可以进行相应的操作。 在函数头前加“%”,并定义输入变量的值,这样就将函数式M文件变为脚本式M文件,而脚本式M文件运行时,其工作区间就是MATLAB 7的工作区间,这样在出现错误的时候就可以查询这个工作区间。 3.4 匿名函数 函数句柄以符号@后面跟着变量及函数表达式来表示: ff=@(x,y)1./x+1./y ff = @(x,y)1./x+1./y ff(2,4) ans = 0.7500 调用已有函数 ss=@sin; ss(pi/2) ans = 1 (2)工具调试法 MATLAB自带的M文件编辑器也是程序的编译器,用户可以在编辑完程序后直接进行调试,更加方便、直观。debug菜单中的对应的命令为: step 单步执行 同dbstep step in 深入被调函数 同dbstep in step out 跳出被调函数 同dbstep out run/continue 连续执行 set/clear breakpoint 设置或清除断点 go until cursor 运行到鼠标所在行 set/clear conditional breakpoint 设置或清除条件断点 clear breakpoints in all files 清除所有的断点 stop if errors/warnings 出现错误/警告如何操作 exit debug mode 退出调试模式 同 dbquit * 例如 计算向量的标准偏差 函数为strd_v.m function f=strd_v(x) l=length(x); % x的长度即数据的个数 s=sum(x); % s为数据的总和 y=s/l; % x的平均值 t=strd_fun(x,y); %数据与平均值之差的平方和 f=sqrt(t/(l-1)); %数据的标准偏差 调用的函数为 strd_fun.m function f=strd_fun(x,y) t=0; %平方和的初始值 for i=1:length(x) t=t+((x-y).^2); %计算平方和 end f=t; * * 运行时候发现 x=[1:6]; strd_v(x) ans = 2.7386 1.6432 0.5477 0.5477 1.6432 2.7386 而标准偏差函数得到的结果为: std(x) ans = 1.8708 说明函数有问题,需要调试。 * 点击行号与文本之间的横杠,在函数文件strd_v.m 的最后一行设置一个断点,编译器用一个大红点标记,程序运行后将在断点处暂停,并出现一个绿色箭头。 命令窗口出现K提示符表示已经进入调试状态(注意MATLAB左下角的信息,退出调试状态必须输入dbquit命令)。函数运行时产生的变量也出现在工作空间。通过堆栈检查不同工作空间的变量,发现t错误。 * 说明调用的函数strd_fun .m出现了问题。在strd_v.m中去除掉断点,单击debug\continue去除箭头。在strd_fun.m中最后一行设置断点。在命令窗口重新键入strd_v(x),那么程序在strd
显示全部
相似文档