📄 bijin.asv
字号:
function s=BiJin(h,a,b,n)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
g=poly2sym([eval('(b-a)/2') eval('(b+a)/2')]) %生成坐标转换的公式(b-a)/2*x+(b+a)/2
f=compose(h,g,'x'); %将被逼近函数的区间[a,b]变换到区间[-1,1]之间
A=ones(1,n+1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for k=0:1:n %%%
m=inline(poly2sym(Lengendre(k))*f); %%%
A(k+1)=Gauss(m,-1,1,X,W); %%%
end %%%求解拟合系数,数组B中放置得到的拟合系数
B=A; %%%
for k=0:1:n %%%
B(k+1)=((2*k+1)/2)*A(k+1); %%%
end %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp('输出拟合系数'); %输出拟合系数
C=num2str(B,5); %num2str 把非整数数组B转换为串数组 % %
disp(C); %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
T=B(1)*Lengendre(0); %%%
for k=1:1:n %%%
T=mmpadd(T,B(k+1)*Lengendre(k)); %%%利用不同阶矩阵求和函数mmpadd,求得逼近函数多项式系数行向量T
end %%%
s=simple(poly2sym(T)); %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
g=poly2sym([eval('2/(b-a)') eval('-(b+a)/(b-a)')]);%%%坐标变换公式:t=(2*x-b-a)/(b-a)
s=expand(compose(s,g,'x')); %%%将区间[-1,1]的逼近函数变换为区间[a,b]上的最佳平方逼近多项式
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -