matrix2=[]
for i in range(self.row):
for j in range(self.col):
matrix2[i][j]=self.c[i][j]+self.v[i][j]
You declare matrix2 as a list, but at that point it does not contain any members, or dimensions. You need to append values from the row and col counts, creating internal lists of columns for each row. Something like:
matrix2=[]
for i in range(self.row):
matrix2.append([])
for j in range(self.col):
matrix2[i].append(self.c[i][j]+self.v[i][j])