Variable sets to 32767 - MATLAB Arduino
Some findings: 


Your for loop iterates over 71 results, but your array has only the length 70. 
You may overwrite variables in the memory behind the array.
You can use else instead of else if (i &gt;= 70 * 0.1) because it is just the negation of the if (i &lt; 70 * 0.1). In the else case (i &gt;= 70 * 0.1) is always true.  


What is the type of myVariable? If you assign incompatible types (signage or length) an over- or underflow can happen. 32767 = 2^15 - 1 = 0b0011111111111111 (14 bits on) that looks pretty much like an underflow and a conversion of incompatible types. 

EDIT:

By a second read of your question I saw another possibility of failure:

You copy the bytes of a two byte signed integer into 2 bytes and send it to matlab. 

byte dataOut[2] = {
  highByte( LOG_myVariable ),
  lowByte( LOG_myVariable )  
 };


Let's say you have a negative number in LOG_myVariable. In Memory this is represented with a one in the highest bit (MSBit) and the complementary bit string plus one (two's complement: See Wikipedia).

An Example:

16 bit signed int -1 is represented as 0b1111111111111111 you split it in two bytes 0b11111111 and 0b11111111. The you send it to Matlab.  

Now it depends on how Matlab interprets the bytes. Are that unsigned int8 or signed int8? you combine the bytes like so:

 myVariableMATLAB = 256 * dataOut(1) + dataOut(2);


If Matlab interprets the bytes as unsigned  you get 256*(-1) + (-1) == -257 but that's not -1. And if it interprets the bytes unsigned it gets 256*255+255 == 65535 which is also not -1. I bet there is a negative number that gives you 32767.