finding slope of a signal

58 visualizaciones (últimos 30 días)
Sara
Sara el 6 de Sept. de 2018
Comentada: Dimitris Kalogiros el 6 de Sept. de 2018
Hello. I have two signals (according to figure) and I want to find the slop of each signal.
Thanks for further help.
  2 comentarios
jonas
jonas el 6 de Sept. de 2018
Well, as you can see the slope is varying. What exactly are you looking for? The trend? The change in every point?
Sara
Sara el 6 de Sept. de 2018
sorry for the poor explanation. I want to get the trend.

Iniciar sesión para comentar.

Respuesta aceptada

Dimitris Kalogiros
Dimitris Kalogiros el 6 de Sept. de 2018
A script that calculates mean slope :
clc; clear; close all;
%%generate input signal
x=0:1:1500;
y=(-0.002*x+3)+abs(sin(2*pi*.002*x))+0.2*sin(2*pi*.01*x);
figure; plot(y, '-b'); zoom on; grid on;
xlabel('x'); title('input signal y'); hold on;
%%first order aproximation
p=polyfit(x,y,1);
polyValues=p(1)*x+p(2);
plot(polyValues,'--r');
legend('input signal', 'first order approximation');
%%slope detection
fprintf(' mean slope = %f \n', p(1));
Of course, I had to generate a signal similar to what you presented at your question.
If you run the script you will receive the following:
  4 comentarios
jonas
jonas el 6 de Sept. de 2018
You can draw a line from the start point to the end point, but what's the point of that? It's certainly not indicative of future values.
Dimitris Kalogiros
Dimitris Kalogiros el 6 de Sept. de 2018
@Sara , If the end point of the red line and the end point of the signal are the same , then you might have a significant error on what you have calculated as "mean slope". I believe, the method I used for the calculation of the "red line" is (probably) the best one.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Signal Processing Toolbox 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!

Translated by