用matlab编写while循环完成下面的任务

img


function Csdn43()

a = 27
[m,z] = myfunction(a)


function [m,z] = myfunction(a)

n = 1;
xn_1 = 1;
xn = a;
xn1 = (a + xn^2 * xn_1 +  xn *xn_1^2 ) / ( xn^2 + xn*xn_1 + xn_1^2 ); 
eps = 1e-6;

while abs(xn - xn1) > eps
    xn_1 = xn;
    xn = xn1;
    xn1 = (a + xn^2 * xn_1 +  xn *xn_1^2 ) / ( xn^2 + xn*xn_1 + xn_1^2 ); 
    n = n + 1;
end

m = xn1;
z = n;

结果

a = 
        27

m =

    3.0000


z =

    14