对于弹簧-摩擦-无阻尼系统,运动学方程为:
用拟合,可得
求该方程的数值解如下:
代码:
%% ode 解方程
clc;clear;
m = 1;
k = 30;
for mu=0.6:0.2:1
% 初始条件
g=10;
alpha=1000;
tspan = [0 10];
x0 = [10 0];
[t,x] = ode45(@(t,x) odefcn(t,x,m,g,mu,k,alpha), tspan, x0);
% subplot(2,1,1)
figure(1)
plot(t,x(:,1),'-')
legend('0.6','0.8','1.0');
hold on;
xlabel('t/s')
ylabel('x/m')
grid on;
% set(gca,'xlim',[0,5]);
% subplot(2,1,2)
figure(2)
plot(t,x(:,2),'-.')
legend;
hold on;
xlabel('ssss')
% set(gca,'xlim',[0,10]);
grid on;
end
mu*m*g/k
function dxdt = odefcn(t,x,m,g,mu,k,alpha)
dxdt = zeros(2,1);
dxdt(1) = x(2);
dxdt(2) = -k*x(1)-mu*m*g*atan(alpha*x(2));
end
结果: