MATLAB Answers

How to calculate the area under the curve with data given on an excel file, and not using the function "trapz"?

조회 수: 8(최근 30일)
Andres Gustavo Ambriz Gudiel
Andres Gustavo Ambriz Gudiel 2021년 8월 3일
댓글: Wan Ji 2021년 8월 10일
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

댓글을 달려면 로그인하십시오.

채택된 답변

Scott MacKenzie
Scott MacKenzie 2021년 8월 3일
편집: Scott MacKenzie 2021년 8월 3일
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);
Area: 163.079188
% verify result using trapz
a1 = trapz(x, y);
fprintf('Area using trapz: %f\n', a1);
Area using trapz: 163.079188
  댓글 수: 8
Wan Ji
Wan Ji 2021년 8월 10일
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;

댓글을 달려면 로그인하십시오.

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by