The solution that I found was to use trial and error to search for the correct input for the command: figure('Position', [100 100 x(1) x(2)]);
This can be done automatically by saving the function reso_test to a file:
function [ output_args ] = reso_test( resolution ) close all; figure('position', [100 100 max(resolution(1), 1) max(resolution(2),1) ]); frame = getframe(gcf); output_args(1) = size(frame.cdata, 1); output_args(2) = size(frame.cdata, 2); end
And then running the following script:
target_resolution = [401 401]; options = optimset ('Display', 'iter', 'TolFun', 0.1, 'TolX', 0.1); x = fminsearch(@(x)(sum(abs(reso_test(x) - target_resolution))), target_resolution, options);
Finally, the x contains the input to get the target resolution.
My solution is very inefficient, but I could not think of anything else that would be platform independent.