I would translate the file to JSON format and save the whole class instead of the key-value pairs of INI files
JSON is great for many reasons and you can get all the benefits of using a settings object (like property validators for one)
I would refrain from making this class static, as static classes are bad news for testing and scaling up your application.
I would load a single settings object on startup and pass it arround, but if you must, you can make a static instance of the class.
heres a simple example of a self saving/loading settings class, I made it a handle class so that you can make a single settings object, you can also edit that object at runtime and save your user preferences (such as the last browsed folder, etc.) and save the settings file when you close the app.
classdef SettingsClass < handle
function this = SettingsClass(A)
if nargin < 1; A = ; end
if ~isempty(A) && (isstruct(A) || isa(A, 'SettingsClass'))
elseif isStringScalar(A) || (ischar(A) && (isrow(A) || isscalar(A)))
function copyFromStruct(this, s)
this.(currField) = s.(currField);
function load(this, path)
function save(this, path)