怎样用matlab算高斯算数——几何平均数

来源:百度知道 编辑:UC知道 时间:2024/07/03 02:51:45
给定非负实数 a0,b0满足a0≠b0,按递推公式:
a(n+1)=1/2(a(n)+b(n))
b(n+1)=sqrt(a(n)*b(n))
(n=1,2,……)
产生的数列 称为高斯算术-几何平均数列。试写出用for-end语句计算a10和b10的MATLAB程序,要求a0和b0为输入参数,a10和b10为输出参数。(用for-end作。)

function [a10 b10]=guassgeo(a0,b0,n)
%[a10 b10]=guassgeo(a0,b0,n)
%输入:a0,b0及序列长n
%输出:a10,b10
a10=[];b10=[];
if nargin<3
warning('请输入a0,b0和n');
return;
end
if a0==b0
warning('a不等于b');
return;
end
a10=a0;b10=b0;
for i=1:n
a10(i+1)=a10(i)+b10(i);
a10(i+1)=1/2.*a10(i+1);
b10(i+1)=sqrt(a10(i)*b10(i));
end