Effacer les filtres
Effacer les filtres

How can I find x values given a FOR command?

1 vue (au cours des 30 derniers jours)
Michael Sabol
Michael Sabol le 18 Avr 2020
I need to find out what x values are created at certain intervals of t. t is in a matrix of 0:5:55;
clear;
close;
clc;
a = 40*(pi/180);
v = 1200;
g = 32.2;
k=[0,2e-6,10e-6,20e-6];
k=0;
dt=.5;
t = 0:dt:55
vx = v*cos(a)
vy = v*sin(a)
x = zeros(length(t),4);
y = zeros(length(t),4);
x(1,1)=0;
y(1,1)=0;
vx(1,1)=vx;
vy(1,1)=vy;
for j=2:length (t)
x(j,1) = x(j-1,1)+vx(j-1,1)*dt-.5*k*v(j-1,1).^2*cos(a)*dt.^2
y(j,1) = y(j-1,1)+vy(j-1,1)*dt-5*k*v(j-1,1).^2*sin(a)*dt^2-0.5*g*dt.^2
vx(j,1) = vx(j-1,1)-k*v(j-1,1).^2*cos(a)*dt
vy(j,1) = vy(j-1,1)-k*v(j-1,1).^2*sin(a)*dt-g*dt
a=atan(vy(j,1)./vx(j,1))
v(j,1)=vx(j,1).^2+vy(j,1).^2
end
find (x) = 0:5:55
Transferring what I say in my head "find the x values from the equation when t=0:5:55
to the code is what is irking me
  2 commentaires
Stijn Haenen
Stijn Haenen le 18 Avr 2020
I'm not sure what you want, the result of your script is an matrix 'x' with values corresponding to t=0:0.5:55.
with the function find you can find the position at which a certain relation holds, for example find(x==0) results in position 1 (the first element of x is equal to 0)
Michael Sabol
Michael Sabol le 18 Avr 2020
Stijn,
thanks
it seems that my request wasn't as clear as it could be?
What I want is multiple x values that correspond to the t values in the matrix 0:5:55
so perhaps i cant use the find command for doing that?

Connectez-vous pour commenter.

Réponse acceptée

per isakson
per isakson le 18 Avr 2020
Replace
find (x) = 0:5:55
by
x(1:round(5/dt):end,:)
This should work since 5/dt is a whole number. round takes care of a possible floating point error. When 5/dt isn't a whole number you can use the function interp1()

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by