function plotConvCompare(points_1, title_1, points_2, title_2, points_3, title_3, Min_point, plot_title, filename) % 3D plots a function % points: The points to plot % contur_fun: The function for contour plot % x_lim: The range for x axis. ex: [-2, 2] % y_lim: The range for y axis. ex: [0, 2] % size: The number of points for each axis % plot_title: The latex title for the plot % filename: The filename to save the plot (if exists) % global image_width, global image_height; distances_1 = sqrt((points_1(:,1) - Min_point(1)).^2 + (points_1(:,2) - Min_point(2)).^2); distances_2 = sqrt((points_2(:,1) - Min_point(1)).^2 + (points_2(:,2) - Min_point(2)).^2); distances_3 = sqrt((points_3(:,1) - Min_point(1)).^2 + (points_3(:,2) - Min_point(2)).^2); % 2D plot figure('Name', 'Convergence compare', 'NumberTitle', 'off'); set(gcf, 'Position', [100, 100, image_width, image_height]); % Set the figure size title(plot_title, 'Interpreter', 'latex', 'FontSize', 16); % Title of the plot % One subplot(3, 1, 1); plot(distances_1, '-o'); % Customize the plot ylabel(title_1, 'Interpreter', 'none'); xlabel('Step'); grid on % One subplot(3, 1, 2); plot(distances_2, '-o'); % Customize the plot ylabel(title_2, 'Interpreter', 'none'); xlabel('Step'); grid on % One subplot(3, 1, 3); plot(distances_3, '-o'); % Customize the plot ylabel(title_3, 'Interpreter', 'none'); xlabel('Step'); grid on % save the figure if strcmp(filename, '') == 0 print(gcf, filename, '-dpng', '-r300'); end end