Matlab - ayuda con bucle for

 
Vista:

ayuda con bucle for

Publicado por pantery (1 intervención) el 28/11/2015 22:19:04
buenas noches. quisiera que me ayudaran en resolver este ejercicio.
tengo que crear un poligono de n lados mediante el giro de un punto n veces.
he creado un archivo .M con la funcion Rotar

1
2
3
4
5
function [s]=Rotar(A,a)
 
R=[cos(a) -sin(a); sin(a) cos(a)]
s=R*A
end

y la llamo desde el programa principal

1
2
3
4
5
6
7
8
9
10
11
12
13
%ejercicio4 vamos a construir un M-fichero que dibueje un poligono de n
%lados
%numero de lados=2pi/n
%el programa debe llamar n veces a la funcion rotar
b=1;
n=input('introduce numero de lados: ')
a=2*pi/n
x1=input('componente x')
y1=input('componente y')
A=[x1;y1]
for b=1:n
    S=Rotar(S,a)
end

pero siempre me da la misma salida... me estoy equivocando en la forma de llamar a la funcion o en el propio bucle??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

ayuda con bucle for

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 29/11/2015 13:55:31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function datos
close all
n=input('introduce numero de lados: ');
a=2*pi/n;
x1=input('componente x: ');
y1=input('componente y: ');
A=[x1;y1];
for b=1:n
A=Rotar(A,a);
aa(b)=A(1); bb(b)=A(2);
end
plot([aa aa(1)],[bb bb(1)])
axis('image')
end
 
function s=Rotar(A,a)
R=[cos(a) -sin(a); sin(a) cos(a)];
s=R*A;
end


circunferencia


Saludos .
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
[email protected]
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación en Matlab.
Toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar