Working with for loop

1 visualizzazione (ultimi 30 giorni)
Tania Islam
Tania Islam il 6 Lug 2020
Commentato: Tania Islam il 7 Lug 2020
Hi,
In my following code I want my final result ( final_delay) without skipping any index. Currently it skipping 4 index because of this line (i_value= 1:4:len). But I dont want to skip this index for my final result. How can I do that.
Thank you so much for your time and considerations.
data1=rand(1,1000)
data2=rand(1,1000)
data3=rand(1,1000)
len=200;
time=zeros(1,len)
trigger=3
for i_value= 1:4:len
delay1=data1(i_value)
delay2=data1(i_value+1)
delay_1=(delay1+delay2)/2
delay3=data2(i_value)
delay4=data2(i_value+1)
delay_2=(delay3+delay4)/2
RTT_1=data2(i_value+2)+data3(i_value)+data1(i_value+2)
final_delay(i_value)= abs(RTT_1-delay_1-delay_2)
end
  5 Commenti
madhan ravi
madhan ravi il 6 Lug 2020
Yet again you forgot to attach how the expected result should look like. Paste it as a text , screenshot is not useful.
Tania Islam
Tania Islam il 6 Lug 2020
Thank you so much for your time to consider this problem. I think I am close to my answer by @Matt J.

Accedi per commentare.

Risposta accettata

Matt J
Matt J il 6 Lug 2020
Modificato: Matt J il 6 Lug 2020
I_values=1:4:len;
final_delay=nan(1,numel(I_values)); %PRE-ALLOCATE!!!!!!
for k=1:numel(I_values)
i_value=I_values(k);% Matt J inserted
delay1=data1(i_value)
delay2=data1(i_value+1)
delay_1=(delay1+delay2)/2
delay3=data2(i_value)
delay4=data2(i_value+1)
delay_2=(delay3+delay4)/2
RTT_1=data2(i_value+2)+data3(i_value)+data1(i_value+2)
final_delay(k)= abs(RTT_1-delay_1-delay_2) %Matt J edited
end
  3 Commenti
Matt J
Matt J il 6 Lug 2020
We are not deleting anything, just filling a smaller vector.
Tania Islam
Tania Islam il 7 Lug 2020
Thank you so much

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by