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

2 vues (au cours des 30 derniers jours)
Vladimir Palukov
Vladimir Palukov le 6 Juil 2019
Commenté : infinity le 7 Juil 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

Réponse acceptée

infinity
infinity le 6 Juil 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

Plus de réponses (1)

Vladimir Palukov
Vladimir Palukov le 7 Juil 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 commentaire
infinity
infinity le 7 Juil 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Animation dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by