Eu posso entender porque o Matlab lança um erro. str3 é indefinido em seu exemplo, mas a partir de sua descrição, posso fazer com que str3 seja definido em sua área de trabalho e contenha uma string. Na linha 3, você fez uma função que é independente de x que avalia o que foi str3 antes de executar a linha 3, sempre que g é chamado. Eu acho que sua linha 3 não reflete o que você pretendia.
Acho que o que você tenta fazer é algo ao longo das linhas:
g = @(x) eval(x);
g('x = zeros(3,3)')
Mas você não descreveu o que você pretendia alcançar. Por favor, forneça mais detalhes.