MATLAB: Addtion of two matrix.

add matrix

I am taking inputs from user to enter row n column and adding two matrix. But the output i am getting is of different dimension. please tell me what is the problem in given code.
m = input('Enter number of rows: ');
n = input('Enter number of columns: ');
for i = 1:m
for j = 1:n
str = ['Enter element in row ' num2str(i) ', col ' num2str(j) ': '];
T(i,j) = input(str);
end
end
%a = input('Enter number of rows: ');
%b = input('Enter number of columns: ');
strn = ['Enter elements for matrix S']
for i = 1:m
for j = 1:n
strn = ['Enter element in row ' num2str(i) ', col ' num2str(j) ': '];
S(i,j) = input(strn);
end
end
string= ['Addition is:']
for i=1:m
for j=1:n
C(i,j)=0;
end
end
C(i,j)=0
for i= 1:m
for j=1:n
C(i,j)= T(i,j)+ S(i,j)
end
end

Best Answer

The problem is the line
C(i,j)=0
after the loop that creates the zero-filled array--when done, the i,j indices are one greater than the loop limit so this sets the element at C(m+1,n+1) to zero. Matlab automagically creates a full array of that size so the end result is always going to be one larger than the inputs in each direction.
Simply remove this line--it's not needed.
I presume you're doing this this way as a pedagogical exercise and realize all of these loops can be eliminated?
Also, I'd suggest adding the semicolon to the following line and then using
C(i,j)= T(i,j)+ S(i,j)
disp(C)
at the end. Perhaps you were simply echoing output to command window for debugging, however.