Indexing a value from a vector

I have a for loop where I need to index the vector element when the value exceeds 120, and display the number of iterations it took to reach that value. Can anyone help me? My code:
n=100;
p(1)=14.7;
for i=2:n-1
p(i)=((patm*v1+p(i-1)*vtire)/(v2+vtire));
end
pg=p-patm
and of course all these variable are defined earlier in the script

Réponses (2)

Wayne King
Wayne King le 3 Oct 2013
Modifié(e) : Wayne King le 3 Oct 2013

0 votes

If you don't know the number of iterations in advance, why use a for loop?
Here, I'll test when any element of p goes negative and the looking at the length of the vector, you'll know it occured in the length-1.
n = 2;
p(1) = 14.7;
while all(p>0)
p(n) = p(n-1)-0.01;
n = n+1;
end
length(p)

3 commentaires

Nick
Nick le 3 Oct 2013
The question asks to find how many pumps of the bike pump it takes to reach 120 psi. My loops goes simulates 101 pumps, I just need to index the pump number that makes it to 120 psi. It should be around the 24th pump
Wayne King
Wayne King le 3 Oct 2013
Then what Azzi suggests should work
Nick
Nick le 3 Oct 2013
It did'nt work, it just give me the values that are greater than 120. I just need the first value greater than 120, and the number of strokes
Azzi Abdelmalek
Azzi Abdelmalek le 3 Oct 2013
Modifié(e) : Azzi Abdelmalek le 3 Oct 2013

0 votes

n=100;
p(1)=14.7;
for i=2:n-1
p(i)=((patm*v1+p(i-1)*vtire)/(v2+vtire));
end
pg=p-patm
idx=find(p>=120)

Cette question est clôturée.

Question posée :

le 3 Oct 2013

Clôturé :

le 20 Août 2021

Community Treasure Hunt

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

Start Hunting!

Translated by