Преобразование из радианов в градусы

#c #math #trigonometry

#c #математика #тригонометрия

Вопрос:

Я пытаюсь выполнить простое тригонометрическое вычисление на C . Ниже приведен пример проблемы, с которой я сталкиваюсь в связи с этим. Насколько я знаю, C работает в радианах, а не в градусах. Таким образом, преобразование из радианов в градусы должно быть простым случаем умножения на 180 и деления на число. Простой тест — tan (45), который должен равняться 1. Однако следующая программа выдает значение 92,8063…

 #include <iostream>
using namespace std;

#include <math.h>

int main(){
    double a,b;
    a = tan(45);
    b = a * 180 / 3.14159265;
    cout << b;
    return 0;
}
  

Что не так?

Ответ №1:

Вы делаете это наоборот. Не применяйте формулу к выходным данным tan , примените ее к параметру.

Также вам захочется умножать на число пи и делить на 180, а не наоборот.

Ответ №2:

Угол является входным значением для tan . Итак, вы хотите:

 a = 45 * 3.141592653589793 / 180.0;
b = tan(a);
cout << b << endl;
  

Ответ №3:

Вы должны передать радианы в функцию tan. Также неверно переводить градусы в радиан.

  a = tan(45 * 3.14159265 / 180.);
  

Ответ №4:

Tan принимает угол и возвращает частное. Это не наоборот. Вы хотите

 a = tan(45*3.14159265/180); // Now a is equal to 1.