Why du/dx obtained from excel and Matlab gives different results?

2 views (last 30 days)
Hi
I have csv file with some columns and I want to find the du/dx from two column named as u and x. I did it in excell as well as matlab but both the results are different. Can anyone please help to know why they are diffrent? Am I doing any mistake while calciulating the derivative in matlab. I want to do this for all the csv files but I wanted to varify first for one file. Here is my code that I used in matlab and the csv file named as 0001_derivative in which I have obtained du/dx i.e. (u2-u1)/(x2-x1)and named as "s"
Folder='G:\testcodeforcsvcolumn'
Data = readtable('0001.csv');
U = Data.u;
X = Data.x;
dudx = gradient(U)./gradient(X);
Thank you very much for helping me to learn.
  4 Comments
Torsten
Torsten on 12 Jan 2023
It's nonsense to calculate dudx this way since your X data are not in increasing order.
You must first order X and then arrange U according to the X-ordering.
Raushan
Raushan on 12 Jan 2023
Thanks for the suggestion. You are right we can arrange them either in increasing or decreasing order, but that will be manipulation with the data. We expect data to vary like this. Code is working for 1 file but not for all 5 files. Can you please help me to implement a for loop for 5 files, so that I will have 5 different dudx, I am trying but getting dimension related error.

Sign in to comment.

Answers (1)

Torsten
Torsten on 11 Jan 2023
If the X grid is equidistant,
dudx = gradient(U,X(2)-X(1))
  2 Comments
Raushan
Raushan on 11 Jan 2023
The difference is 5 between the x values but us not in increasing or decreasing oredr. Sometimes it is in increasing and some times it is in decreasing order.
Raushan
Raushan on 11 Jan 2023
I tried this but still the same value as before. Its not matching with ''s'' column of 0001_derivative.

Sign in to comment.

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!