# Locating point on x-axis where the slope is decreasing

3 vues (au cours des 30 derniers jours)
Tessa Kol le 10 Mar 2021
Commenté : Star Strider le 10 Mar 2021
Dear all,
I used the following code to plot the angle over time:
figure
hold on
grid on
plot(Time, theta,'linewidth',1.5)
xlabel('Time [s]','FontWeight','bold')
ylabel('\theta [deg]','FontWeight','bold')
xlim([0 round(Time(end))])
legend('Opening angle','Location','northeast')
title('Opening angle')
The resulting graph is shown below. I want to index at what time the slope is decreasing. How can I do that?
The variables Time and theta to plot this graph can be found in the data.mat file.
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Réponse acceptée

Star Strider le 10 Mar 2021
A reasonably robust way is to use the ischange function:
Time = D.Time;
theta = D.theta;
[TF,m,b] = ischange(theta, 'linear', 'Threshold',5);
chgpts = [find(TF); m(TF); b(TF)].';
chgidx = find(chgpts(:,2)<0,1);
figure
plot(Time, theta,'linewidth',1.5)
hold on
plot(Time(chgpts(chgidx(:,1))), theta(chgpts(chgidx(:,1))), 'xr')
hold off
grid on
xlabel('Time [s]','FontWeight','bold')
ylabel('\theta [deg]','FontWeight','bold')
xlim([0 round(Time(end))])
legend('Opening angle','Location','northeast')
title('Opening angle')
producing:
The ‘Time’ value is then:
ChangePointTime = Time(chgpts(chgidx(:,1)));
that here is 6.01 seconds.
##### 4 commentairesAfficher 2 commentaires plus anciensMasquer 2 commentaires plus anciens
Tessa Kol le 10 Mar 2021
Thank you so much for the code and explanation!
Star Strider le 10 Mar 2021
As always, my pleasure!

Connectez-vous pour commenter.

### Plus de réponses (1)

Sargondjani le 10 Mar 2021
Bascially you want to get the index when the change in theta becomes negative:
dtheta = diff(theta);
index = find(dtheta<0,1);%the 1 refers to the first entry where the statement is true
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

R2020a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by