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

Решение уравнения теплопроводности - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Dmitriy_Z
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 9
25.12.2012, 23:48     Решение уравнения теплопроводности #1
задача:
Миниатюры
Решение уравнения теплопроводности  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 23:48     Решение уравнения теплопроводности
Посмотрите здесь:

C++ Решение уравнения
решение уравнения C++
Решение уравнения C++
Решение уравнение теплопроводности C++
C++ Задача для уравнения теплопроводности
Решение уравнения C++
C++ Решение уравнения
C++ Решение уравнения теплопроводности с помощью неявной разностной схемы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dmitriy_Z
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 9
26.12.2012, 00:00  [ТС]     Решение уравнения теплопроводности #2
есть программа, тестировалась на функции y' = x^3 + y^3, отрезок [0,1], h=0,3, e=0,0001, y(0)=0
необходимо вставить функцию из задачи с картинки, хоть убей, не могу понять, чего от меня хотят

Добавлено через 3 минуты
код программы:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include "conio.h"
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
 
double f( double x, double y );
 
double integral( double a, double b, double y, int n );
 
double integralOnPiece( double a, double b, double y, double E );
 
int N = 0;
 
int main()
{
    double a,b;
    double h;
    double e;
    double y0;
 
    printf("Input a: ");
    scanf("%lf",&a);
 
    printf("Input b: ");
    scanf("%lf",&b);
 
    printf("Input h: ");
    scanf("%lf",&h);
 
    printf("Input e: ");
    scanf("%lf",&e);
 
    printf("Input y0: ");
    scanf("%lf",&y0);
 
    for( double x = a + h; x <= b; x = x + h)
    {
 
        y0 = y0 + integralOnPiece( x-h, x, y0, e);
 
        printf("y = %.5f, N = %d\n",y0,N);
  
    }
 
    return 0;
}
 
// Нахождение интеграла на участке от a до b с погрешностью E
double integralOnPiece( double a, double b, double y, double E )
{
 
    double s;
    double prS = 0;
    int k;
 
 
    prS = integral(a,b,y,2);
    s = integral(a,b,y,3);
 
    
    for( k = 4; fabs( prS - s ) > E; k++ )
    {
        prS = s;
 
        s = integral(a,b,y,k);
 
    }
 
    return s;
}
 
// Найти интеграл функции f(x,y) на [a,b] при разбиении на n отрезков  методом левых прямоугольников
double integral( double a, double b, double y, int n )
{
 
    double x, xb, dx;
    double s = 0;
 
    N=0;
    dx = (b - a)/n;
 
    xb = a;
 
    for ( int i = 0; i < n; i++ )
    {
        x = xb + i*dx;
        s = s + f(x,y)*dx;
        N++;
    }
 
    return s;
 
}
 
 
// Нахождение f(x,y)
double f( double x, double y  ) 
{ 
    return x*x*x+y*y*y; 
}
Добавлено через 5 минут
Кто-нибудь может помочь, объяснить, какую функцию я должен запихнуть сюда
Цитата Сообщение от Dmitriy_Z Посмотреть сообщение
double f( double x, double y *)
{
* * return x*x*x+y*y*y;
}
вместо x*x*x+y*y*y?
Yandex
Объявления
26.12.2012, 00:00     Решение уравнения теплопроводности
Ответ Создать тему
Опции темы

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