Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 2
Регистрация: 20.11.2011
Сообщений: 71
1

метод рунге-кутты 3-го порядка в билдер

03.12.2013, 22:31. Просмотров 1863. Ответов 2
Метки нет (Все метки)


необходима помощь в переделке функции из mathcad На c++.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2013, 22:31
Ответы с готовыми решениями:

Исправить код в методе рунге кутты 4 порядка ля системы ДУ 1 порядка
Вот код для метода рунге кутты 4 порядка для систему ДУ 1 порядка. Вроде все верно, но ответ не...

Метод Рунге-Кутты
Доброго времени суток. Сразу говорю,извините за мою наглость. Дело в том,что я очень,очччень...

Решение систем диф.уров. методом Рунге-Кутты 4-го порядка
Имеется система из 17-ти дифуров, необходимо решить её методом Рунге-Кутты 4-го порядка. Я написал...

Решение дифуров методами Эйлера-Коши с итерациями и Рунге-Кутты четвертого порядка
решить методами эйлера-коши с итерациями и рунге -куты четвертого порядка диф. уравнение ...

2
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
04.12.2013, 07:51 2
Это все круто...Но может изложите суть проблемы или огласите в чем трудности?
0
0 / 0 / 2
Регистрация: 20.11.2011
Сообщений: 71
06.12.2013, 15:08  [ТС] 3
Лучший ответ Сообщение было отмечено prostreet как решение

Решение

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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
 
 
 float f1(float x, float p)
{
      return(p);
}
 
float f2(float x, float y, float p)
{
      return(pow(2.7,-x));
}
float x0=1;
float X=1.3;
float h=0.1;
float y0=0.77;
float p0=0.44;
float N=10;
void __fastcall TForm1::Button1Click(TObject *Sender)
{   for (int i=1;i<N;i++)
    {  float p,x,y;
    float k1=f1( x, p);
    float m1=f2(x,y,p);
   /*  StringGrid1->Cells[i][1]=k1;
     StringGrid1->Cells[i][2]=m1; */
       float k2=f1( x+h/2, p+m1*h/2);
    float m2=f2(x+h/2,y+k1*h/2,p+m1*h/2);
      float k3=f1( x+h, p+2*m2-m1);
    float m3=f2(x+h,y+2*k2-k1,p+2*m2-m1);
    x=x+h;
    y=y+(k1+2*k2+2*k3)*h/6;
    p=p+(m1+2*m2+2*m3)*h/6;
    StringGrid1->Cells[i][1]=x;
     StringGrid1->Cells[i][2]=y;
       StringGrid1->Cells[i][3]=p;
    }
 
}
Добавлено через 2 минуты
Метод Рунге-Кутта 3-го порядка вот здесь решение в Mathcad (2 картинка).Нужно тоже самое реализовать в builder(код выше).Помогите исправить ошибки.

Добавлено через 23 часа 21 минуту
Доделал сам, может кому нибудь пригодится.
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{     StringGrid1->Cells[0][0]="x";
     StringGrid1->Cells[1][0]="y";
       StringGrid1->Cells[2][0]="y'";
}
//---------------------------------------------------------------------------
 
 
 
 float f1(float x, float p)
{
      return(p);
}
 
float f2(float x, float y, float p)
{
      return(pow(exp(1),-x));
}
/*float x0=1;
float X=1.3;
float h=0.1;
float y=0.77;
float p=0.44;
float N=10; */
void __fastcall TForm1::Button1Click(TObject *Sender)
{float p[30],x[30],y[30],h=0.1;
    float N=12;
    x[0]=0;
    y[0]=0;
    p[0]=0;
 for (int i=1;i<N;i++)
    {
    float k1=f1( x[i-1], p[i-1]);
    float m1=f2(x[i-1],y[i-1],p[i-1]);
  /*   StringGrid1->Cells[i][1]=k1;
     StringGrid1->Cells[i][2]=m1;    */
       float k2=f1( x[i-1]+h/2, p[i-1]+m1*h/2);
    float m2=f2(x[i-1]+h/2,y[i-1]+k1*h/2,p[i-1]+m1*h/2);
      float k3=f1( x[i-1]+h, p[i-1]+2*m2-m1);
    float m3=f2(x[i-1]+h,y[i-1]+2*k2-k1,p[i-1]+2*m2-m1);
    x[i]=x[i-1]+h;
    y[i]=y[i-1]+(k1+2*k2+2*k3)*h/6;
    p[i]=p[i-1]+(m1+2*m2+2*m3)*h/6;
    StringGrid1->Cells[0][i]=x[i-1];
     StringGrid1->Cells[1][i]=y[i-1];
       StringGrid1->Cells[2][i]=p[i-1];
    }
 
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2013, 15:08

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Решение диф. уравнения для колебаний методом Рунге—Кутты 4го порядка.(С++)
Ребят помогите пожалуйста решить такое на C++ уравнение x''=(-w^2)*x где w-const там замену...

Метод Рунге Кутты для системы уравнений
Добрый день! Столкнулся с проблемой, при решении задачи, а именно : Реализовать решение...

Как написать программу для метода Рунге-Кутты 4 порядка с автоматическим выбором шага ?
помогите переделать ? #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using...

Диффур второго порядка - Метод Рунге Кутты (уравнение 2го порядка)
Ребята, помогите разобраться. Нужно решить дифференциальное уравнение второго порядка с помощью...

Метод Рунге-Кутты 3 порядка
Помогите найти литературу по данному методу пожалуйста, хотя бы формулы. Применить метод я сам в...

Метод Рунге-Кутты 4-го порядка
help


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.