Matlab - Ayuda pintando!!

 
Vista:

Ayuda pintando!!

Publicado por Mary (27 intervenciones) el 20/07/2015 12:15:23
Hola! Mirad is dejo un programa muy sencillo. Mi problema es que al pintar solo me aparece un punto. Cuando en el resultado de y obtengos varios valores dependiendo de las k. Un saludo


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
%frecuencias iniciales
w1=input(' Frecuencia 1: ');
w2=input('Frecuencia 2: ');
 
%tiempo final hasta el que integro
tf=input('Introduce el tiempo que consideres suficientemente largo: ');
 
%que me pida un k para que el que dejar de evaluar que será 20
klim=input('Introduce el k limite: ');
 
%Condiciones iniciales aleatorias
c=0;
d=2*pi;
 
xo(1)=c+(d-c)*rand(1);
x0(2)=c+(d-c)*rand(1);
 
%parámetros ode45: tiempo integracion y opciones
tspan=linspace(0,tf);
options=odeset('RelTol',1e-6);
a=w2-w1;
%realizamos bucle para que recorra cada k hasta un k que queremos estudiar
%la solucion numérica con ode45
for k=a:1:klim
 
%condiciones iniciales 
x0=zeros(1,2);
 
%funcion que queremos integrar
fg=@(t,x) [w1+(k/2)*sin(x(2)-x(1)); w2+(k/2)*sin(x(1)-x(2))];
 
%ode45 integra funcion  
[t,x]=ode45(fg,tspan,x0,options);
 
y=x(2)-x(1)
 
%pinta las frecuencias observadas m y n en funcion de los valores de k.
plot(k,y,'ok')
 
 
end
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