上机练习五 函数文件编写与程序调试.doc
文本预览下载声明
上机练习五 函数文件编写与程序调试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、将上机报告存在自己的工作目录下。
显示全部