linspace函数

2025-04-1604:23:57综合资讯0

模型表达式:

yn = phix + n

其中,phi是基函数,x为系数,n是噪声。yn是观测值。

-- 以下是关于最小二乘法的解释 --

最小二乘法是一种数学优化技术,用于确定一组数据的最佳拟合直线或曲线。具体地,yls可以通过phi的伪逆矩阵与yn相乘得到。

以下是在Matlab中实现该算法的代码:

% 清除所有之前的数据和图形

clear;

close all;

clc;

% 设置参数

n = 50;

N = 1000;

x = linspace(-3, 3, n)';

pix = pi x;

% 生成数据

y = sin(pix) ./ pix + 0.2 x;

yn = y + 0.1 randn(n, 1); % 加入噪声

% 构建基函数矩阵p

p(:,1) = ones(n, 1);

for k = 1:10

p(:,2k) = sin(k x / 2);

p(:,2k + 1) = cos(k x / 2);

end

% 使用最小二乘法求解

yr = p inv(p' p) p' yn;

% 绘制图形

figure();

clf;

hold on;

plot(x, y, 'r:', 'LineWidth', 2); % 无噪声波形

plot(x, yn, 'bo', 'LineWidth', 1); % 数据点

plot(x, yr, 'g-', 'LineWidth', 2); % 近似曲线

title('三角函数集最小二乘法的应用'); % 图标题

legend('无噪声波形', '数据点', '近似曲线'); % 图例说明