Taking derivative an array which is a numerical value with respect to another array
Mostra commenti meno recenti
Hello,
I need to take a derive of an array (1*101) (which is numerical not analytical)
with respect to another array (1*101). How could I do that in Matlab? Any help please?
1 Commento
S. Gopal
il 31 Gen 2018
The same problem I am facing....please anybody help
Risposta accettata
Più risposte (1)
pfb
il 2 Mag 2015
if f is the vector representing f(x) and x contains the corresponding abscissae
df = diff(f)./diff(x)
note that this has one less element than f and x. You can choose
xd = (x(1:end-1)+x(2:end))/2
(i.e. the halfway points) as the corresponding abscissae.
4 Commenti
pfb
il 2 Mag 2015
What I suggest should work. If your numerical values for u are in a vector "u" and those for x are in a vector "x", of the same size as u, then
du = diff(u)./diff(x)
For instance, if u=f(x)=x^3 (I know that u here is "analytical", but for the purpose of the example it is numerical).
x = linspace(1,3,100);
u = x.^3;
then you get the derivative as
du = diff(u)./diff(x);
You can check this in a plot. As I said above, we have to assign the abscissae to du.
xd = (x(1:end-1)+x(2:end))/2;
Then plot dots for the numerical derivative
plot(xd,du,'.');
Hold the plot
hold;
and superimpose the (known, in this case) analytical derivative
plot(x,3*x.^2,'r');
Mohammad Abouali
il 3 Mag 2015
Modificato: Mohammad Abouali
il 3 Mag 2015
Either use, sided stencil on the boundaries, or if you have boundary conditions use them to set some sort of ghost/dummy nodes.
If you are trying to handle the advective terms u.du/dx+v.du/dy ... in NS equation I suggest that you read Numerical Simulation in Fluid Dynamics: A Practical Introduction It gives a very nice introduction to numerical solutions of NS equations.
You can also look at some of the references in http://www.sciencedirect.com/science/article/pii/S1877050913003530
Meva
il 3 Mag 2015
Categorie
Scopri di più su Creating and Concatenating Matrices in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!