/* VIMGCC -lm */ /* Hladanie (nenameranych) parametrov, aby vzorec \ref{rov22} dal cele cislo * kalibracna krivka: y= A/(B+x) - 3/4 * Namerane hodnoty: [x,y] = { [19,y+3] [33,y+2] [53,y+1] [84,y] } * */ #include #define MIN 0 #define MAX 100 #define STEP 0.2 double x[4]; double A_1(double B) { return ( (B+x[1])*(B+x[2])/(x[1]-x[2]) ); } double A_2(double B) { return ( 2*(B+x[1])*(B+x[3])/(x[1]-x[3]) ); } double A_3(double B) { return ( (B+x[2])*(B+x[3])/(x[2]-x[3]) ); } double y_1(int i, double B) { return ( A_1(B)/(B+x[i]) - 3/4); } double y_2(int i, double B) { return ( A_2(B)/(B+x[i]) - 3/4); } double y_3(int i, double B) { return ( A_3(B)/(B+x[i]) - 3/4); } int main(int argc, char **argv) { double B; x[0] = 84; // posledne maximum --> prislucha mu trieda kmitania n = y x[1] = 53; x[2] = 33; x[3] = 19; // prve maximum --> prislucha mu trieda kmitania n = y + 3 for (B=MIN; B