#!/bin/bash # $Id: compute-cathode-fall.sh,v 1.1 2005/04/21 16:02:40 rajo Exp $ REPORT_MIN_TIME="# Urcovanie potencialu z podmienky cas(AB) > 1% max_time # i | a | b | max_time | U_c" REPORT_EQ_TIME="# Urcovanie potencialu z podmienky cas(AB) = cas(BC) # i | U_c | U_c + U_a | delta_delta_t" CONST_A=`awk "/^CONST_A/ { printf \"%6g\", \\$3; exit;}" figure5.gp` CONST_B=`awk "/^CONST_B/ { printf \"%6g\", \\$3; exit;}" figure5.gp` for i in 3 4 5 6 7 8 9 10 11 12 13 14 15 ; do const_a=`awk "/^a$i = / { printf \"%6g\", \\$3; exit;}" figure5.gp` const_b=`awk "/^b$i = / { printf \"%6g\", \\$3; exit;}" figure5.gp` max_time=`awk "/^max_time$i = / { printf \"%6g\", \\$3; exit;}" figure5.gp` #echo const_a=$const_a const_b=$const_b max_time=$max_time Uc_potential=`awk "BEGIN { a=$const_a; b=$const_b; t=$max_time; Uc_potential=1000; } \ ! /^#/ { delta_t= -\\$1 + (\\$2 - b)/a; \ minim_t= 0.01*t; \ if ( delta_t > minim_t ) { Uc_potential=\\$2; } else { exit; } \ } \ END { printf \"%6g\", Uc_potential; }" figure5.dat` REPORT_MIN_TIME="$REPORT_MIN_TIME $i $const_a $const_b $max_time $Uc_potential"; ## awk "BEGIN { a=$const_a; b=$const_b; t=$max_time; Uc_potential=1000; \ ## printf \"## a=%6g\tb=%6g\tt=%6g\tUc_potential=%6g\n\", a, b, t, Uc_potential; ## } \ ## ! /^#/ { \ ## delta_t= -\$1 + (\$2 - b)/a; \ ## minim_t= 0.01*t; \ ## printf \"# %6g\t%6g\tdelta_t=%6g\t%6g\n\", \$2, \$1, delta_t, minim_t; \ ## if ( delta_t > minim_t ) { Uc_potential=\$2; } else { exit; } \ ## } \ ## END { printf \"%6g\", Uc_potential; }" figure5.dat tmp_report_eq_time=`awk "BEGIN { a=$const_a; b=$const_b; max_time=$max_time; \ Uc_potential=1000; min_delta=$max_time; \ CONST_A=$CONST_A; CONST_B=$CONST_B} \ function abs(x) { \ if (x < 0) return -x; \ else return x; \ } \ ! /^#/ { \ delta_delta_t= abs( 2*(\\$2 - b)/a -\\$1 - max_time ); \ if ( delta_delta_t < min_delta ) { \ min_delta = delta_delta_t; \ min_U = \\$2; } \ } \ END { \ printf \"%6g\t\t%6g\t\t%6g\n\", min_U, (CONST_A*max_time + CONST_B), min_delta; }" figure5.dat` REPORT_EQ_TIME="$REPORT_EQ_TIME $i $tmp_report_eq_time"; done echo "$REPORT_MIN_TIME"; echo "$REPORT_EQ_TIME";