|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.05.2009, 10:24 | #1 |
Форумчанин
Регистрация: 03.05.2009
Сообщений: 112
|
сравнить интегралы
Значения интегралов должны быть прибл-но равны,а у меня разные(
Помогите пожалуйста разобраться.Может массив неверно объявил? Даны вещественные числа a, b. Значения функции (согласно вариантам) записать в массив. Вычислить значение интеграла, используя: 1) Формулу трапеций I1=h*[f(a)/2+f(a+h)+f(a+2h)+…+f(a+(n-1)h)+f(b)/2] 2) Формулу Симпсона I2=h/3*(f(a)+f(b)+4*(f(a+h)+f(a+3h)+…+f( a+(n-1)h))+ 2*(f(a+2h)+f(a+4h)+…+f(a+(n-2)h))) h=(b-a)/n, n=100. f(x)=1/((0.5+0.1x3)√x); a=0.1; b=2.1 ФОРМУЛА ТРАПЕЦИЙ #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <math.h> int main() { const int n=100; double a=0.1, b=2.1; double h; double F[n],I; int i; h=(b-a)/n; for(i=1;i<n;++i) F[i] =1/((0.5+0.1*pow(a+(i-1)*h,3))*sqrt(a+(i-1)*h)); F[0] =1/((0.5+0.1*pow(a,3)*sqrt(a))); F[n] =1/((0.5+0.1*pow(b,3)*sqrt(b))); I=0; for(i=1;i<=n-1;i++) I += F[i]; I += F[0]/2 + F[n]/2; I *= h; printf("\n integral po formule trapeciy raven = %f \n",I); getch(); return 0; } ФОРМУЛА СИМПСОНА #include <math.h> int main() { const int n=100; double a=0.1, b=2.1; double h; double F[n],I2; int i; h=(b-a)/n; for(i=1;i<n;++i) F[i] =4*(1/((0.5+0.1*pow(a+(i-1)*h,3))*sqrt(a+(i-1)*h)))+2*(1/((0.5+0.1*pow(a+(i-1)*h,3))*sqrt(a+(i-1)*h))); F[0] =1/((0.5+0.1*pow(a,3)*sqrt(a))); F[1] =1/((0.5+0.1*pow(b,3)*sqrt(b))); I2=0; for(i=1;i<n-1;i++) I2 += F[i]; I2 += F[0] + F[1]; I2 *= h/3; printf("\n integral po formule simpsona raven = %f \n",I2); getch(); return 0; } |
18.05.2009, 12:02 | #2 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Во-первых, оформите код тегом CODE ("#" на панели в окне редактирования) (прямо сейчас исправьте) Иначе его сложно читать.
Во-вторых, во втором варианте в цикле вы каждое F умножаете на 4, а нужно умножать уже полученную сумму. И еще, расшифруйте вот это: Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] Последний раз редактировалось Sazary; 18.05.2009 в 12:08. |
18.05.2009, 12:13 | #3 |
Форумчанин
Регистрация: 03.05.2009
Сообщений: 112
|
икс в третей степени
|
18.05.2009, 12:31 | #4 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
ai\ekcah^p, а первую часть поста вы проигнорировали?
В следующий раз на код в таком виде и смотреть не буду. Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
18.05.2009, 12:47 | #5 |
Форумчанин
Регистрация: 03.05.2009
Сообщений: 112
|
Спасибо огромное Sazary! Я понял свою ошибку!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Интегралы на с++ | dimpa91 | Помощь студентам | 1 | 04.01.2009 14:16 |
Интегралы в Delphi | odrey | Общие вопросы Delphi | 4 | 04.06.2008 23:10 |
Сравнить колонки | Romuald | Microsoft Office Excel | 11 | 22.01.2008 09:28 |
сравнить 2 строчки | oLMeR | Общие вопросы Delphi | 3 | 02.11.2007 11:51 |