finding slope of a signal
15 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Sara
il 6 Set 2018
Commentato: Dimitris Kalogiros
il 6 Set 2018
Hello. I have two signals (according to figure) and I want to find the slop of each signal.
Thanks for further help.

2 Commenti
jonas
il 6 Set 2018
Well, as you can see the slope is varying. What exactly are you looking for? The trend? The change in every point?
Risposta accettata
Dimitris Kalogiros
il 6 Set 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 Commenti
jonas
il 6 Set 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
il 6 Set 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.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su MATLAB Mobile in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!