Когда вы нажимаете Ctrl C , MATLAB интерпретирует его как прерывание. Я не думаю, что есть способ для вас перехватить вызов и сделать что-то вроде перехода к другому циклу или около того, например.
Однако вы можете использовать функцию onCleanup
для выполнения таких операций, как закрытие дескрипторов открытых файлов, удаление временных файлов, запись журнала, отображение сообщения или даже сохранение рабочего пространства до прерывания MATLAB. Однако его нужно вызывать изнутри функции.
Вот простой иллюстративный пример
function test
currentDir=pwd;
cd 'path to some folder'
c=onCleanup(@()cd(currentDir));
for i=1:...
%#some computations here
end
Поэтому, когда эта функция запускается и вы прерываете ее, она возвращает вас в ту же папку, в которой вы находились, когда запускали ее. Это удобно, если вы не застряли в какой-то случайной папке и вам нужно каждый раз вводить вручную.