Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/01/2014, 06:50
Fw190
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 11 meses
Puntos: 73
Respuesta: Tengo un problema de pasar de polar a rectangular en la funcion creada

Código C:
Ver original
  1. void polar_rectangular(float a,float b){
  2.  
  3. float c,d;
  4.  
  5. c=a*cos(b)*180/PI;
  6. d=a*sin(b)*180/PI;
  7.  
  8. printf("\nP(%.2f,%.2f)-->R(%.2f + %.2fj)",a,b,c,d);
  9.  
  10. }

Si en esta función el ángulo lo estás pasando en grados, tienes mal la conversión. Primero, estás calculando el coseno y el seno de un ángulo que has dado en grados, pero te lo calcula en radianes. Después, el valor obtenido lo multiplicas por 180/PI (que sería para pasar de radianes a grados, tal como has hecho en la función de paso de rectangular a polar). El factor para pasar de grados a radianes es el inverso, es decir, PI/180, El ángulo debes pasarlo a radianes antes de calcular el seno y coseno, es decir:


Código C:
Ver original
  1. void polar_rectangular(float a,float b){
  2.  
  3. float c,d;
  4.  
  5. c=a*cos(b*PI/180);
  6. d=a*sin(b*PI/180);
  7.  
  8. printf("\nP(%.2f,%.2f)-->R(%.2f + %.2fj)",a,b,c,d);
  9.  
  10. }