1、系统辨识作业:
用LS解决一个实际问题
根据实测数据判断模型结构并辨识参数。
已知在不同的温度下,测定铜棒的长度如下表所示:
1
2
3
4
5
6
7
8
/℃
10
15
20
25
30
35
40
45
/cm
2000.36
2000.50
2000.72
2000.80
2001.07
2001.25
2001.48
2001.60
% Matlab 利用原始数据画折线图
clc,clear;
T=[10 15 20 25 30 35 40 45];
L=[2000.36 2000.50 2000.72 2000
2、80 2001.07 2001.25 2001.48 2001.60];
plot(T,L,'m');
grid on;
xlabel('T/℃');
ylabel('L /cm');
title('T-L Line chart');
legend('T-L');
图 1 T-L Line Chart
由折线图可知,铜棒的长度随温度呈线性变化,设,用最小二乘法给出参数和的最小二乘估计值。
% Matlab 实现最小二乘参数估计
LN=[2000.36 2000.50 2000.72 2000.80 2001.07 2001.25 2001.48 2001.60]';
3、
TN=[10,1;15,1;20,1;25,1;30,1;35,1;40,1;45,1];
ab=inv(TN'*TN)*TN'*LN;%最小二乘计算
x=10:1:45;
plot(x,y,'b',T,L,'m');
grid on;
xlabel('T/℃');
ylabel('L /cm');
title('T-L Line chart');
legend('L=aT+b','T-L');
a=ab(1)% a的最小二乘估计值
a =
0.0368
b=ab(2) % b的最小二乘估计值
b =
2.0000e+003
%原始数据折线图与函数图形对比:
图 2 折线图与直线图对比
所以铜棒的长度与温度的线性关系式为: