Язык С++ как инструмент моделирования на основе решения дифференциальных уравнений в частных производных - page 41

39
for(i=0; i<nx; i++){
ex<<X[i]<<"\t";
}
ex<<endl;
for(t=0; t<nt; t++){
ex<<T[t];
for(i=0; i<nx; i++){
ex<<"\t"<<U[t][i];
}
ex<<endl;
}
ex<<endl;
ex<<"Аналитическое решение:"<<endl;
ex<<"t/x\t";
for(i=0; i<nx; i++){
ex<<X[i]<<"\t";
}
ex<<endl;
for(t=0; t<nt; t++){
ex<<T[t];
for(i=0; i<nx; i++){
ex<<"\t"<<U_an[t][i];
}
ex<<endl;
}
ex<<endl;
ex<<"Среднеквадратическая погрешность:"<<endl;
ex<<error<<endl;
ex<<endl;
ex.close();
}
Основной цикл алгоритма решения рассматриваемой задачи (2.1)-
(2.5) на основе ее конечно-разностного представления начального
условия, явной схемы крест для дифференциального уравнения
гиперболического типа с первым начальным условием (2.4), с
аппроксимацией второго начального условия (2.5) первым порядком
точности по времени и трехточечной аппроксимации граничных условий
со вторым порядком точности по координате (2.7).
for(j=0; j<nx; j++){
U[0][j]=exp(2.0*dx*j);
U[1][j]=U[0][j];
}
1...,31,32,33,34,35,36,37,38,39,40 42,43,44,45,46,47,48,49,50,51,...52
Powered by FlippingBook