How to calculate the area under the curve with data given on an excel file, and not using the function "trapz"?
26 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Andres Gustavo Ambriz Gudiel
am 3 Aug. 2021
Kommentiert: Wan Ji
am 10 Aug. 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 Kommentare
James Tursa
am 3 Aug. 2021
I meant are you supposed to write your own area calculator function from scratch? (be it Euler or trapezoid or whatever)
Akzeptierte Antwort
Scott MacKenzie
am 3 Aug. 2021
Bearbeitet: Scott MacKenzie
am 3 Aug. 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 Kommentare
Wan Ji
am 10 Aug. 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;
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Numerical Integration and Differentiation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!