Newton's method(calculating theta)
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Ahmed Alhawaj
 el 16 de Mzo. de 2020
  
    
    
    
    
    Respondida: Sriram Tadavarty
    
 el 16 de Mzo. de 2020
            w = 30; h = 30; b = 3.5;   % In inches
f = @(theta) w*sind(theta) - h*cosd(theta) - b;
fp = @(theta) w*cosd(theta)+h*sind(theta); 
theta_newt(1) = 49.76; % Set initial guess
tol=0.4771;
n=1;
 while n<=1:50
  fe = f(theta_newt(1));
  fpe = fp(theta_newt(1));
  theta_newt(n+1) = theta_newt(n) - fe(n)/fpe(n);
   if theta_newt(n+1)< 49.73-tol || theta_newt(n+1)>49.73+tol
    return
  else
    theta=theta_newt(n+1); 
  end
n=n+1;
 end
 disp(theta)
why is the code not returning to the loop when it is not calculating the wanted angle?
0 comentarios
Respuesta aceptada
  Sriram Tadavarty
    
 el 16 de Mzo. de 2020
        Hi Ahmed,
The condition you placed for the while loop is a series of vector. Update the condition as below and code requires minor modifications to work
while n <= 50 % It runs the loop till n becomes 50
    fe = f(theta_newt(n));
    fpe = fp(theta_newt(n));
    theta_newt(n+1) = theta_newt(n) - fe/fpe;
    if theta_newt(n+1)< 49.73-tol || theta_newt(n+1)>49.73+tol
        return
    else
        theta=theta_newt(n+1);
    end
    n=n+1;
end
Hope this helps.
Regards,
Sriram
0 comentarios
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

