0 / 0 / 0
Регистрация: 03.11.2015
Сообщений: 5
|
|
1 | |
Код для расчета тригонометрических функиций03.10.2011, 23:11. Показов 5139. Ответов 20
Метки нет (Все метки)
Здравствуйте. Нужна помощь в написании кода для расчета тригонометрических функций (sin,cos) без использования библиотеки math.h. То есть сделать это все через ряд Тейлора. И если можно добавить функцию построения графика.
Ряд Тейлора для sin: http://www.pm298.ru/Math/f1877.JPG для cos: http://www.pm298.ru/Math/f1878.JPG
0
|
03.10.2011, 23:11 | |
Ответы с готовыми решениями:
20
Требуется написать код программы для расчета внутренних значений массива, если известны граничные значения массива. Написать программу расчета значений тригонометрических функций для угла X простой код для расчета по формуле Написать код для расчета по формулам |
03.10.2011, 23:16 | 2 | ||||||||||
Сообщение было отмечено как решение
Решение
Второй параметр - точность вычисления, то есть ошибка не будет превышать значения eps. В алгоритме использовано свойство рядов Лейбница.
3
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|
05.10.2011, 23:55 | 3 |
1
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|
06.10.2011, 16:20 | 5 |
не-а!
1e-3 Так бы было один на десять в минус сотой степени - тоже очень маленькое число...
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|
06.10.2011, 16:26 | 7 |
Одна тысячная? Да в принципе нормальная точность... Нанотехнологии в районе 1е-9 крутятся...
Код
C:\c_cpp\numbers>gcc -o 1e 1e.c C:\c_cpp\numbers>1e 0.0010000000 0.0000000010 C:\c_cpp\numbers>type 1e.c #include <stdio.h> int main(void){ printf("%.10f\n%.10f\n", 1e-3, 1e-9); return 0; } C:\c_cpp\numbers>
0
|
06.10.2011, 16:31 | 9 |
Кажется, что маловато будет Ну, с другой то стороны, главное функции, а уж точность каждый под себя может подобрать. А Вы случайно не знаете какая у встроенных функций точность?
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|
06.10.2011, 16:49 | 12 |
Нет, к сожалению, знаю только, что диапазон типа double от 1E-37 до 1E+37, с точностью не менее 10 значащих десятичных цифр... Но стало интересно, надо подумать, как выяснить...
Опоздал немного...
1
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
06.10.2011, 16:54 | 13 |
Thinker, у меня где-то так же, но это зависит от реализации. Я к тому, что зачем такая точность, и в какой области она будет иметь значение, если 10e100 - это число, которое на много порядков превосходит число атомов в известной части вселенной?
0
|
06.10.2011, 17:01 | 14 | |||||
спасибо за полезные замечания, но почему тогда так работает
Это же для типа float такой диапазон, а для double от 1e-307 до 1e307, разве нет? А для типа long double от 1.7e-4932 до 1.7e4932
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
06.10.2011, 17:07 | 15 |
Thinker, смотрим комментарий:
1
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|||||||||||
06.10.2011, 17:16 | 17 | ||||||||||
Так тоже работает
Мало того, опытным путём установлено:
Код
C:\c_cpp\numbers>custom_sin.exe 0.90929742682568171000 0.90929742682568171000 0.90929742682568171000 0.90929742682568204000
1
|
06.10.2011, 17:23 | 18 |
Имелось ввиду, что не просто работает, а не зацикливается, как при нуле, например. Видите, Ваш опыт показал насколько важна точность Тут просто аргумент такой, а если с периодами числа, то всякое может быть. Хотя, согласен, -100 это слишком. На этом я и не настаивал, просто пример был, можно и 1e-3, как Вы предложили, меня сам алгоритм более интересовал.
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|||||||||||
06.10.2011, 17:37 | 19 | ||||||||||
Ну на этот счёт сомнений-то как-раз небыло. Кстати
Вот ещё смелый эксперимент:
Не по теме: А вообще, наверное, про точность лучше бы отдельную тему создать, а то отвлеклись мы сильно... ;)
0
|
06.10.2011, 17:46 | 20 | |||||
easybudda, а вот так уже не совпадает
0
|
06.10.2011, 17:46 | |
06.10.2011, 17:46 | |
Помогаю со студенческими работами здесь
20
Составить программный код для расчета функции на VBA Моя программа расчета. Как написать код для кнопки. Изменить код вызываемой функции для расчета ряда фибоначчи; заменить рекурсию на цикл; добавить вывод на экран Одна из функиций моего сайта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |