titles = {'test 1', 'test 2'};
soph = linspace(0.3, 0.7, 100); 
utils_sinc = rand(100, 3, length(cdfs_in)) * 0.5 + 1; 
utils_tot = rand(100, 3, length(cdfs_in)) * 0.5 + 1; 
figure('Position', [0, 0, 1200, 600]); 
T=tiledlayout(1, length(cdfs_in));  
    t.Layout.TileSpan = [1 1];
    t.TileSpacing = 'compact'; 
    plot(soph, utils_sinc(:,1,i)) 
    plot(soph, utils_sinc(:,2,i)) 
    plot(soph, utils_sinc(:,3,i)) 
    ylabel("Mean Utility", 'FontSize', 12);
    xlabel("Fraction of Students who are Sophisticated (P_{soph})", 'FontSize', 12);
    title("Sincere Students", 'FontWeight', 'normal');
    plot(soph, utils_tot(:,1,i)) 
    plot(soph, utils_tot(:,2,i)) 
    plot(soph, utils_tot(:,3,i)) 
    title("All Students", 'FontWeight', 'normal'); 
    xlabel("Fraction of Students who are Sophisticated (P_{soph})", 'FontSize', 12);
    ylabel("Mean Utility", 'FontSize', 12);
ax = axes(T, 'Visible', 'off');
hOptimal = plot(ax, NaN, NaN, 'DisplayName', 'Optimal Taiwan Mechanism', 'Color', 'b');
hBoston = plot(ax, NaN, NaN, 'DisplayName', 'Boston Mechanism', 'Color', 'r');
hDeferred = plot(ax, NaN, NaN, 'DisplayName', 'Deferred Acceptance', 'Color', 'y');
lgd = legend([hOptimal, hBoston, hDeferred]);
lgd.Layout.Tile = 'south';