How do I solve using centered finite difference formula?
조회 수: 14 (최근 30일)
이전 댓글 표시
%Boundary conditons
y(0) = 1;
y(5) = 6;
h = 2 %Step size
Centered difference formula;
d2y = (y(i+1) - 2y(i) + y(i-1)) / h^2;
dy = (y(i+1) - y(i-1))/2*h;
for i = 2:4
r(i+1) = r(i) + h;
r(i)*(d2y) + 3*(dy)+10*r(i) = 0
end
for i = 1:5
fprintf('%7.3f %10.3f \n', r(i), y(i)
end
I am expecting the program to print the value of y(i). But I can't run the program.
댓글 수: 3
Philipp Doblhofer
2017년 12월 30일
편집: Philipp Doblhofer
2017년 12월 30일
Hello,
maybe this can help you: https://de.mathworks.com/matlabcentral/answers/213823-forward-backward-and-central-differences
You have to do two steps:
1) Calculate dy and d2y for all values of i (1 to 4). The result should be a vector, not a scalar value (like your sample code would suggest)
2) For each i-value you have a system of linear equations. You have to solve them. (y(i) = ...)
답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!