How can write loop for this algorithm?

1 visualizzazione (ultimi 30 giorni)
Sakdinon Nopparit
Sakdinon Nopparit il 24 Ago 2020
Commentato: Jan il 30 Ago 2020
If i have A={1 1 2 2 3 3 3 4 4 8 9 10}
How can i run data from 1
after that i plus that data with 1
if data that i got is in A it will plus 1
if i not it will stop loop and show that outcome too
from my example it will stop at 4 and show 4 as a outcome

Risposte (1)

Jan
Jan il 25 Ago 2020
Modificato: Jan il 25 Ago 2020
I'm not sure, because the question is not completely clear to me. Perhaps:
A = [1 1 2 2 3 3 3 4 4 8 9 10];
d = diff(A);
v = find(d > 1, 1, 'first');
if isempty(v)
disp('Number not found')
else
A(v)
end
  2 Commenti
Sakdinon Nopparit
Sakdinon Nopparit il 26 Ago 2020
thank you
let me give you another example
if A=[-0.8687 -0.8677 -0.8677 -0.8667 -0.2547]
and i start from the first data and keep adding 0.001 until it not found the data in this array
from my example it will adding 0.001 until -0.8657 and it will stop becuase -0.8657 is not in this array
after that show previous data
Jan
Jan il 30 Ago 2020
What exactly is "the previous data"? Please explain explicitly, which output you want.
A = [-0.8687 -0.8677 -0.8677 -0.8667 -0.2547]
d = diff(A);
% d = [0.0010 0 0.0010 0.6120]
So do you search for the first number, which is greater than 0.001? Then use the already suggested code.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by