Il problema è sicuramente di codifica.
Adesso se devo essere sincero quando io ho risolto lo stesso problema tuo non avevo fatto solo l’errore di codifica ma ce n’era anche un altro e quindi risolto quello non ho più approfondito e le cose funzionavano forse per un qualche scherzo del destino 🙂
Il fatto è che tu hai scritto il tuo file con la codifica utf8 e poi gli hai dato in pasto un file in latin1. Tutti i caratteri speciali quindi sfarfallano (se non ti da errore).
Quello che devi fare è lasciare utf8 in inputenc e poi quando carichi il file di matlab dire a listing che quel file è scritto in latin1.
Quindi
\usepackage[utf8]{inputenc}
e poi nelle opzioni di listing
\lstset{ tutte le altre opzioni,
inputencoding=latin1
}
in questo modo penso che vada (o, almeno, a me funziona 😉 )