文档详情

上机练习五 函数文件编写与程序调试.doc

发布:2018-04-18约1.9千字共4页下载文档
文本预览下载声明
上机练习五 函数文件编写与程序调试MATLAB软件环境。 三、上机内容和步骤 1、函数文件的结构、创建与运行 打开Matlab M编辑器,输入以下代码: function y=average(x) % 函数average(x)用以计算向量元素的平均值。 % 输入参数x 为输入向量,输出参数y为计算的平均值。 % 非向量输入将导致错误。 % 代码行。 [m,n]=size(x); % 判断输入量的大小 if~((m==1)|(n==1))| ((m==1) (n==1)) % 判断输入是否为向量 error(必须输入向量。) end y=sum(x)/length(x); %计算向量x 所有元素的平均值 将以上代码以文件名average.m保存,尝试以下操作: 1)在命令窗口输入: z=1:99; average(z) 观察运行结果,体会函数文件的调用方法。 2)在命令窗口输入: lookfor average 观察运行结果,体会函数文件H1行的作用。 3) 在命令窗口输入: help average 观察运行结果,体会函数文件注释行的作用。 4) 将文件名改成average_1.m,分别在命令窗口输入以下指令: average([1 2 3]) average_1([1 2 3]) 观察运行结果,总结函数文件名与函数名不同时的函数调用方法。 2、子函数的使用 打开Matlab M编辑器,输入以下代码: function [avg,med] = newstats(u) %主函数 % NEWSTATS 计算均值和中间值 n = length(u); avg = mean(u,n); %调用子函数 med = median(u,n); %调用子函数 function a = mean(v,n) %子函数 %计算平均值 a = sum(v)/n; function m = median(v,n) % 子函数 %计算中间值 w = sort(v); if rem(n,2) = = 1 m = w((n+1)/2); else m = (w(n/2)+w(n/2+1))/2; end 将以上代码以文件名newstats.m保存,尝试以下操作。 1)在命令窗口输入: x = 1:11; [mean,mid] = newstats(x) 观察运行结果,体会含有子函数的函数文件的运行过程。 2)在命令窗口分别输入以下指令: help newstats help newstatsmedian 观察运行结果,总结含有子函数的函数文件H1行的作用。 3、函数参数的可调性 建立以下函数文件,并按照以下方式运行之,观察运行结果,体会nargin和nargout变量的使用方法。 function apple = test(a,b,c) if nargin = =1 apple n = a; elseif nargin = =2 apple n = a+b; elseif nargin = =3 apple n = a+b+c; end test(4) test(4,5) test(4,5,6) 4、全局变量与局部变量 1)建立以下函数文件(local.m): function local %LOCAL 查看局部变量的例子 x = rand(2,2); y = zeros(2,2); z = ‘函数中的变量’; x u = {x,y,z}; disp(z) whos 在命令窗口运行该文件 local 在当前工作空间观察函数文件变量是否存在,并解释运行结果。 whos 2)将上述函数文件改成(global_1.m): function global_1 %GLOBAL 查看全局变量的例子 Global X X= rand(2,2); y = zeros(2,2); z = ‘函数中的变量’; X u = {X,y,z}; disp(z) whos 在命令窗口运行该文件 global_1 5、函数的递归调用 先用函数的递归调用定义一个函数文件求,然后调用该函数文件求 四、上机要求 1、完成以上上机任务; 2、总结函数文件的运行/调用方法; 3、总结全局变量与局部变量的用法; 4、总结nargin和nargout变量的含义和用法; 5、总结命令文件与函数文件的区别; 6、将上机报告存在自己的工作目录下。
显示全部
相似文档