MATLAB: 2D Temperature Distribution

for loop

I need to plot the temperature distribution for the square cross-section of a bar, 3 sides are fixed at a temperature of 283 K, the fourth side at 508 K and the initial temperature of the interior is 307 K everwhere. The analytical solution is as follows:
L and W are both equal to 1, and the summation is done from n =1 to n =100. Here is what I have done so far, I've tried to make 100 10 x 10 grids and populate each element with values for theta and then sum all the grids to give a final 10 x 10 grid for the temperature distribution. I don't really understand how to execute this with for loops, thanks for any help.
X = 10;
Y = 10;
theta1 = zeros (X,Y);
for n =1:100
for X1 = 1:X
for Y1 = 1:Y
theta1(n,X1,Y1)=(2/pi)*(((-1)^(n+1)+1)/(n))*sin(n*pi*X1/L)*(sinh(n*pi*Y1/L))/(sinh(n*pi*W/L));
end
end
end
theta1sum = sum(theta1);

Best Answer

I made some changes in your code
X = 10;
Y = 10;
theta1 = zeros(X,Y);
for n =1:100
theta1 = theta1 + (2/pi)*(((-1)^(n+1)+1)/(n))*sin(n*pi*X1/L).*(sinh(n*pi*Y1/L))./(sinh(n*pi*W/L));
end
surf(X,Y,theta1)
Pay attention to bit-wise operators (i highlighted in red)
Related Question