Smooth data for plotting the DTG curve (thermogravimetric analysis)
22 views (last 30 days)
Show older comments
Hi everybody,
I'm trying to plot the derivative of the TGA curve. In short TGA measures the mass change of a sample as the temperature increases and loss of material occurs. The DTG is supposed to be the derivative of the mass % over the temperature. I used this simple code to select the columns from excel and plot them in matlab. However the derivative, that I caluclated on excel as (m(i+1)-m(i)) / (T(i+1)-T(i)) gives me this really noisy orange line. The shape itself is correct, I mean the peack is correctly positioned but it's too noisy, It should be smooth as the blue line of TGA. Do you know how I culd solve this problem maybe? I tried to use the smoothdata function but doen't seem to work.
Thanks a lot
mass = xlsread('TGA NaCl PGM (50-50) 220120', 'D42:D11786');
temp = xlsread('TGA NaCl PGM (50-50) 220120', 'B42:B11786');
der_mass = xlsread('TGA NaCl PGM (50-50) 220120', 'E42:E11786');
der_mass1 = smoothdata(der_mass)
[AX,H1,H2] = plotyy(temp,mass,temp,der_mass1)
set(AX(2),'YLim', [-0.8 0.3]);
set(get(AX(1), 'Ylabel'), 'String', 'Weight %', 'Fontsize',15);
set(get(AX(2), 'Ylabel'), 'String', 'Deriv. weight (%/°C)', 'Fontsize',15);

0 Comments
Answers (1)
Genevskiy Vladislav
on 16 Feb 2020
1 Comment
klippel
on 27 Jul 2020
Hello!
I have the same problem. However, I couldn't get a better plot using the sgolayfilt function. Can you help me?
Thanks!
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!