La forma en que evito esta limitación es convertir mis scripts en funciones que no toman argumentos (si necesito variables del espacio de nombres global, las paso explícitamente en la función o uso "evalin" para tomarlas).
Luego, puede definir todas las funciones adicionales que necesita en el "script". Es un truco, pero lo he encontrado bastante poderoso en aquellos casos en los que necesito varias funciones no triviales.
EDITAR: Aquí hay un ejemplo simplista. Todo esto puede residir en un solo archivo.
function [] = myScriptAsAFunction()
img = randn(200);
img = smooth(img);
figure(1);
imagesc(img);
axis image;
colorbar;
end
function simg = smooth(img)
simg = img / 5;
end