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.
새벽에 읽어주실분이 없을지도 모르지만 상황이 몹시 절박하여 글을 올립니다.
잘못된부분을 한시간째 못찾겠어요ㅜㅜ
고생많읍니다
오늘의 고생은 미래의 밑거름이 될 거십미다
global 선언을 잘못한 탓인듯