Why am I getting this Error Message?
Afficher commentaires plus anciens

I am trying to take the second order of central difference derivative of a set data that was provided, why did I get an error message like this? I checked the formula many many times and it is correct. Don't know why, since the first order derivative works perfectly.
1 commentaire
dpb
le 21 Juin 2020
What is height(j-1) when j==1?
Réponses (1)
Monalisa Pal
le 21 Juin 2020
Becasue the loop starts from j = 1 and when you are trying to access height(j-1) on line 6 during slope1 evaluation height(0) becomes undefined. You may follow this link for more description: https://www.mathworks.com/matlabcentral/answers/494553-first-and-second-order-central-difference
In short your for loop can start from 2 and you calculate slope(1) separately. Or you may skip slope1 calculation when j = 1 as follows:
for j = 1:length(height)-1
slope(j) = (height(j+1) - height(j))/h;
if j ~=1
slope1(j) = (height(j+1) - 2*height(j) + height(j-1))/h^2;
end
end
1 commentaire
Zifeng Qiu
le 21 Juin 2020
Catégories
En savoir plus sur MATLAB dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!