Guest User

Untitled

a guest
May 25th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4. use warnings;
  5. use Chart::Gnuplot;
  6.  
  7. # perque no funciona" sub f { shift**2 } "?
  8. sub f {
  9. my $x = shift;
  10. return cos($x); # Una senyal qualsevol
  11. }
  12.  
  13. my @values = 0..10; #interval de 1,no es massa bona discretitzacio com s'observa a la figura
  14.  
  15. # Per a millorar el mostreig de la senyal seria genial
  16. # que el operador .. tingues un tercer parametre, per exemple
  17.  
  18. # my @values = 0..10|0.2 0,0.2,0.4,0.6...10
  19.  
  20. # contemplant possibles problemes amb els rangs.
  21. # Si no,s'hauria de fer la funcio que va sumant el 0.2(o el step que sigui) desde 0 fins a 10 i contemplant
  22. # els casos de truncament i les excepcions. O hi ha una altra manera?
  23.  
  24.  
  25. my @fvalues = map {f($_)} @values;
  26.  
  27.  
  28. my $chart = Chart::Gnuplot->new(
  29. output => "dissignal.png",
  30. title => "test",
  31. xlabel => "My x-axis label",
  32. ylabel => "My y-axis label",
  33. );
  34.  
  35. # Create dataset object and specify the properties of the dataset
  36. my $dataSet = Chart::Gnuplot::DataSet->new(
  37. xdata => \@values,
  38. ydata => \@fvalues,
  39. style => "points",
  40. );
  41.  
  42. # Plot the data set on the chart
  43. $chart->plot2d($dataSet);
Add Comment
Please, Sign In to add comment