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

Метод рунге кутта, подскажите где ошибка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ алгоритм http://www.cyberforum.ru/cpp-beginners/thread247423.html
Ребят, помогите разработать алгоритм (а если можно, то саму функцию). Суть в следующем: Аргументы функции main задаются строкой (словами через пробел). Необходимо найти символ (его код), который...
C++ Не могу разобраться с кодом Здравствуйте! Скажите, что выполняет программа в данном фрагменте и что обозначают стрелки? p1 = (struct st1*)malloc(sizeof(struct st1)); ... http://www.cyberforum.ru/cpp-beginners/thread247422.html
Курсовая работа "Решение систем нелинейных уравнений Методом Ньютона" C++
РЕбят помогите, горю, курсач через 3 дня сдавать, а я все время работал и теперь просто без вашей помощи пропаду. Тема "РЕшение систем нелинейных уравнений Методом Ньютона". Может завалялся у...
C++ Лабиринт заданный массивом
Лабиринт. Лабиринт задан массивом a(n, n), в котором элемент a(k, m) = 0, если клетка (k, m) «проходима», и a(k, m) = 1, если клетка «непроходима» (задается случайным образом). Начальное положение...
C++ сортировка массива http://www.cyberforum.ru/cpp-beginners/thread247394.html
здравствуйте, посоветуйте пожалуйста, каким образом можно сортировать двумерный массив, если понятен принцип для одномерного отсортировал первую строку массива, а первый элемент второй строки...
C++ нужна литература Здравствуйте господа програмисты!я хочу научиться писать на wxdev c++ приложения для windows какую литературу посоветуете для начинание,если можно ссылку где скачать! Заранее всем огромное спасибо!!! подробнее

Показать сообщение отдельно
иван90
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 5

Метод рунге кутта, подскажите где ошибка - C++

23.02.2011, 18:30. Просмотров 414. Ответов 0
Метки (Все метки)

у меня следущая система уравнений dz(t)/dt=f(t)^n df(t)/dt=u(t) du(t)/dt=-2z(t)u(t)+2bf(t)^(n+1) где n=1 и b=1 граничные условия z(0)=0 f(0)=1 u(0)=-sqrt(2). Я написал программу в Borland 3.1, график строит не правельный, подскажите пожалуйста где ошибка.
#include <math.h>
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
#include <stdlib.h>
#include <graphics.h>
#include <dos.h>
#define N 50
#define n 1
#define b 1

double f1(double f)
{
return pow(f,n);
}
double f2(double u)
{
return u;
}
double f3(double f, double u,double z)
{
return -2*z*u+2*b*pow(f,n+1);
}

main()
{
clrscr();
double X[N], f[N], z[N], u[N];
double k1z, k2z, k3z, k4z;
double k1f, k2f, k3f, k4f;
double k1u, k2u, k3u, k4u;
double h=5./N;
z[0]=0;
f[0]=1;
u[0]=-sqrt(2);
int i;
for(i=0;i<N;i++)
{
X[i]=i*h;
}
for(i=0;i<N;i++)
{
k1z=f1(f[i]);
k2z=f1(f[i]+0.5*h*k1z);
k3z=f1(f[i]+0.5*h*k2z);
k4z=f1(f[i]+h*k3z);

k1f=f2(u[i]);
k2f=f2(u[i]+0.5*h*k1f);
k3f=f2(u[i]+0.5*h*k2f);
k4f=f2(u[i]+h*k3f);

k1u=f3(f[i],u[i],z[i]);
k2u=f3(f[i]+0.5*h*k1u,u[i]+0.5*h*k1u,z[i]+0.5*h*k1u);
k3u=f3(f[i]+0.5*h*k2u,u[i]+0.5*h*k2u,z[i]+0.5*h*k2u);
k4u=f3(f[i]+h*k3u,u[i]+h*k3u,z[i]+h*k3u);


z[i+1]=z[i]+(h/6)*(k1z+2*k2z+2*k3z+k4z);
f[i+1]=f[i]+(h/6)*(k1f+2*k2f+2*k3f+k4f);
u[i+1]=u[i]+(h/6)*(k1u+2*k2u+2*k3u+k4u);
}
double x;
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;

/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");

/* read result of initialization */
errorcode = graphresult();
/* an error occurred */
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
/* terminate with an error code */
exit(1);
}
putpixel(10,10,9);
setcolor(2);
moveto(315, 0);
lineto(315,700);
moveto(315, 0);
lineto(320,20);
moveto(315,0 );
lineto(310,20);
moveto(800, 250);
lineto(800,150);
moveto(0,250);
lineto(800,250);
for( i=0; i<N; i++)
{
putpixel (315+30*h*i, 250-30*f[i],3);
putpixel (315+30*h*i, 250-30*z[i],2);
putpixel (315+30*h*i, 250-30*u[i],4);

}

getch();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru