均值不等式是高中甚至是大学数学的一个难点,它涉及1)算术平均值,2)几何平均值,3)调和平均值,4)平方平均值,试编写一个程序验证均值不等式,要求程序输入参数和输入参数可变。
【分析】假设程序的每一个输入参数代表一个正实数,输出是四个平均值,若只能有一个输出参数,则以表格形式输出四个平均值,否则4个输出参数分别输出各个平均值,编写程序如下:
function varargout = ave(varargin )
n=nargin; %nargin返回函数输入参数个数
n
[An,Gn,Hn,Qn]=deal(0,1,0,0); %预置初始值
for i=1:n
ak=varargin{i};
if any(ak)<=0
error('输入参数必须为整数');
end
An = An + ak;
Gn = Gn.* ak;
Hn = Hn + 1./ak;
Qn = Qn + ak.^2;
end
A = An / n;
G = Gn.^ (1/n);
H = n./ Hn;
Q = sqrt(Qn/n);
nargout
if nargout == 1
varargout{1} = table(A,G,H,Q,...
'variablenames',{'Arithmetic','Geomotric','Harmonic','Square'});
else
[varargout{1:4}] = deal(A,G,H,Q);
end
end