计算根号(a)的代码错误
2次浏览(过去30天)
显示旧的注释
计算平方(a)的方法之一,是>0
X (n + 1) = (a + X (X (n) * (n - 1) / (X (n) + X (n - 1)), n = 1, 2,…,和X0 = 1 X1 =(也就是说,众所周知,lim n - > infin Xn =√6 (a)
写一个函数[sqa, nitr] = mySqrt(a)来实现这个计算。该函数应使用while循环,当Xn+1与Xn之间的差值小于eps(10*a)时终止,并在sqa中输出Xn+1,在nitr中输出while循环终止时的n值。测试函数a = 103041
我写过这个,但它不起作用
函数[sqa, nitr] = mySqrt (a)
%[sqa, nitr] = mySqrt (a)
%计算a的平方根
% sqa = a;
Sqaprev = a;
Nitr = 0;
X(n+1) = (a + (X(n)*X(n-1))/(X(n)+X(n-1)));找到第二项
sqa = X (n + 1)
而Abs (sqaprev-sqa) >= eps (10*a)
Sqaprev = sqa;
Sqa = (1/2) *(sqaprev+ (a/sqaprev));
Nitr = Nitr + 1;
结束%,而
结束