n = 400; m = 100; disp ("create 100 random 400x400 matrices"); a = rand (n, n, m); a = mat2cell (a, n, n, ones (1, m)); a = a(:); err_handler = @(s,m) NaN (size (m)); disp ("calculate pseudoinverses - uniprocess"); tic; p = cellfun (@pinv, a, "UniformOutput", false, "ErrorHandler", err_handler); toc clear p disp ("calculate pseudoinverses - multiprocess"); tic; p = parcellfun (2, @pinv, a, "UniformOutput", false, "ErrorHandler", err_handler); toc