How do you separate imported data into time and amplitude?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
James Adams
el 19 de Feb. de 2020
Comentada: James Adams
el 20 de Feb. de 2020
%%i have imported notepad data into matlab, having difficulty seperating the data into seperate arrays. Any help?
5 comentarios
Jon
el 19 de Feb. de 2020
I don't see any problems with the code you wrote. I also confirmed that it ran OK. I think the pproach you have taken seems fine so far. Now was there something more that you were trying to do which you got stuck on?
Respuesta aceptada
Jon
el 19 de Feb. de 2020
Editada: Jon
el 19 de Feb. de 2020
If by detrend you mean that you want to remove the part of the signal that is growing linearly with time then the expression you have will not work. It will just shift your whole plot horizontally, so that it is centered on the mean value for the whole series.
Instead you can do a little linear regression to find the best straight line (y = mx + b) through the data, and then subtract that off.
To do this in MATLAB you could use:
% make regression matrix, A where
% y = A*c + error
A = [x(:) ones(size(x(:)))]
% Find least squares solution (regression) for constants c that provide best fit for
% y = c(1)*x + c(2) using Matlab \ operator
c = A\y
% remove the linear growth (detrend) the data
yDetrended = y - (c(1)*x + c(2))
% plot the result
plot(x,yDetrended)
Here is a good link to learn more about the linear regression, https://www.mathworks.com/help/matlab/data_analysis/linear-regression.html
Más respuestas (0)
Ver también
Categorías
Más información sobre Spectral Estimation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!