Дискуссионный математический форумМатематический форум

Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 4 часа [ Летнее время ]
MathHelpPlanet.com RSS-лента Математического форума

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Метод Симпсона и трапеций
СообщениеДобавлено: 05 ноя 2014, 18:51 
Не в сети
Начинающий
Зарегистрирован:
05 ноя 2014, 18:35
Сообщений: 2
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Здравствуйте форумчане, нужно решить интеграл формулой трапеций и Симпсона. Я сам что-то хоть и сделал, но не уверен что правильно.
Поправьте если что не так
Вот что дано:
c0 = 2.2, c1 = 0.7, c2 = 4.5, c3 = 0.2, c4 = 0.6

вычислить с точность 0.0001


Изображение


Что получилось аналитическим путем: I = 5.1107

Нахождение максимума(я взял производную от Pn(x) 3 раза)
Изображение

Изображение

затем нашел x:
x = -(1.2 / 14.4) = -0.0833

Потом поставил x на P''n(x):
Изображение

После из формулы (M * (b-a) * h^2) / 12 < 0.0001
я вычислил h:

Изображение

С помощью h я нашел n:
n = [(b-a) / h ] = 25

И в конце написал программу на С++, которая используя все данные вычисляет интеграл методом трапеций
вот код
#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

double Pn (double x) {
double c[] = {2.2, 0.7, 4.5, 0.2, 0.6};
double sum = 0;

for (int i=0; i<5; ++i) {
sum += c[i] * pow(x,i);
}

return sum;
}

int main() {

double* x = new double[50];
double h = 0.0175;
int n = 25;
double j=1;

for(int i=0;i<=n; ++i) {
x[i] = j;
j+=h;

if(i%5==0 && i!=0) cout << endl;
cout << setw(10) << x[i];

}
cout << endl << endl << endl;

double y[n];

for (int i=0;i<=n;++i) {
y[i] = Pn(x[i]);

if(i%5==0 && i!=0) cout << endl;
cout << setw(10) << y[i];
}

double sum=0, S;

for (int i=0;i<=n; ++i) {
if (i==0 || i==25) sum += y[i];
else sum += 2*y[i];
}

S = h/2 * sum;

cout << endl << endl << "answer: " << S << endl;



return 0;
}


Программа выдала ответ I = 5.07175

Это что касается методом трапеций.
А вот методом Симпсона я решить не могу. Не понимаю некоторых моментов, может проясните?
Во первых, как найти M?

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Метод трапеций и Симпсона

в форуме Численные методы

photographer

0

143

23 дек 2016, 22:48

Метод Симпсона

в форуме Численные методы

nastja2914

2

34

10 ноя 2017, 23:53

Метод Симпсона

в форуме Численные методы

mono_libre

0

167

07 июн 2015, 05:34

Метод Симпсона. Точность вычислений

в форуме Численные методы

Chromegolf

0

330

07 янв 2013, 19:35

. Вычислить интеграл по формуле трапеций

в форуме Численные методы

777

1

646

03 дек 2013, 22:55

Интеграл методом Симпсона

в форуме Интегральное исчисление

Revan

1

101

05 апр 2015, 11:33

Интеграл методом Симпсона

в форуме Интегральное исчисление

Revan

3

132

05 апр 2015, 11:38

Точность обобщённой формулы Симпсона

в форуме Численные методы

kristya_tim

1

375

16 янв 2012, 16:16

Найти определенный интеграл по формуле Симпсона

в форуме Численные методы

dijes

6

412

07 янв 2014, 21:35

Интегрирование методом Симпсона и методом прямоугольников

в форуме Численные методы

sfanter

0

40

08 апр 2017, 11:18


Часовой пояс: UTC + 4 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2016 MathHelpPlanet.com. All rights reserved