Cách tôi khắc phục hạn chế này là biến các tập lệnh của tôi thành các hàm không có đối số (nếu tôi cần các biến từ không gian tên chung, tôi hoặc chuyển chúng một cách rõ ràng vào hàm hoặc sử dụng "evalin" để lấy chúng.)
Sau đó, bạn có thể xác định tất cả các chức năng bổ sung mà bạn cần trong "script". Đó là một bản hack, nhưng tôi thấy nó khá mạnh trong những trường hợp tôi cần một số chức năng không tầm thường.
CHỈNH SỬA: Đây là một ví dụ đơn giản. Tất cả điều này có thể nằm trong một tệp duy nhất.
function [] = myScriptAsAFunction()
img = randn(200);
img = smooth(img);
figure(1);
imagesc(img);
axis image;
colorbar;
end
function simg = smooth(img)
simg = img / 5;
end