Ю1.20

Приближение [latex]\sin(x)[/latex]. Функция [latex]y=\sin(x)[/latex] на отрезке [latex][0;\frac{\pi}{2}][/latex] хорошо аппроксимируется разложением: [latex]y=x-\frac{x^3}{6} + \frac{x^5}{120}[/latex]. Для заданного значения аргумента [latex]x[/latex] вычислить [latex]y[/latex] по этой формуле и сравнить с точным значением, вычисленным с помощью стандартной функции [latex]\sin[/latex].

x Ответ: Комментарий:
0 0 Тест пройден
0.5 0.000002 Тест пройден
1 0.000196 Тест пройден
1,57 0,004509 Тест пройден

Код программы:

По условию задачи необходимо для заданного значения аргумента [latex]x[/latex] вычислить [latex]y[/latex] по этой формуле и сравнить с точным значением, вычисленным с помощью стандартной функции [latex]\sin[/latex]. Вводим переменную [latex]x[/latex] c типом данных «float»,
так как нам потребуются не только целые числа на отрезке [latex][0;\frac{\pi}{2}][/latex].

После введения числа  выводим модуль разности значения [latex]\sin(x)[/latex] и значения функции по формуле:

[latex]f=x-\frac{x^3}{6}+\frac{x^5}{120}[/latex].
Погрешность при аппроксимации функции возрастает с увеличением [latex]x[/latex]. На отрезке [latex]x \in [0;0.4][/latex] погрешности практически нет, начиная с [latex]x=0.5[/latex] погрешность возрастает и в точке [latex](\frac{\pi}{2})[/latex], [latex]b[/latex](погрешность) составляет 0.004509. При [latex]x>\frac{\pi}{2}[/latex] она становится значительной, поэтому формула [latex]f=x-\frac{x^3}{6}+\frac{x^5}{120}[/latex] подходит лишь для аппроксимации на отрезке [latex][0;\frac{\pi}{2}][/latex].
Для выполнения программы и проверки тестов можно воспользоваться следующим объектом.

 

Код программы на Java:

Related Images:

7 thoughts on “Ю1.20

  1. — Все математические обозначения должны быть в laTeX
    — В тексте программы должны быть правильные отступы, а не набор строк в живописном беспорядке
    — Поставьте правильную рубрику и ключевые слова
    — Функцию возведения в степень нет смысла использовать если степень целая.
    — Задача на линейные вычисления? Что тут делает ветвление?

    • Задача отредактирована.

  2. Повторюсь:
    — Все математические обозначения должны быть в laTeX
    Что-то не получается? Дроби лучше кодировать так \frac{…}{…}, а синус так \sin x. И не забывайте ставить latex перед формулой и /latex после неё.
    Воспользуйтесь редактором, чтобы не учить laTeX.
    Или посмотрите laTeX, чтобы не пользоваться редактором.
    Все ссылки есть на сайте.

    Программа работает хорошо. А вот анализа нет. Например, как ведёт себя погрешность при увеличении х?

  3. Это замечание вдогонку.
    Можно быстрее выполнить основные вычисления (строка 9) если вынести за скобки х:
    x-(x*x*x)/6+(x*x*x*x*x)/120 == x * (1 — x * x * ( 1. / 6.+ x * x / 120))
    Мы экономим умножения — 4 вместо 6. Можно ещё сэкономить. Догадались как?
    Такой подход часто называют схемой Горнера.

    • Исправил код.

Добавить комментарий