#include <stdio.h> #include <assert.h> #define sample_per_u 10 #define iteration_count 200 #define sample_range_begin 1.000 #define sample_range_end 4.000 #define delta_u 0.001 void sample_after_iteration(double u, double *output_samples_arr) { // Firstly, let's do some iterations. double x_curr = 0.01; for(int i = 0; i < iteration_count; ++i) { assert(x_curr > 0 && x_curr < 1); x_curr = u * x_curr * (1 - x_curr); } // And then, take some samples. for(int i = 0; i < sample_per_u; ++i) { output_samples_arr[i] = x_curr; x_curr = u * x_curr * (1 - x_curr); } } void print_points() { double samples_arr[sample_per_u]; for(double curr_u = sample_range_begin; curr_u <= sample_range_end; curr_u += delta_u) { sample_after_iteration(curr_u, samples_arr); for(int i = 0; i < sample_per_u; ++i) { printf("%f %f\n", curr_u, samples_arr[i]); } } } int main() { print_points(); }