Wondering if its possible to find the steady state of a data set through a matlab function. Attached is what I'm working with and the plot is of time and theta_dot. Thanks

 Accepted Answer

hello Matthew
see below :
%Import data
load('DCMotor_OL_Data_4.5V_A02.mat')
% smoothin a bit the derivative
theta_dot_smoo = sgolayfilt(theta_dot,1,21);
figure(1);
plot(time,theta_dot,'b',time,theta_dot_smoo,'r');
ylabel('theta dot');
xlabel('Time (s)');
legend('raw','sgolay filtered');
title('theta dot')
% compute steady state values based on smoothed data
threshold = 0.98*theta_dot_smoo(end); % select only values that are above 98% of the last data y amplitude (smoothed)
ind = find(theta_dot_smoo> threshold);
theta_dot_steady_sate = mean(theta_dot(ind));

More Answers (0)

Categories

Find more on Elementary Math in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!