Форум программистов, компьютерный форум CyberForum.ru

Проинтегрировать дифференциальное уравнение - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
SL2491
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 12
03.11.2009, 15:31     Проинтегрировать дифференциальное уравнение #1
Проинтегрировать дифференциальное уравнение

y‘ = ху + 2

на отрезке 0 < х < 1 при у(0) = 0,5.




Условие задачи. Методом трапеций вычислить интеграл

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "stdafx.h"
#include <math.h>                       
#include <conio.h>
#include <stdio.h>
void main()
{                    
    float a,b,I;
 
         int n=1000;
         float integral (float a, float b,int n);
                   I=integral(0,3.14/2,n);
         printf("\n Integral= %8.4f",I);
         getch();
}
float integral (float a, float b, int n)
{
         float S,h;
         int i;
         float f(float y) ;
         h=(b-a)/n;
                   S=(f(a)-f(b))/2;
         for (i=1;i>n; i++)
                   S+=f(a+h*i);
         return h*S;
}
float f(float x)
{
    return (x*(-2/x));      
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2009, 15:31     Проинтегрировать дифференциальное уравнение
Посмотрите здесь:

C++ Проинтегрировать дифференциальное уравнение
C++ Методом Эйлера решить дифференциальное уравнение
уравнение C++
C++ Уравнение
C++ Уравнение
C++ Уравнение
Уравнение C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Cepera
 Аватар для Cepera
52 / 52 / 1
Регистрация: 09.03.2009
Сообщений: 178
03.11.2009, 16:48     Проинтегрировать дифференциальное уравнение #2
В чем вопрос-то? Программа делает не то что должна или же ошибку какую-то выдает?
SL2491
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 12
03.11.2009, 19:03  [ТС]     Проинтегрировать дифференциальное уравнение #3
Ты запусти её и увидешь в чём фишка!
savak
2 / 2 / 0
Регистрация: 28.03.2009
Сообщений: 61
03.11.2009, 19:12     Проинтегрировать дифференциальное уравнение #4
Цитата Сообщение от SL2491 Посмотреть сообщение
for (i=1;i>n; i++) S+=f(a+h*i)
непонятный цикл... Может i<n!!
Я не запускал, но по идее тут зацикливание...
SL2491
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 12
03.11.2009, 20:28  [ТС]     Проинтегрировать дифференциальное уравнение #5
не то
blackswan
12 / 12 / 0
Регистрация: 08.07.2009
Сообщений: 61
04.11.2009, 10:09     Проинтегрировать дифференциальное уравнение #6
может и не то, только цикл этот не работает всё равно, зачем он тут?
SL2491, не надо загадками говорить, что выдаёт программа? что не нравится?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
04.11.2009, 10:43     Проинтегрировать дифференциальное уравнение #7
SL2491,
подсказываю:
строка 11: переменной a присвоено значение 0
строка 21: переменная a все еще равна 0, и вызывается функция f(a)
а в функции f()... сами догадаетесь?
SL2491
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 12
04.11.2009, 21:51  [ТС]     Проинтегрировать дифференциальное уравнение #8
Он выводит мне такую строку
Integral= -1.#INF

Ошибка состоит в #INF-ЧТО ЭТО????
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
04.11.2009, 21:56     Проинтегрировать дифференциальное уравнение #9
SL2491,
у Вас в функции f() происходит деление на ноль
blackswan
12 / 12 / 0
Регистрация: 08.07.2009
Сообщений: 61
05.11.2009, 13:19     Проинтегрировать дифференциальное уравнение #10
Цитата Сообщение от SL2491 Посмотреть сообщение
Он выводит мне такую строку
Integral= -1.#INF
Ошибка состоит в #INF-ЧТО ЭТО????
это infinity - стандартное обозначение бесконечности, в данном случае отрицательной бесконечности, обычно происходит при делении на 0.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2009, 14:27     Проинтегрировать дифференциальное уравнение
Еще ссылки по теме:

Отрезок разбить на n частей, каждую часть проинтегрировать, либо методом трапеции C++
Отрезок [a,b] разбить на n частей, каждую часть проинтегрировать C++
Дифференциальное уравнений методом Гюна C++
C++ дифференциальное уравнение движения

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
SL2491
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 12
05.11.2009, 14:27  [ТС]     Проинтегрировать дифференциальное уравнение #11
Хорошо тогда как прога по вашему будет писаться?
Вот условие:
Проинтегрировать дифференциальное уравнение

y‘ = ху + 2

на отрезке 0 < х < 1 при у(0) = 0,5.




Условие задачи. Методом трапеций вычислить интеграл
Yandex
Объявления
05.11.2009, 14:27     Проинтегрировать дифференциальное уравнение
Ответ Создать тему
Опции темы

Текущее время: 19:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru