clear; clc;
syms t
% 输入参数:
% f:被逼近的函数(符号表达式)
% w:权函数(符号表达式)
% n:逼近多项式的阶数(单项式基的最高次数)
f = exp(t); % 示例:被逼近函数
w = 1; % 示例:权函数
n = 2; % 示例:逼近多项式阶数
i = 0 : n;
Funx = t .^ i;
d = int(w * f * Funx, 0, 1);
Hibert = hilb(n + 1);
digits(5);
fintP = vpa(d);
axk = Hibert \ fintP';
Snx = Funx * axk;
Sqa_err = abs(vpa(int(f * f, 0, 1)) - vpa(d * axk));
% 输出结果:
% fintP:函数f与各单项式基的带权内积
% axk:最佳平方逼近多项式的系数
% Snx:最佳平方逼近多项式(符号形式)
% Sqa_err:平方逼近误差
fintP, axk, Snx, Sqa_err