triple "and" condition

Hello,
I have a script that part of it is checking that the values of the table line are in the region of interest and then save it to other arrays.
When I added a 3rd condition (marked in underline) to the if function, I started to get error messege (not detailing what's wrong).
this is the script:
for i=2:length(Ge_find)
if ( (coince_table.time_stamp(Ge_find(i)) - coince_table.time_stamp(Ge_find(i)-1)) >= coince_win_LL ...
&& (coince_table.time_stamp(Ge_find(i)) - coince_table.time_stamp(Ge_find(i)-1)) <=coincesh_win_UL)...
&& (coince_table.detector((Ge_find(i)-1)) == 0)
Delta(r) = (coince_table.time_stamp(Ge_find(i)) - coince_table.time_stamp(Ge_find(i)-1));
Ge_energy(r)= coince_table.energy(Ge_find(i));
scint_energy(r) = coince_table.energy(Ge_find(i)-1);
Ge_timestamp (r) = coince_table.time_stamp(i);
scint_timestamp (r) = coince_table.time_stamp(Ge_find(i)-1);
row = Ge_find(i);
r = r+1;
end
end
How can I add this condition?
P.s I also tryed this:
if and( (coince_table.time_stamp(Ge_find(i)) - coince_table.time_stamp(Ge_find(i)-1)) >= coince_win_LL ...
&& coince_table.time_stamp(Ge_find(i)) - coince_table.time_stamp(Ge_find(i)-1)) <=coincesh_win_UL, (coince_table.detector((Ge_find(i)-1)) == 0)
But it didn't work.

1 个评论

We do not know the size of the variables, so it is difficult to say.
By the way, I suggest
for i=2:length(Ge_find)
tsdiff = coince_table.time_stamp(Ge_find(i)) - coince_table.time_stamp(Ge_find(i)-1);
if tsdiff >= coince_win_LL && ...
tsdiff <= coincesh_win_UL && ...
coince_table.detector((Ge_find(i)-1)) == 0
stuff
end
end

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Operators and Elementary Operations 的更多信息

提问:

2020-10-27

Community Treasure Hunt

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

Start Hunting!

Translated by