#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.