lunes, 28 de noviembre de 2011
Gráfica de la Telaraña (Cobweb)
;Autor: José Manuel Gómez Soto
#lang racket
(require plot)
(define orbita (lambda(f x0 n)
(if (= n 0) '()
(cons x0 (orbita f (f x0) (- n 1))))))
(define intercala1 (lambda(lista1 lista2)
(if (null? lista1)
'()
(cons (list (car lista1)
(car lista2))
(intercala1 (cdr lista1)
(cdr lista2)))
)))
(define join (lambda(lista1 lista2)
(if(null? lista1) lista2
(cons (car lista1)
(join (cdr lista1) lista2)))))
(define flatten (lambda(lista)
(if (null? lista) '()
(join (car lista)
(flatten (cdr lista))))
))
(define particion21r (lambda(lista n)
(cond ((null? lista) '())
((null? (cdr lista)) '())
(else (cons
(vector (car lista)
(if (= n 1) 0
(car (cdr lista))))
(particion21r (cdr lista) (+ n 1)))))))
(define puntosorbita (lambda(orbita)
(particion21r
(flatten (intercala1 orbita orbita)
) 1)))
(define telarania (lambda(x0 nitera
funcion x1 x2 coloridenti colorfuncio colororbita)
(plot
(list (lines (puntosorbita (orbita funcion x0 nitera)) #:color colororbita)
(function funcion x1 x2 #:color colorfuncio)
(function (lambda(x) x) x1 x2 #:color coloridenti) (axes)))))
(define funcionlogistica (lambda(lam)
(lambda(x) (* 4 lam (* x (- 1 x))))))
(telarania 0.2 200 (funcionlogistica 0.76) 0 1 0 3 4)
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario