How can I define the time steps of an x-y plot?

38 visualizaciones (últimos 30 días)
Vladimir Palukov
Vladimir Palukov el 6 de Jul. de 2019
Comentada: infinity el 7 de Jul. de 2019
Hi! I'm trying to make a script, which plots this equations.
my code so far:
clc;clear;
t=0 % Time
tend=0.40 % end time
dt=0.01; % Time step
f=200; % Frequency in Hz
vs=100; %Velocity in x in mm/s
A1=1.2; %Amplitude in y-direction
A2=0.6; %Amplitude in x-dirction
for t=0:dt:tend;
X=vs*t+A1*sin(2*pi*f*t);
Y=A2*sin(2*pi*f*t+pi/2);
plot (X, Y,'-b')
end
How can I define my time steps so that I get the same plot like like the one from the link? There is sth wrong with my time step.
Thnaks in advance

Respuesta aceptada

infinity
infinity el 6 de Jul. de 2019
Hello,
To get the same figure, you should refine the time step and then you should store value of X and Y with respect to t before you plot them. For example, some lines below will give the same figure
clc;
clear;
close all
tend=0.40; % end time
dt=0.0001; % Time step
f=200; % Frequency in Hz
vs=100; %Velocity in x in mm/s
A1=1.2; %Amplitude in y-direction
A2=0.6; %Amplitude in x-dirction
t = 0:dt:tend;
X=vs*t+A1*sin(2*pi*f*t);
Y=A2*sin(2*pi*f*t+pi/2);
plot(X,Y,'-b')
xlabel('x')
ylabel('y')
% for t=0:dt:tend
% X(i)=vs*t+A1*sin(2*pi*f*t);
% Y(i)=A2*sin(2*pi*f*t+pi/2);
% plot (X, Y,'-b')
% hold on
% end

Más respuestas (1)

Vladimir Palukov
Vladimir Palukov el 7 de Jul. de 2019
Thanks for the reply :)
Is it possible to use some form of for loop or sth to add the real time movement ot the oscillation? This is why I put the plot inside the loop on first place
  1 comentario
infinity
infinity el 7 de Jul. de 2019
Yes,
You can put the data X, Y inside the loop like this
clc;
clear;
close all
tend=0.40; % end time
dt=0.0005; % Time step
f=200; % Frequency in Hz
vs=100; %Velocity in x in mm/s
A1=1.2; %Amplitude in y-direction
A2=0.6; %Amplitude in x-dirction
t = 0:dt:tend;
X=vs*t+A1*sin(2*pi*f*t);
Y=A2*sin(2*pi*f*t+pi/2);
figure
for i = 1:1:length(t)-1
plot(X(1,i:i+1),Y(1,i:i+1),'-*b')
hold on
xlabel('x')
ylabel('y')
pause(1)
end
hold off
It will give you the movement of X, Y during the time.

Iniciar sesión para comentar.

Categorías

Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by