Why is the code not implementing for i==6 value ?
2 views (last 30 days)
Show older comments
T = zeros(7,12);
for i = 1:7
for j = 1:12
if (i==1 || i==7)
T(i,j) = 1750;
end
if i==4 && (j>3 && j<9)
T(i,j) = 600;
end
if (i==2 || i==6) && (j>1 && j<11)
T(i,j) = (T(i+1,j)+T(i,j+1)+T(i-1,j)+T(i,j-1))/4;
end
end
end
Any help would be appreciated.
3 Comments
Image Analyst
on 1 Oct 2014
See http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup. Also learn to use control-I to properly indent your code before pasting it in here (then highlighting and clicking {}Code button). And take Roger's good advice and paste your properly formatted code back here if you still have problems.
Accepted Answer
Roger Stafford
on 1 Oct 2014
I see one apparent error. The condition (i==1 i==7) will never be true. You need an 'or' symbol in it: (i==1 | i==7).
Also notice that when i is equal to 6, T(i+1),j) will not have been set to 1750 as yet, so the expression
T(i,j) = (T(i+1,j)+T(i,j+1)+T(i-1,j)+T(i,j-1))/4;
may not give you the value you expect. To correct this will require rewriting the routine. Set up your 1750's and 600's first, then do the computation for i==2 | i==6.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!