finding slope of a signal
33 次查看(过去 30 天)
显示 更早的评论
Hello. I have two signals (according to figure) and I want to find the slop of each signal.
Thanks for further help.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/195280/image.jpeg)
2 个评论
jonas
2018-9-6
Well, as you can see the slope is varying. What exactly are you looking for? The trend? The change in every point?
采纳的回答
Dimitris Kalogiros
2018-9-6
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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/195085/image.jpeg)
4 个评论
jonas
2018-9-6
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
2018-9-6
@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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Signal Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!