MATLAB: How to clear all the variables except one before restarting the program

clear variables

Is there a way to clear all of the variables except one when I end a game I wrote so that the next time it starts the variables have to be re-entered?
I have a program where it runs while program == 1, so when I ask the user if they want to play again, if they don't answer yes, then program = 0 and the program ends, so if I could clear all the variables except program, that would be super convenient.

Best Answer

Here's a snippet to study:
a = 10 % Declare sample variables.
b = 33;
result = 20;
% Get the names of the variables.
vars = whos
varNames = {vars.name};
celldisp(varNames);
% Let's loop over names, keeping the variable called "result"
for k = length(varNames): -1 : 1
fprintf('Checking %s\n', varNames{k});
if strcmp(varNames{k}, 'result')
continue;
end
fprintf(' Deleting %s\n', varNames{k});
clear(varNames{k});
end
clear ('k', 'varNames', 'vars'); % Get rid of loop iterator and other temporary items.