MATLAB Answers

Finite Difference Method to find Steady State

18 views (last 30 days)
James on 8 Apr 2020
Commented: Ragul Kumar on 6 Nov 2020
Hello experts,
I have to solve the following equation to find a converged solution.
At i=0, T=10 and at i=5, T=50. (n=5)
I want to get the converged solution of T at i=2, 3, 4.
I'm fairly comfortable with MATLAB but this is the first time that I'm using MATLAB for these kind of mathematical approach and I'm learning completely alone, relying on online materials.
How should I approach this? I'd appreciate your recommendations, reading materials, suggestions and/or pointers rather than a complete code at this point.
I know the question is vague but I'd welcome any suggestions for starting points :)


Torsten on 8 Apr 2020
What are the values for T_i^n for n =0 ?
James on 8 Apr 2020
Apologies, I've missed including that info properly.
When n=0, T_i^(n+1)=10, 73, 100, 85, 50 respectively at i=1, 2, 3, 4, 5.
Ragul Kumar
Ragul Kumar on 6 Nov 2020
Hello experts,
I am trying to solve the finite difference methof for crank nicolson scheme to 2d heat equation. please let me know if you have any MATLAB CODE for this
Boundary codition are
If you can kindly send me the matlab code, it will be very useful for my research work . thank you very much.

Sign in to comment.

Accepted Answer

Torsten on 8 Apr 2020
Edited: Torsten on 9 Apr 2020
T = zeros(6,5);
T(1:6,1) = 10;
T(1:6,5) = 50;
T(1,2) = 73;
T(1,3) = 100;
T(1,4) = 85;
for n=1:5
for i =2:4
T(n+1,i) = T(n,i) + 0.3*(T(n,i+1)-2*T(n,i)+T(n,i-1));


Show 2 older comments
James on 9 Apr 2020
This works!
However, I noticed that I haven't stated my question correctly. To find the converged solution, equation has to be iterated until the steady state approaches. I will start a new thread, properly stating the question.
Edit: I posted the question again, hopefully it makes more sense now.
Torsten on 9 Apr 2020
Either choose a larger value than 5 for n or solve directly the linear system dT/dt = 0, i.e.
T(1) = 10
T(i+1) - 2*T(i) + T(i-1) = 0 (i=2,3,4)
T(5) = 50
James on 9 Apr 2020
Thank you, Torsten. I think that was what I wanted. It was my fault that I didn't post the question correctly :)
I'm still learning and I will try your suggestion.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!