用MATLAB语言编写连续函数最佳平方逼近的算法程序(函数...
一. 任务:
用MATLAB语言编写连续函数最佳平方逼近的算法程序(函数式M文件)。并用此
程序进行数值试验,写出计算实习
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
。
二. 程序功能要求:
在书中Page355的程序leastp.m基础上进行修改,使其更加完善。要求算法程序可以适应
不同的具体函数,具有一定的通用性。所编程序具有以下功能: 1. 用Lengendre多项式做基,并适合于构造任意次数的最佳平方逼近多项式。
PxPxx()1,(),,01
PxnxPxnPxn()(21)()(1)()/,,,,可利用递推关系 ,,nnn,,12,,
n,2,3,.....2. 被逼近函数f(x)不用内联函数构造,而改用M文件建立数学函数。这样,此程序可通过修
改建立数学函数的M文以适用不同的被逼近函数(要学会用函数句柄)。
f(x),[a,b],[,1,,1]3. 要考虑一般的情况。因此,程序中要有变量代换的功能。 4. 计算组合系数时,计算函数的积分采用5点Gauss-Legendre求积公式。 5. 程序中应包括帮助文本和必要的注释语句。另外,程序中也要有必要的反馈信息。 6. 程序输入:(1)待求的被逼近函数值的数据点(可以是一个数值或向量) x0
(2)区间端点:a,b。
7. 程序输出:(1)拟合系数: cccc,,,...,012n
(2)待求的被逼近函数值
sxcPxcPxcPxcPx()()()()(),,,,,?00001102200nn三:数值试验要求:
1. 试验函数:;也可自选其它的试验函数。 f(x),xcosx,x,[,2,,2]
2. 用所编程序直接进行计算,检测程序的正确性,并理解算法。
3. 分别作出逼近函数和被逼近函数的曲线图进行比较。 s(x)f(x)
(分别用绘图函数plot(,s())和fplot(‘xcosx’,[x1 x2,y1,y2])) xx00
四:计算实习报告要求:
1.简述方法的基本原理,程序功能,使用说明。
2.程序中要加注释。
3.对程序中的主要变量给出说明。
4.附源程序及计算结果。
五(通过这学期“数值分析”课和“MATLAB”课的学习,谈谈你的收获和体会,
并对这两门课提出改进建议。
附:参考程序
1( Lengendre多项式作基的函数最佳平方逼近算法程序LEASTP.m
x(此程序只适用于对函数 构造最佳平方逼近多项式) f(x),xe
function [c,s]=leastp(x)
%LEASTP.m:least-square fitting with legendre polynomials
p1=1;
p2=inline(‘x’,’x’);
p3=inline(‘(3*x^2-1)/2’,’x’);
pp1=1;
pp2=inline(‘x.^2’,’x’);
pp3=inline( ‘(3*x.^2-1)/2.*(3*x.^2-1)/2’,’x’);
fp1=inline(‘x.*exp(x)’,’x’);
fp2=inline(‘(x.^2).*exp(x)’,’x’);
fp3=inline(‘(x*exp(x)).*(3*x.^2-1)/2’,’x’);
c(1)=quad(fp1,-1,1)/2;
c(2)=quad(fp2,-1,1)/quad(pp2,-1,1); c(3)=quad(fp3,-1,1)/quad(pp3,-1,1); s=c(1)+c(2)*p2(x)+c(3)*p3(x); %end
2. 被积函数的M文件
function f=fun9(x)
f=1./(1+x.^2);