the mysterious for loop
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
peter karlsson
le 23 Nov 2019
Commenté : Rena Berman
le 12 Déc 2019
okey, I am going to create a program that will find a specifit value in a graf
the distance:km i a 1:1000 vector. the y axis
spped_kmph is the same. the x axis
in this program i can put in a single value like 5 and i will find how fast the car was at that point
THE PROBLEM: i Want to put in a vector so i can find the speed at more than 1 point at the time but when i put in a vector i get the message ( Operands to the || and && operators must be convertible to logical scalar values. )
Can someone figure out the for loop i need to put in?
So if i put in a vecor x = [4:10] it will go throuh all those values one by one and in the end sopt out 6 values for ''v''
function v=velocity_(x, route)
load(route);
index = findpos(distance_km', x);
%i need to put in a for loop here
x1 = distance_km(index-1);
x2 = distance_km(index);
y1 = speed_kmph(index-1);
y2 = speed_kmph(index);
v = y1 * (x-x2)./(x1-x2)+y2*(x-x1)./(x2-x1)
end
------
findpos is this function
------
function index = findpos(vector,val)
vMAX = length(vector);
x=1
if val < vector(1) || val > vector(vMAX)
index = -1;
elseif val == vector(1)
index = 2;
else
while val > vector (x)
x = x+1;
end
index = x;
end
Réponse acceptée
Star Strider
le 23 Nov 2019
4 commentaires
Star Strider
le 24 Nov 2019
As always, my pleasure.
I do not understand what you are doing.
I encourage you to experiment to see what works.
Plus de réponses (1)
Walter Roberson
le 23 Nov 2019
function index = findpos(vector, vals)
index = interp1(vector, 1:length(vector), vals, 'previous');
index(isnan(index)) = -1;
end
0 commentaires
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!