请教这个程序什么意思?
最近研究倒立摆的仿真,由于刚接触matlab,还在学习阶段。自己找了个程序有很多看不明白,希望大家都看看。clear;
M = 1.096; %小车质量
m = 0.109; %摆杆质量
b = 0.1; %摩擦系数
f=0; %unknow
I= 0.0034; %转动惯量
g = 9.8; %重力加速度
l = 0.25; %摆杆长度
D = I*(M+m)+M*m*l^2; %A和B共有
A = [0 ,1, 0, 0;
0 ,-(I+m*l^2)*b/D ,(m^2*g*l^2)/D ,-m*l*f/D;
0,0,0,1;
0,-(m*l*b)/D,m*g*l*(M+m)/D,-(m+M)*f/D]
B = ;
C = ;
D = ;
disp('The rank of controllability matrix')
rc=rank(ctrb(A,B))
% p=[-2-3*i,-2+3*i,-20,-21];
p=[-20,-21,-2-3*i,-2+3*i]; %p表示什么
k=place(A,B,p) %place函数功能是什么,怎么用
Cn=;
Nbar=rscale(A,B,Cn,0,k) %rscale函数功能是什么,怎么用
t0=0;
tspan=0.006;
R=1; %以下的就更不明白了
y0=;
n=1000;
F=R*Nbar-k*y0';
for i=1:n
tf=t0+tspan;
=ode45(@xprime10,,y0',[],F);
t0=tf;
y1=y(end,1);
y2=y(end,2);
y3=y(end,3);
y4=y(end,4);
y0=;
F=R*Nbar-k*y0';
h(i,1)=y1;
h(i,2)=y2;
h(i,3)=y3;
h(i,4)=y4;
h(i,5)=F;
end
T=0.006:0.006:6;
figure(1)
plot(T,h(:,1),':b')
legend('小车位移')
grid
figure (2)
plot(T,h(:,3),'-r')
legend('摆杆摆角')
grid
figure(3)
plot(T,h(:,5),'--g')
legend('F')
grid
程序运行结果及相应图形:
A =
0 1.0000 0 0
0 -0.0883 0.6293 0
0 0 0 1.0000
0 -0.2357 27.8285 0
The rank of controllability matrix
rc =
4
k =
236.4228 95.9248 -353.7495-55.0080
Nbar =
236.4228
:@L 这程序写得,不好意思,我根本不想看。建议从简单看起,找本比较正规的书,matlab初期的良好书写习惯相当重要
[ 本帖最后由 raozel 于 2008-4-23 20:37 编辑 ]
回复 2楼 的帖子
仿真程序我也没写过。。。。所以很没经验,自己找的也看不明白。。。。。。。。刚才是由于发帖子的时候发生乱码了,刚重新编辑了一下。现在看应该不乱了啊! 嗯,确实不乱了,不过你这问题属于物理问题,最好把物理情景和相应的方程写出来。
回复 4楼 的帖子
这个是一级倒立摆的建模后的仿真,建模后列出空间状态方程。。。程序的前部分都是关于状态方程的,后边的我也不知是什么了。。。我也只知道这么多了。
关键是我这个问题提的不合理,不联系实际模型而只看程序很难看出程序的功能。
回复 5楼 的帖子
物理背景都不清楚,让别人怎么看呢还是先静下心来,找本基础书看看,一些常用的命令等
还可以查看帮助文档 这个问题确实提的very foolish.
这个帖子大家都不要回复了。。。
我要是有什么不明白的会继续讨教的!
页:
[1]