MATLAB Answers

0

how can i Calculate area of plotted data using trapz in matlab?

have data from csv file. i want to calculate area under plot using trapz but im not sure if trapz is calculating from zero on y-axis as a reference or the starting point of x&y-axes. How can i calculate this area subtracting region below minimum point?
code is below data=csvread('test_1.csv'); new_data=smoothdata(data); x_col1=new_data(:,1); y_col2=new_data(:,2); figure('Name','Smoothed_waveform') plot(x_col1,y_col2,'r')
title('Induced emf') xlabel('Time (s)') ylabel('Amplitude')
grid on grid minor
max_y= max(new_data(:,2))% maximum value of signal min_y= min(new_data(:,2))% minimum value of signal amplitude= (max_y-min_y) %amplitude of signal area_2 = trapz(new_data(:,1),new_data(:,2))
graph

  0 Comments

Sign in to comment.

Products

1 Answer

Answer by Dimitris Kalogiros on 16 Sep 2018
Edited by Dimitris Kalogiros on 16 Sep 2018
 Accepted Answer

Before using trapz, do the following
new_data(:,2)=new_data(:,2)-min(new_data(:,2));
this shifts all of your graph upwards, so minimum value would be on xx' axis.

  1 Comment

yes. this is better. Thanks so much. Results are as expected now.

Sign in to comment.