📄 invertedpendulum.m
字号:
function xDot = InvertedPendulum(x, ui, values)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% inverted pendulum
%
% input:
% state vector x = [x1 x2]'
% control input ui = u
%
% output:
% derivative of x
%
% system
% dx(1)/dt = x(2)
% dx(2)/dt = (-g/l)*sin(x(1)+a) + (-k/m)*x(2) + (1/(m*l^2))*u
%
% f(x) = (-g/l)*sin(x(1)+a) + (-k/m)*x(2)
% g(x) = 1/(m*l^2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
g = values(1); % acceleration due to gravity
m = values(2); % mass
k = values(3); % coefficient of friction
l = values(4); % length
alpha = values(5); % phase angle
xDot1 = x(2);
xDot2 = (-g/l)*sin(x(1) + alpha) + (-k/m)*x(2) + (1/(m*l*l))*ui;
xDot = [xDot1 xDot2]';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -