Matlab problem: How to calculate a rough, approximate, derivative vector by using the following formula?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Jabir Al Fatah
le 27 Mai 2014
Modifié(e) : George Papazafeiropoulos
le 31 Mai 2014
Here is the complete task which I need to solve:
We know that the derivative is the coefficient k of a tangent line with mathematical expression, y=kx + m, that goes through a certain point, P, on a function curve. Lets start with a simple function, namely, y=x^2.
(a) Calculate and Plot this function for -10 < x < 10 with small enough step length to get a smooth curve.
(b) Now, In (a) you calculated two equally long vectors, one for the chosen x values and one with the calculated y values. From these two vectors, we can calculate a rough, approximate, derivative vector that we can call Yprimenum: Use a for-loop to calculate each element of Yprimenum according to the formula:
Yprimenum(i) = (y(i+1) – y(i)) / ∆x Where ∆x is the x step length, or equivallently x(i) – x(i-1)
NOTE: (a) is solved and for the (b) I wrote the following code but not working.
if true
x=-10:10;
for i=1: length(x);
for y=x.^2
Yprimenum=(y(i+1)-y(i))./(x(i)-x(i-1));
end;
end;
display Yprimenum;
end
3 commentaires
John D'Errico
le 27 Mai 2014
Why do you think it necessary to add the "if true" conditional around your code? Silly.
Réponse acceptée
George Papazafeiropoulos
le 27 Mai 2014
Modifié(e) : George Papazafeiropoulos
le 27 Mai 2014
x=-10:10;
y=x.^2;
Yprimenum=diff(y)./diff(x)
5 commentaires
George Papazafeiropoulos
le 31 Mai 2014
Modifié(e) : George Papazafeiropoulos
le 31 Mai 2014
Try this:
% 1st way: for loop
Yprimenum1=zeros(1,2*10);
x=-10:10;
y=x.^2;
for I=2:length(x)
Yprimenum1(I-1)=(y(I)-y(I-1))/(x(I)-x(I-1));
end
% 2nd way: diff
Yprimenum2=diff(y)./diff(x);
% test the results
all(Yprimenum1==Yprimenum2)
Be careful that the length of the approximate derivative is equal to the length of the initial vectors minus 1
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Solver Outputs and Iterative Display dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!