MATLAB Answers

Finite Difference Method to find Steady State

21 ビュー (過去 30 日間)
James
James 2020 年 4 月 8 日
コメント済み: Ragul Kumar 2020 年 11 月 6 日
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 :)
TIA!

  3 件のコメント

Torsten
Torsten 2020 年 4 月 8 日
What are the values for T_i^n for n =0 ?
James
James 2020 年 4 月 8 日
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 2020 年 11 月 6 日
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.

サインインしてコメントする。

採用された回答

Torsten
Torsten 2020 年 4 月 8 日
編集済み: Torsten 2020 年 4 月 9 日
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));
end
end
T

  5 件のコメント

表示 2 件の古いコメント
James
James 2020 年 4 月 9 日
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
Torsten 2020 年 4 月 9 日
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
James 2020 年 4 月 9 日
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.

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by