本文档为视频中的代码,视频链接见置顶评论;
代码内容:
(1)弹簧质量系统;均质单摆;惯性轮摆的拉格朗日方程建立,以及matlab自动求解。
(2)matlab的符号函数求导;对中间变量的求导;
视频内容:
(3)惯性轮摆的simscape模型建立
(4)惯性轮摆的simulink平衡控制搭建
(5)PID的自动调参
*********************************************************************************************************
clear all
syms m k x(t)
T = 1/2*m*diff(x,t)^2;
V = 1/2*k*x^2;
L = T - V;
eqn = functionalDerivative(L,x) == 0
assume(m,'positive')
assume(k,'positive')
Dx(t) = diff(x(t),t);
xSol = dsolve(eqn,[x(0) == 10, Dx(0) == 0])
clear all
syms g m l theta(t) tau(t)
J=1/3*m*l^2;
T = 1/2*J*diff(theta,t)^2;
V = -m*g*1/2*l*cos(theta);
L = T - V;
eqn = functionalDerivative(L,theta) == -tau;
eqn = simplify(eqn)
clear all
syms m1 m2 J1 J2 l1 l2 g t theta(t) omega(t) tau(t) u
T1=1/2*J1*diff(theta,t)^2;
T2=1/2*(m2*l2^2)*diff(theta,t)^2+1/2*J2*(diff(omega,t)+diff(theta,t))^2;
V=(m1*l1+m2*l2)*g*cos(theta);
L=T1+T2-V;
eqn = functionalDerivative(L,[theta,omega]) == [0;-tau];
eqn = simplify(eqn)
clear all
syms y x(t) t
y=x^2+sin(x)
diff(y,t)
functionalDerivative(y,x(t))