Posted to tcl by arjen at Thu Dec 09 14:55:22 GMT 2021view raw

  1. # temperature.tcl --
  2. # Simulate a temperature series
  3. #
  4. proc temp {alpha mean min max number} {
  5. set result {}
  6. set mean [expr {(1.0 - $alpha) * $mean}]
  7. set range [expr {($max - $min) / 4.0}]
  8. set t1 [expr {$mean + $range * (rand() - 0.5)}]
  9. set t1 [expr {min($max,max($min,$t1))}]
  10. for {set i 0} {$i < $number} {incr i} {
  11. set t2 [expr {$alpha * $t1 + $mean + $range * (rand() - 0.5)}]
  12. set t2 [expr {min($max,max($min,$t2))}]
  13. lappend result $t2
  14. set t1 $t2
  15. }
  16. return $result
  17. }
  18. package require Plotchart
  19. pack [canvas .c -width 600 -height 600]
  20. set p [::Plotchart::createXYPlot .c {0 100 20} {-10 10 5}]
  21. incr x 0
  22. foreach t [temp 0.5 4.0 -8.0 8.0 100] {
  23. $p plot data $x $t
  24. incr x
  25. }

AltStyle によって変換されたページ (->オリジナル) /