Inviare Array via seriale Matlab---> Arduino

Salve a tutti
dovrei inviare da Matlab ad Arduino dei valori da immagazzinare in un array . Essi poi devono essere inviati via seriale ad un altro arduino. Non riesco a capire perchè non va.. in pratica non arriva un bel niente all'arduino "slave". Posto i codici...
Matlab

joy = vrjoystick(1); 
delete(instrfind({'Port'},{'COM7'}))      %cancella tutto ciò che era presente nella seriale
porta_seriale=serial('COM7','BaudRate',9600);         %apro comunicazione seriale
fopen(porta_seriale);
pause(2);
cont_sample=1;
while cont_sample<=sample
    [axes, buttons, povs] = read(joy);        %leggo tutto ciò che arriva dal joystick
    grill=buttons(1);                         %grilletto
    a=buttons(7);
    A=[grill a]
    fprintf(porta_seriale,'%c',num2str(grill));
    fprintf(porta_seriale,'%c',num2str(a));
    cont_sample=cont_sample+1;
    
end
fclose(porta_seriale);
delete(porta_seriale);
clear all;
fprintf('fine');
end

Arduino Master

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TXchar 
char Matlab[2];
int NumValSer=2;
void setup() {
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
Serial.begin(9600);
mySerial.begin(9600);}
void loop() { 
if (Serial.available() >= NumValSer){
   for (int i=0; i<NumValSer; i++){
       Matlab[i]=(Serial.read()-'0');
       mySerial.write(Matlab[i]);}
        }}

Arduino slave

int NumValSer=2;
char Matlab[2];
void setup() {
pinMode(9, OUTPUT);
pinMode(3, OUTPUT);
Serial.begin(9600);
Serial1.begin(9600);}
void loop() {  
  if (Serial1.available() >= NumValSer){   
  for (int i=0; i<(NumValSer); i++){
   Matlab[i]=(Serial1.read()-'0');}}
   else {pinMode(10,HIGH);}
   if (Matlab[0]==1)
      {digitalWrite(9,HIGH);}
else  {digitalWrite(9,LOW);}
     if (Matlab[1]==1) { digitalWrite(3,HIGH);
                         delay(1);}
                         else {digitalWrite(3,LOW);}
              
  }