function [ sum_matrix, sum_range ] = mAddAndPadMatrices( first_matrix, first_range, second_matrix, second_range ) new_range_row_min = min( [ first_range(1,1) second_range(1,1) ] ); new_range_row_max = max( [ first_range(1,2) second_range(1,2) ] ); new_range_col_min = min( [ first_range(2,1) second_range(2,1) ] ); new_range_col_max = max( [ first_range(2,2) second_range(2,2) ] ); sum_matrix = [ zeros( first_range( 1, 1 )-new_range_row_min, new_range_col_max-new_range_col_min+1 ) zeros( first_range( 1, 2 )-first_range( 1, 1 )+1, first_range( 2, 1 )-new_range_col_min ),... first_matrix, ... zeros( first_range( 1, 2 )-first_range( 1, 1 )+1, new_range_col_max-first_range( 2, 2 ) ) zeros( new_range_row_max-first_range( 1, 2 ), new_range_col_max-new_range_col_min+1 ) ] ... + [ zeros( second_range( 1, 1 )-new_range_row_min, new_range_col_max-new_range_col_min+1 ) zeros( second_range( 1, 2 )-second_range( 1, 1 )+1, second_range( 2, 1 )-new_range_col_min ),... second_matrix, ... zeros( second_range( 1, 2 )-second_range( 1, 1 )+1, new_range_col_max-second_range( 2, 2 ) ) zeros( new_range_row_max-second_range( 1, 2 ), new_range_col_max-new_range_col_min+1 ) ]; sum_range = [ new_range_row_min, new_range_row_max new_range_col_min, new_range_col_max ];