invertedpendulum.m

来自「I upload Inverted pendulum matlab code」· M 代码 · 共 29 行

M
29
字号
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 + =
减小字号Ctrl + -
显示快捷键?