震动 数值计算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

H6=-0.75*[-2 0 0 1 0 0 0 0 0;
0 -2 0 0 1 0 0 0 0;
0 0 -2 0 0 1 0 0 0;
1 0 0 -2 0 0 1 0 0;
0 1 0 0 -2 0 0 1 0;
0 0 1 0 0 -2 0 0 1;
0 0 0 1 0 0 -2 0 0;
0 0 0 0 1 0 0 -2 0;
0 0 0 0 0 1 0 0 -2];
>> H7=-0.5*[-2 1 0 0 0 0 0 0 0;
1 -2 1 0 0 0 0 0 0;
0 1 -2 1 0 0 0 0 0;
0 0 1 -2 1 0 0 0 0;
0 0 0 1 -2 1 0 0 0;
0 0 0 0 1 -2 1 0 0;
0 0 0 0 0 1 -2 1 0;
0 0 0 0 0 0 1 -2 1;
0 0 0 0 0 0 0 1 -2];
>> H=H6+H7;
>> D=[0; 0; 0; 0; 1; 0; 0; 0;0];
>> C=eye(9,9);
>> G= 0.5*[0 0 0 1 0 0 0 0 0;
0 0 0 0 1 0 0 0 0;
0 0 0 0 0 1 0 0 0;
-1 0 0 0 0 0 1 0 0;
0 -1 0 0 0 0 0 1 0;
0 0 -1 0 0 0 0 0 1;
0 0 0 -1 0 0 0 0 0;
0 0 0 0 -1 0 0 0 0;
0 0 0 0 0 -1 0 0 0];
>> A=[zeros(9,9) eye(9,9);-H -G];
>> B=[0;0;0;0;0;0;0;0;0;-D];
>> S=10*eye(9,9);
>> R=[1];


>> Q=[S zeros(9,9);zeros(9,9) eye(9,9)];
>> F1=lqr(A,B,Q,R)

F1 =

Columns 1 through 8

-0.0585 4.7879 -1.1049 0.1941 -4.8422 2.8281 -1.0545 -3.2435

Columns 9 through 16

2.8798 0.8863 0.1865 -0.5131 -3.0302 -3.6467 -0.6402 -1.1205

Columns 17 through 18

-2.4279 -1.1045

>> w0=[0;0;0;0;0;0;0;0;0];
>> wd0=[1;1;1;0;0;0;0;0;0];
>> y0=[wd0;w0];%18元初始变量
>> tf=100;dt=0.1;%给出时间变量
>> for i=1:round(tf/dt)+1 %设定计算点做循环计算
t(i)=dt*(i-1);
y(:,i)=expm(A*t(i))*y0;%循环计算矩阵指数
end
subplot(2,1,1),plot(t,y(1,:)),grid %按照两个分图绘制曲线
subplot(2,1,2),plot(t,y(2,:)),grid

相关文档
最新文档