写在前面,本报告为研一自适应控制课程的课程作业的第一小题,拿来水一篇嘿嘿,主要为基于最小二乘法进行参数拟合,使用m脚本编写程序,欢迎同学们交流学习哦。
题目内容:在试验中获得某物理量y和两个变量x1、x2的关系如下表所示。
x1 | 0.62 | 0.40 | 0.42 | 0.82 | 0.66 | 0.72 | 0.38 | 0.52 | 0.45 | 0.69 | 0.55 | 0.36 |
x2 | 12.0 | 14.2 | 14.6 | 12.1 | 10.8 | 8.2 | 13.0 | 10.5 | 8.8 | 17.0 | 14.2 | 12.8 |
y | 51.6 | 49.9 | 48.5 | 50.6 | 49.7 | 48.8 | 42.6 | 45.9 | 37.8 | 64.8 | 53.4 | 45.3 |
要求:
1、 假如物理量y和x1、x2是线性关系,即
请写出批处理最小二乘法的计算公式,并利用最小二乘法拟合θ0~θ2 的参数。
2、根据上述拟合的结果,预测变量x1、x2分别为0.57、16.8时y的输出值。
答:
1、批处理最小二乘法的公式为:
根据最小二乘法拟合得到θ0~θ2参数为“9.0569,28.1488,1.9886”。
2、将拟合结果代入计算公式得到该预测变量时y的输出值为58.5109。
附m代码:
clc;
clear all;
close all;
X1=[0.62 0.40 0.42 0.82 0.66 0.72 0.38 0.52 0.45 0.69 0.55 0.36]';
X2=[12.0 14.2 14.6 12.1 10.8 8.2 13.0 10.5 8.8 17.0 14.2 12.8]';
Y =[51.6 49.9 48.5 50.6 49.7 48.8 42.6 45.9 37.8 64.8 53.4 45.3]';
X0=ones(size(X1,1),1);
X=[X0,X1,X2];
%最小二乘法的不同阶数的多项式拟合结果
beta=(X'*X)^(-1)*X'*Y
y=beta(1)+beta(2)*0.57+beta(3)*16.8