Математический форум Math Help Planet
http://mathhelpplanet.com/

Вычислить определённый интеграл
http://mathhelpplanet.com/viewtopic.php?f=23&t=58107
Страница 1 из 1

Автор:  neversleep [ 09 фев 2018, 22:25 ]
Заголовок сообщения:  Вычислить определённый интеграл

Осваиваю интегралы, есть например вот такой:[math]\int\limits_{0}^{ \pi }\sqrt{sin x} sin \frac{x}{2}dx =1.5708[/math]
Нужно вычислить его при n = 3. Т.к я не люблю решать на бумаге я беру и пишу скрипт для Octave по формуле трапеций для неравномерной сетки(думаю, что в данном случае без разницы):

Код:
a = 0;
b = pi;
n = 3;
h = (b-a)/n;

% получаем значения сетки
x = 0;
y = [];
do
  y = [y; (sqrt(sin(x)) * sin(x/2)) - 1.5708]; % подинтегральная функция
  x+=h;
until (x > b)

I = 0
for i = 2:length(y)
  I += h / 2 * (y(i-1) + y(i))
end

Ответ известен: I = 0.69315 ± 0.00001(точность), у меня же получается -3.6036, что ну совсем не рядом. Скорее всего, я неправильно прочитал и накодил подинтегральную функцию? Или где-то еще ошибка?

Автор:  sergebsl [ 09 фев 2018, 22:53 ]
Заголовок сообщения:  Re: Вычислить определённый интеграл

накодил нашкодил)))

спасибо за вопрос

Автор:  sergebsl [ 09 фев 2018, 22:56 ]
Заголовок сообщения:  Re: Вычислить определённый интеграл

n=3 это слишком грубое приближение. Для точности [math]\pm 10^{-5}[/math] число [math]n\geqslant 10 \div 15[/math]

Автор:  sergebsl [ 09 фев 2018, 23:02 ]
Заголовок сообщения:  Re: Вычислить определённый интеграл

Методом парабол будет намного точнее и меньшее число n

Численное интегрирование. Метод трапеций. С++

[url=http://mathprofi.ru/formula_simpsona_metod_trapecij.html]Как вычислить определенный интеграл
по формуле трапеций и методом Симпсона?[/url]

Автор:  sergebsl [ 09 фев 2018, 23:14 ]
Заголовок сообщения:  Re: Вычислить определённый интеграл

Методы парабол (Симпсона) и более высоких степеней (Ньютона - Котеса)

Автор:  neversleep [ 10 фев 2018, 10:06 ]
Заголовок сообщения:  Re: Вычислить определённый интеграл

sergebsl
Я вчера явно перегрелся, в подинтегральной функции не нужно было вычитать 1.5708 - это же ответ :crazy: Должно быть так:
Код:
y = [y; sqrt(sin(x)) * sin(x/2)]; % подинтегральная функция

Почему в примере n=3 можно только гадать(может, для наглядности), т.к в этом случае ответ будет 1.3312.
До остальных методов я еще доберусь.

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/