写一段matlab的最小二乘法辨识参数的代码
时间: 2023-05-24 19:06:33 浏览: 127
最小二乘类的参数辨识matlab程序
4星 · 用户满意度95%
%% 最小二乘法辨识参数
clc;
clear all;
close all;
% 生成数据
x = 0:0.1:10;
y = 3*sin(x) + 0.5*cos(x) + randn(size(x));
% plot(x, y); % 绘制数据图
% 计算最小二乘法参数
n = length(x);
X = [ones(n, 1), sin(x)', cos(x)']; % 设计矩阵
theta = inv(X'*X)*X'*y'; % 参数向量
% 绘制拟合图
x_fit = 0:0.1:10;
y_fit = theta(1) + theta(2)*sin(x_fit) + theta(3)*cos(x_fit);
plot(x, y, '.', x_fit, y_fit, '-'); % 绘制数据图和拟合图
legend('数据', '拟合');
title('最小二乘法辨识参数');
阅读全文