if condition is true record value from next row

I am looking to latency of a trial IF the previous row was incorrect "0" and the current row is correct "1" to answer the question to people answer faster if they get the previous question wrong
I have tried using the code below
tabm.Error = tabm.Correct;
%tabm.Error is a new column I am trying to create
if istable (tabm.Error)
[r,c] = size(tabm.Error);
for i=1:r
A = tabm.Correct(r)==0;
B = tabm.Correct(r+1)==1;
if A && B
tabm.Error = 1;
else tabm.Error = 0;
end
end
end
Currently, the Error column is just a copy of the Correct Column
Thank you!

1 commentaire

You didn't subscript the Error variable in the assignment so each assignment writes the whole vector of 1|0.
Excepting your loop over i doesn't use i at all; every refererence to tabm.Correct is to the last and (non-existant) last + one elements. That looks like should have error'ed on an out-of-bounds reference.
Try something more like
ix=[0;diff(tabm.Correct)==1];
tabm.Error=ix;

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Entering Commands dans Centre d'aide et File Exchange

Produits

Version

R2021b

Question posée :

le 15 Nov 2021

Commenté :

dpb
le 15 Nov 2021

Community Treasure Hunt

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

Start Hunting!

Translated by