Приведеный ниже исходник решает ДУ свободных колебаний
(y''+2*e*y'+w^2*y=0) методом конечных разностей. Получаются правильные
решения (для всех случаев e и w). Но в этих решениях неправильный знак у
каждого вторго отсчета (если поменять на противоположеный результат
иделано совпадает с теоретическим).
Что это может быть?
int main()
{
double a[SIZE][SIZE];
double b[SIZE];
double x[SIZE];
int i, j;
int n;
double l, h;
double A, B, C;
double e, w;
double u0, un;
gp = NULL;
l = 5;
n = SIZE;
h = l/n;
e = 1;
w = 2;
u0 = 5;
un = 10;
A = 1/(h*h)-(2*e)/(2*h);
B = 2/(h*h)-(w*w);
C = 1/(h*h)+(2*e)/(2*h);
for (i=0; i<n; i++)
for (j=0; j<n; j++)
a[i][j] = 0;
for (i=0; i<n; i++) {
if (i) a[i][i-1] = A;
a[i][i] = B;
if (i<(n-1)) a[i][i+1] = C;
}
b[0] = -A*u0;
b[n-1] = -C*un;
gauss((double*)&a, (double*)&b, (double*)&x, SIZE);
plot((double*)&x, SIZE);
getc(stdin);
pclose(gp);
return 1;
}
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [C++] curl_multi + pthreads = segfault (2010)
- Форум Программа из K&R вопросы по warnings, полученные от gcc (2015)
- Форум Нужна помочь владельцев core2 в измерении производительности программы (2019)
- Форум Еще немного МКР. (2005)
- Форум Java2D Не получается сделать привязку курсора к узлам сетки (2016)
- Форум Мы нашли очередную порцию глюков в Linux Kernel (2016)
- Форум V4L2: ошибка удаления буфера из очереди: недопустимый аргумент (2023)
- Форум Решения (2015)
- Форум Готовые решения (2012)
- Форум Посоветуйте решение. (2010)