1) Случайно получилось, что у вас и в сетке по
и в сетке по
одинаковое количество точек, которое вы обнзначили
. Это неправильно. По разным переменным может быть разное число точек, для которых нужно завести два разных обозначения, например,
и
(в коде программы
Nx и
Nt).
2) Из-за п. 1) у вас путаница с вложенным циклом. На этапе формирования сеток по
и
нужен один одномерный массив для сетки по
и другой одномерный массив для сетки по
. Массив сетки для переменной
лучше обозначить
wx, а не
wh:
// Здесь ещё забыли инициализацию нулевых элементов массива:
wx[0] = 0.0; // (например)
wt[0] = 0.0; // (например)
for (int i = 1; i < Nx+1; i++)
{
wx[i+1] = wx[i] + hx;
}
for (int j = 1; j < Nt+1; j++)
{
wt[j+1] = wt[j] + ht;
}
3) Массив
wtx не нужен. Двумерный массив нужен для значений искомой функции, если она от двух агрументов (вообще-то, сначала вам бы разобраться с функцией от одного аргумента, с обыкновенными дифурами). Для сеток двумерный массив не нужен. Точка сетки имеет две координаты: первая берётся из массива
wx, вторая — из массива
wt. Всё, больше сетке ничего не надо. Другое дело искомая функция, например будет
(в коде
U). Это двумерный массив:
U[i,j] — это значение искомой функции в точке с координатами
wx[i], wt[j] (
).
4) Функцию от двух агрументов визуализировать не так-то просто. Возможно, TeeChart это умеет, а может быть, и нет. С помощью TeeChart вы отображаете координаты сеток
wx и
wt, но это никому не нужно, тем более, что это координаты по разным переменным. В общем, я бы рекомендовал графику пока отложить в сторону, а значения выводить в текстовый файл.