diff --git a/practical_work/rc_circuit/main.c b/practical_work/rc_circuit/main.c
index 6e41bbc35d2ce07104b87bc61bf0bb5293bb7283..d7dce0bc68b6c7aaebbfaa35fc80cc1726c8d052 100644
--- a/practical_work/rc_circuit/main.c
+++ b/practical_work/rc_circuit/main.c
@@ -18,27 +18,27 @@ int main(int argc, char *argv[]) {
double dt = 0.001;
double max_t = 5.0;
- int i = 0;
PLFLT x[NSIZE], y[NSIZE];
- PLFLT xmin = 0., xmax = max_t, ymin = 0., ymax = rc.eps;
+ PLFLT xmin = 0., xmax = max_t, ymin = rc.eps-1, ymax = rc.eps+1;
for (double t = 0.0; t < max_t; t += dt) {
double ve = exact_solution(t, v_ini, &rc);
printf("t = %f, v = %f, v_e = %f, diff = %f\n", t, v, ve, ve - v);
- x[i] = t;
- y[i] = v;
v = rc_advance(v, dt, &rc);
- i += 1;
}
v = v_ini = 1.0;
- double omega = 0.0;
+ double omega = 10.0;
+ int i = 0;
for (double t = 0.0; t < max_t; t += dt) {
- rc.eps = sin(omega * t);
+ rc.eps = v_ini * (1.0 + cos(omega * t));
double ve = exact_solution(t, v_ini, &rc);
printf("t = %f, v = %f, v_e = %f, diff = %f\n", t, v, ve, ve - v);
+ x[i] = t;
+ y[i] = v;
v = rc_advance(v, dt, &rc);
+ i += 1;
}
// Parse and process command line arguments