i am trying to solve bouc-wen hysteresis model anybody help me to solve this problem

16 views (last 30 days)
i am trying to solve the bouc-wen hysteresis model using ordinary differential equations help me solve this problem

Accepted Answer

Hongtao Li
Hongtao Li on 24 May 2018
Edited: Hongtao Li on 24 May 2018
%% Reproduce Figs. 7-8 in SMYTH, Andrew; WU, Meiliang. Multi-rate Kalman filtering for the data fusion of %%displacement and acceleration response measurements in dynamic system monitoring. Mechanical %%Systems and Signal Processing, 2007, 21.2: 706-723.
C = textscan(fID, '%f','HeaderLines',51);
xgt = cell2mat(C);
Fsa = 200;
gt = ( 0:1:length(xgt)-1 ) / Fsa;
%%%Solve ordinary differential equation
%%%https://se.mathworks.com/help/matlab/ref/ode45.html
[t, y] = ode45(@(t,y)funBoucWen(t,y, gt, xgt), gt, [1 -2 0]);
%%%Build a new matlab script file and save as funBoucWen.m
function dydt = funBoucWen(t,y, gt, xgt)
% dydt = [y(2); (1-y(1)^2)*y(2)-y(1)];
m = 1;
c = 0.3;
k = 9;
beta = 2;
gamma = 1;
n = 2;
xgt = interp1(gt, xgt, t);
dydt = [y(2); -c / m * y(2) - k/m * y(3) - xgt;...
y(2) - beta * abs(y(2) ) * ( abs(y(3)) )^(n-1) * y(3) - gamma * y(2)...
* ( abs(y(3)) )^n ];
end

More Answers (0)

Categories

Find more on MATLAB 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!