How do I solve using centered finite difference formula?

7 Ansichten (letzte 30 Tage)
Mohd Aniq Akmal Maludin
Mohd Aniq Akmal Maludin am 28 Dez. 2017
Bearbeitet: Philipp Doblhofer am 30 Dez. 2017
%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 Kommentare
Mohd Aniq Akmal Maludin
Mohd Aniq Akmal Maludin am 30 Dez. 2017
Hello Phillip,
I am trying to calculate the value of y(2), y(3) and y(4) based on the equation in the for-loop.
Philipp Doblhofer
Philipp Doblhofer am 30 Dez. 2017
Bearbeitet: Philipp Doblhofer am 30 Dez. 2017
Hello,
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) = ...)

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by