MATLAB: Subtracting vector elements, with an if condition

arrayif statement

Hey guys,
I need to subtract every element in my array with the element next to it and before it, then if the result of the subtraction is 0 on either subtraction, I need a new array where the elements which weren't 0 are keep their original values, but the elements which were 0 stay 0. Is this possible?
a=[1 2 3 4 5 6 7 7 7 7 7 8 9 10 11 12 13];
b=[1 2 3 4 5 6 0 0 0 0 0 8 9 10 11 12 13];
Thanks in advance!

Best Answer

a = [1 2 3 4 5 6 7 7 7 7 7 8 9 10 11 12 13];
b = a;
d = diff(a)==0;
b([false,d] | [d,false]) = 0