⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bijin.asv

📁 课程设计:编写连续函数最佳平方逼近的算法程序(以函数形式)。并用此程序进行数值实验
💻 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 + -