How to calculate the area under the curve with data given on an excel file, and not using the function "trapz"?
26 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Andres Gustavo Ambriz Gudiel
le 3 Août 2021
Commenté : Wan Ji
le 10 Août 2021
Create a MATLAB program to calculate the area under the curve for the strain-stress. The goal of the project is to have a MATLAB script that automatically reads the experimental data set. The MATLAB script must not use native functions like “trapz” in the calculation of the area. The goal is to calculate the area under the stress-strain curve.
4 commentaires
James Tursa
le 3 Août 2021
I meant are you supposed to write your own area calculator function from scratch? (be it Euler or trapezoid or whatever)
Réponse acceptée
Scott MacKenzie
le 3 Août 2021
Modifié(e) : Scott MacKenzie
le 3 Août 2021
f = 'https://www.mathworks.com/matlabcentral/answers/uploaded_files/702117/Steel6150Tens.csv';
T = readtable(f);
T(end,:) = []; % remove last row, outlier
x = T.Strain;
y = T.Stress;
plot(x,y)
% compute area the hard way
a0 = 0;
for i=2:length(x)
a0 = a0 + (x(i)-x(i-1)) * (y(i)+y(i-1))/2;
end
fprintf('Area: %f\n', a0);
% verify result using trapz
a1 = trapz(x, y);
fprintf('Area using trapz: %f\n', a1);
8 commentaires
Wan Ji
le 10 Août 2021
By using 'type trapz' command, one can see the vectorized trapz method, the code is simplified as:
z = diff(x,1,1).' * (y(1:end-1,:) + y(2:end,:))/2;
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Numerical Integration and Differentiation 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!