Círculos Con Matlab

2
Círculos con Matlab La primera vez que tuve que hacerlo (hace 2 años con Matlab 5.3), intuitivamente me imaginé que podía hacerlo mediante una función llamada "circle" o algo así, pero para mi sorpresa, dicha función no existe. Por qué? Sencillo, el círculo no es una función. El siguiente paso fue partir la ecuación (x^2 + y^2 = r^2) en "y = sqrt(r^2 - x^2)" y "y = -sqrt(r^2 - x^2)" y graficarlas ambas, el problema fue que matlab cambió el color de la segunda gráfica; fácil, pensé, pues cambio el color de la segunda y listo, pero además, en el punto en que ambas funciones se unen en el eje "y", la gráfica no se ve suave (Es lógico, son dos funciones distintas). Así que resolví crear mi propia función "circle(h,k,r)". Cómo se convierte una relación en una función? Con ecuaciones paramétricas (Cambio de coordenadas o como le quieran decir). cos(o)^2 + sin(o)^2 = 1, multiplicando por "r^2" (r^2)*cos(o)^2 + (r^2)*sin(o)^2 = r^2, igualando a x^2 + y^2 = r^2, tenemos que x = r*sin(o) y = r*cos(o) Les recuerdan las coordenadas polares? :) La función quedó así: (Archivo circle.m) ---------------------------------------------------- function [x,y]=circle(h,k,r) %Give the values for x and y for plot a CIRCLE. % [X,Y] = CIRCLE(H,K,R) % This Example plot a CIRCLE: % h=input('Type h: '); % k=input('Type k: ');

description

MatLab - Programación

Transcript of Círculos Con Matlab

Page 1: Círculos Con Matlab

Círculos con Matlab

La primera vez que tuve que hacerlo (hace 2 años con Matlab 5.3), intuitivamente me imaginé que podía hacerlo mediante una función llamada "circle" o algo así, pero para mi sorpresa, dicha función no existe.

Por qué? Sencillo, el círculo no es una función.

El siguiente paso fue partir la ecuación (x^2 + y^2 = r^2) en "y = sqrt(r^2 - x^2)" y "y = -sqrt(r^2 - x^2)" y graficarlas ambas, el problema fue que matlab cambió el color de la segunda gráfica; fácil, pensé, pues cambio el color de la segunda y listo, pero además, en el punto en que ambas funciones se unen en el eje "y", la gráfica no se ve suave (Es lógico, son dos funciones distintas).

Así que resolví crear mi propia función "circle(h,k,r)".

Cómo se convierte una relación en una función? Con ecuaciones paramétricas (Cambio de coordenadas o como le quieran decir).

cos(o)^2 + sin(o)^2 = 1, multiplicando por "r^2"(r^2)*cos(o)^2 + (r^2)*sin(o)^2 = r^2, igualando a x^2 + y^2 = r^2, tenemos que

x = r*sin(o)y = r*cos(o)

Les recuerdan las coordenadas polares? :)

La función quedó así: (Archivo circle.m)----------------------------------------------------function [x,y]=circle(h,k,r)%Give the values for x and y for plot a CIRCLE.% [X,Y] = CIRCLE(H,K,R)% This Example plot a CIRCLE:% h=input('Type h: ');% k=input('Type k: ');% r=input('Type r: ');% [x,y]=circle(h,k,r);% plot(x,y),grid,axis equal,hold on%%@autor Jairo Corredor%@Date 10/05/02

o=-pi:0.001:pi;x=r*cos(o)+h;y=r*sin(o)+k;