Hola Flo,
Ok, primero hay que decir que en Octave vamos a poder hacer un plot de
la función evaluándola en muchos puntos. Si realmente necesitas hacer
calculo simbólico te recomiendo que mires Sagemath
http://www.sagemath.org/ o pruebes el paquete symbolic de octave
(
http://octave.sourceforge.net/symbolic/ que usa sympy, cálculo
simbólico en python).
Ok, una función definida por dominions se puede implementar utilizando
los operadores lógicos.
function z = F(x,y)
z = zeros (size(y,1),size(x,2));
pos = x > 0;
z(pos) = sin (x(pos) ./ y(pos)) ./ x(pos);
neg = x < 0;
z(neg) = ( x(neg).^2 - y(neg)) ./ x(neg);
endfunction
Para visualizarla generamos valores de x e y. Notar la forma de cada uno.
x = linspace (-1, 1, 5);
y = linspace (-2, 2, 500).';
[X Y] = meshgrid (x,y);
Z = F(X,Y);
Podemos hacer plots 2D para ver el comportameinto. Notar que la
función es medio "loca" en el origen.
h = plot (y, Z);
legend (h, strsplit(num2str (x)));
axis tight
xlabel ("y")
ylabel ("f(x,y)")
Tambien podemos hacer un plot 3D, tener cuidado con los tamaños que
elegimos o se pueden quedar sin memoria en la compu.
x = linspace (-1, 1, 60);
y = linspace (-2, 2, 60).';
[X Y] = meshgrid (x,y);
Z = F(X,Y);
surf (X, Y, Z, "edgecolor", "w");
xlabel ("x")
ylabel ("y")
zlabel ("f(x,y)")
axis tight
Adjunto un script con estos comandos.
> --
> Has recibido este mensaje porque estás suscrito al grupo "GNU Octave, aula virtual" de Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a
octave_aulavirt...@googlegroups.com.
> Para publicar en este grupo, envía un correo electrónico a
octave_au...@googlegroups.com.
> Para ver esta conversación en el sitio web, visita
https://groups.google.com/d/msgid/octave_aulavirtual/81e8771a-c728-472d-b779-abed103ac6c4%40googlegroups.com.
> Para acceder a más opciones, visita
https://groups.google.com/d/optout.
--
JuanPi Carbajal
Public GnuPG key: 9C5B72BF
-----
The end of funding: "Many researchers were caught up in a web of
increasing exaggeration."
- Hans Moravec