#include #include #include #include using namespace std; int main() { double T, dt; cout << "Stabilita: reseni diferencialni rovnice metodou 1. radu" << endl; cout << "Zadejte maximalni cas T: "; cin >> T; cout << "Zadejte krok dt: "; cin >> dt; int N = T / dt; cout << "Pocet kroku: " << N << endl; valarray v(N); valarray v_exact(N); v_exact[0] = exp(0); v_exact[1] = exp(-dt); v[0] = 1; // Pocatecni podminka v(0) = v0; v[1] = v_exact[1]; // 3-bodove schema potrebuje 2 pocatecni hodnoty // diferencni schema v(t+dt) - v(t-dt) / 2dt = -v(t) for(int i = 2 ; i < N ; ++i){ v[i] = v[i-2] - 2*dt*v[i-1]; v_exact[i] = exp(-i*dt); } ofstream file; file.open("pad_meteoritu2.txt"); for(int i = 0; i < N; ++i){ file << i*dt << " " << v[i] << " " << v_exact[i] << "\n"; } file.close(); return 0; }