Muchas funciones son más fáciles de ser representadas en coordenadas polares. Por ejemplo, la cardiode:
ρ = R·(1+cos(θ+τ/4))
donde θ va de 0 a τ. (Ya sabes, τ = 2·π.)
Para dibujar una función en polares, podemos usar directamente la función "polar", como muestro a continuación:
R = 1;
tita = 0:0.01:2.0*pi;
rho = R*(1+cos(tita+pi/2));
figure(1)
polar(tita,rho,'m-')
x = rho.*cos(tita);
y = rho.*sin(tita);
figure(1)
hold on
box on
plot(x,y,'-','LineWidth',2,'Color',[0.5 0.05 0.9])
axis equal
axis([-1.5 1.5 -2.5 0.5])
set(gca,'XTick',[-1.5:0.5:1.5])
set(gca,'XTickLabel',{'-1.5','-1.0','-0.5','0.0','0.5','1.0','1.5'})
set(gca,'YTick',[-2.5:0.5:0.5])
set(gca,'YTickLabel',{'-2.5','-2.0','-1.5','-1.0','-0.5','0.0','0.5'})
set(gca,'Fontsize',10)
ρ = R·(1+cos(θ+τ/4))
donde θ va de 0 a τ. (Ya sabes, τ = 2·π.)
Para dibujar una función en polares, podemos usar directamente la función "polar", como muestro a continuación:
R = 1;
tita = 0:0.01:2.0*pi;
rho = R*(1+cos(tita+pi/2));
figure(1)
polar(tita,rho,'m-')
Sin embargo, para editar el gráfico, es más fácil hacerlo en coordenadas cartesianas. Para ello, primero transformamos las variables "tita" y "rho", en cartesianas ("x" e "y"):
x = rho.*cos(tita);
y = rho.*sin(tita);
Y a continuación, representamos "x" e "y" normalmente:
figure(1)
hold on
box on
plot(x,y,'-','LineWidth',2,'Color',[0.5 0.05 0.9])
axis equal
axis([-1.5 1.5 -2.5 0.5])
set(gca,'XTick',[-1.5:0.5:1.5])
set(gca,'XTickLabel',{'-1.5','-1.0','-0.5','0.0','0.5','1.0','1.5'})
set(gca,'YTick',[-2.5:0.5:0.5])
set(gca,'YTickLabel',{'-2.5','-2.0','-1.5','-1.0','-0.5','0.0','0.5'})
set(gca,'Fontsize',10)
Nota: La línea "axis equal" es importante para que Matlab no deforme el tamaño de los ejes, como suele hacer por defecto
Por último, si queremos añadir los ejes, podemos hacerlo directamente así:
No hay comentarios:
Publicar un comentario