Я обходжу це обмеження, перетворюючи мої сценарії на функції, які не беруть аргументів (якщо мені потрібні змінні з глобального простору імен, я або явно передаю їх у функцію, або використовую "evalin", щоб захопити їх).
Тоді ви можете визначити всі додаткові функції, які вам потрібні, у "сценарії". Це хакерство, але я виявив, що він досить потужний у тих випадках, коли мені потрібні кілька нетривіальних функцій.
EDIT: Ось спрощений приклад. Все це може міститися в одному файлі.
function [] = myScriptAsAFunction()
img = randn(200);
img = smooth(img);
figure(1);
imagesc(img);
axis image;
colorbar;
end
function simg = smooth(img)
simg = img / 5;
end