function f = grafica(~)
%Programa: Gráfica de un función en un intervalo dado--> grafica
%Aplicación: Dibuja la gráfica de una función dentro de la zona del plano que especifiquemos
%Variables de entrada:
%~: Esto indica que no es necesario introducir variables de entrada
%Variables de salida:
%f: La función
%Código:
%Esta parte del código nos indica la utilidad del programa y nos permite
%introducir la función deseada y los intervalos en el eje x y en el eje y que queramos
fprintf('\n Dibujo de la gráfica de una función\n\n')
f=input('Introduzca una función como cadena de caracteres =');
a=input('Introduzca el extremo inferior del intervalo en el eje x como un número real: ');
b=input('Introduzca el extremo superior del intervalo en el eje x como un número real: ');
c=input('Introduzca el extremo inferior del intervalo en el eje y como un número real: ');
d=input('Introduzca el extremo superior del intervalo en el eje y como un número real: ');
pretty (sym(f)) %Nos escribe la función de forma elegante
f=inline(f); %Convierte la cadena de caracteres en una función
ezplot(f) %Dibuja la función
axis([a b c d]) %Le da la medida a los ejes
%Mantiene la gráfica anterior y nos dibuja el eje x en el 0, en color rojo.
hold on
plot([a b],[0 0],'r')
%Nos muestra una leyenda, el nombre del eje x, el nombre del eje y
legend(2,'Función','Eje');
xlabel('x');
ylabel('y');
%------------------------------------------------------------------------%
Un ejemplo de la aplicación del programa gráfica para la función f(x)=sqrt(x)*sin(x)-x^3+2
f=grafica
Dibujo de la gráfica de una función
Introduzca una función como cadena de caracteres ='sqrt(x)*sin(x)-x^3+2'
Introduzca el extremo inferior del intervalo en el eje x como un número real: 1
Introduzca el extremo superior del intervalo en el eje x como un número real: 2
Introduzca el extremo inferior del intervalo en el eje y como un número real: -1
Introduzca el extremo superior del intervalo en el eje y como un número real: 2
1/2 3
x sin(x) - x + 2
f =
Inline function:
f(x) = sqrt(x)*sin(x)-x^3+2
domingo, 21 de marzo de 2010
lunes, 7 de julio de 2008
Fractal 0.5
He abandonado la versión 0.4 y he pasado directamente a la 0.5. La nueva versión es la 0.3, pero con un límite a la resolución para que no de problemas de falta de memoria. Además he mejorado la presentación como puede verse. En versiones siguientes me gustaría introducir parámetros en la función y que puedan variarse de forma sencilla, sin tener que escribir la formula cada vez.
Además estoy intentado que en el gráfico del fractal aparezca escrita la función y el número de iteraciones (datos que ahora hay que introducir por teclado).
Todavía no he añadido la opción de guardar los datos, porque no sé como variar el nombre. Necesito aprender un par de cosas sobre como introducir texto por teclado y luego trabajar con él.
Si alguien quiere el código, no tiene más que avisarme. Voy a añadir unas notas para que resulte sencillo ver los pasos que he programado.
Además estoy intentado que en el gráfico del fractal aparezca escrita la función y el número de iteraciones (datos que ahora hay que introducir por teclado).
Todavía no he añadido la opción de guardar los datos, porque no sé como variar el nombre. Necesito aprender un par de cosas sobre como introducir texto por teclado y luego trabajar con él.
Si alguien quiere el código, no tiene más que avisarme. Voy a añadir unas notas para que resulte sencillo ver los pasos que he programado.
sábado, 5 de julio de 2008
Fractal 0.3
He resuelto algunos problemas de la versión 0.2, como por ejemplo que el eje i estaba invertido. El siguiente paso es añadir la posibilidad de guardar los resultados para no tener que volver a calcularlo todo cada vez.
Hay un límite a la resolución máxima impuesto por el tamaño de matriz y el número máximo de variables que puede almacenar matlab. Una posible solución podría consistir en guardar en disco los resultados intermedios en vez de tenerlos almacenados en matlab durante el cálculo. Sin embargo, a la hora de representarlo, hay que ponerlo todo en una sola matriz, por lo que no serviría para evitar el límite máximo de resolución. Estoy buscando una forma de poder representarlo por partes.
También estoy tratando de poner un texto que avise cuando el programa está ejecutándose y cuando ha terminado de calcular.
Hay un límite a la resolución máxima impuesto por el tamaño de matriz y el número máximo de variables que puede almacenar matlab. Una posible solución podría consistir en guardar en disco los resultados intermedios en vez de tenerlos almacenados en matlab durante el cálculo. Sin embargo, a la hora de representarlo, hay que ponerlo todo en una sola matriz, por lo que no serviría para evitar el límite máximo de resolución. Estoy buscando una forma de poder representarlo por partes.
También estoy tratando de poner un texto que avise cuando el programa está ejecutándose y cuando ha terminado de calcular.
jueves, 3 de julio de 2008
Fractal 0.2
La versión 0.2 ya está lista. Como puede verse en la imagen, he probado con el conjunto se Julia con c=-0,745429+0,11308i. El nuevo programa funciona de la siguiente manera. Toma una función de C en C y aplica el plano complejo en sí mismo n veces. Después de realizar las n iteraciones, asigna un color a cada punto del plano según su alejamiento de la posición inicial.
Aquí puede verse la misma función, con c=-0.7.
Y aquí la función z+z.^cos(z).
miércoles, 2 de julio de 2008
jueves, 15 de mayo de 2008
Rompecabezas
En la última reunión del grupo se planteó la idea de hacer un rompecabezas con fotos. Aquí está mi primera versión.
La foto se divide en cuadrados, y el usuario tiene que desordenarlos con el ratón para luego volver a ordenarlos. Las reglas son las clásicas, solo se puede mover una ficha a la posición del agujero cuando esta es adyacente al agujero.
Funciona completamente, pero de momento solamente trabaja con fotos cuya resolución sea igual a la foto que utilicé para diseñarlo (por cierto que la elección de la foto no fue muy afortunada).
sábado, 10 de mayo de 2008
Dada una función
y un conjunto de valores de x {xi} i=1,2,....,n se pide hallar el valor del parámetro k para el cual los correspondientes yi se aproximan más a números enteros.
El programa de la imagen calcula el error que se comete al aproximar los yi por enteros en función del k elegido. Para cada k, se toma como medida del error la mayor de las diferencias en valor absoluto, entre yi y el entero más próximo.
Está programado para que se pueda introducir la función f(x,k), los valores xi así como el intervalo en el que se debe buscar k.
Podeis ver el código en esta dirección:
o mandadme un email y os lo paso.
Suscribirse a:
Entradas (Atom)