global m M L I g A B Kf Nx Nu rss;


t0=0;

tf=20;

del_t = 0.05;

x0 = 0;

d_x0 = 0;

theta_0 = 0.1;

d_theta_0 = 0;

m=0.3;

M=2;

L=1;

I = (m*(L)^2)/3;

g = 9.81;

Kf = [176.8042 58.5690 -19.0982 -23.2930];


a21 = m*g*(L/2) / ( (I+m*((L/2)^2))-(m*L/2)^2/(m+M) );

a41 = ( (I+m*((L/2)^2)) / ( (I+m*((L/2)^2))-(m*L/2)^2/(m+M) ) - 1 )*g;


b2 = ((m*L/2)/(M+m)) / ( (I+m*((L/2)^2))-(m*L/2)^2/(m+M) );

b4 = ((I+m*((L/2)^2))/(M+m)) / ( (I+m*((L/2)^2))-(m*L/2)^2/(m+M) );



A = [0 1 0 0;a21 0 0 0;0 0 0 1;a41 0 0 0];


B = [0;b2;0;b4];


rss=[1]


Nx=[0;0;1;0];

Nu=[0];


x_ss = Nx*rss;

u_ss = Nu*rss;


    [t,X]=ode45(@function_LNRT,[0, tf],[theta_0, d_theta_0, x0, d_x0]);


    for i=1:4

    Xss(i) = X(:,i) - x_ss(i);

    end


    F_LNRT = (u_ss-Kf*transpose(Xss));

    

    figure(1)

    set(figure(1),'Position',[620,100,400,200]);

    plot(t,F_LNRT,'k','linewidth',2);

    grid on;

    xlabel('time [sec]','Fontsize',12);

    ylabel('Force [N]','Fontsize',12);


??? Error using ==> minus

Matrix dimensions must agree.


새벽에 읽어주실분이 없을지도 모르지만 상황이 몹시 절박하여 글을 올립니다.

잘못된부분을 한시간째 못찾겠어요ㅜㅜ