Documentos de Académico
Documentos de Profesional
Documentos de Cultura
newtonrhapace(Roa,Rab,Rbc,theta1,theta2,theta3,omega1,omega2,omega3,al
pha1,alpha20,alpha30)
%Parámetros del método de Newton-Rhapson
tol = 0.00001;
nitermax = 20;
+omega1*omega1*Roa*cos(theta1)+omega2*omega2*Rab*cos(theta2)+omega3*om
ega3*Rbc*cos(theta3);
f2name = @(alpha2,alpha3) -alpha1*Roa*cos(theta1)-
alpha2*Rab*cos(theta2)-alpha3*Rbc*cos(theta3)...
+omega1*omega1*Roa*sin(theta1)+omega2*omega2*Rab*sin(theta2)+omega3*om
ega3*Rbc*sin(theta3);
fv1 = f1name(alpha2,alpha3);
fv2 = f2name(alpha2,alpha3);
fxo = [fv1;fv2];
f1pv = eval(gradf1);
f2pv = eval(gradf2);
fpxo =[f1pv;f2pv];
if det(fpxo)==0
disp('Error: el determinante del Jacobiano es cero, intente otra
estimación inicial ')
else
iter = 0;
s1 = sprintf('%3.0f %- 10.4f %- 10.4f',iter,v(1),v(2));
s2 = sprintf(' %- 14.4f %- 14.4f',fv1,fv2);
disp([s1 s2]);
%Ciclo iterativo hasta encontrar la raíz
while (norm(fxo)>tol) & (det(fpxo)~=0) & (iter<nitermax)
iter = iter + 1;
%Nueva estimación de la solución
vn = v - inv(fpxo)*fxo;
v = vn;
alpha2 = v(1);
alpha3 = v(2);
%Evaluación de las funciones no lineales con la nueva estimación
de
%la solución
fv1 = f1name(alpha2,alpha3);
fv2 = f2name(alpha2,alpha3);
%Organización en forma de matrices y vectores
fxo = [fv1;fv2];
f1pv = eval(gradf1);
f2pv = eval(gradf2);
%Organización en forma de matrices y vectores
fpxo =[f1pv;f2pv];
if det(fpxo)==0
disp('Error: el determinante del Jacobiano es cero, intente
otra estimación inicial')
end
s1 = sprintf('%3.0f %- 10.4f %- 10.4f',iter,v(1),v(2));
s2 = sprintf(' %- 14.4f %-
14.4f',fv1,fv2);
disp([s1 s2])
end
root = v;
disp(sprintf('\n La raíz encontrada es: alpha2 = %- 8.4f, alpha3 =
%- 8.4f',v(1),v(2)));
%Solución finalmente encontrada por el método numérico
alpha2 = v(1);
alpha3 = v(2);
end