ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:32.52KB ,
资源ID:29137030      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29137030.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验三.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验三.docx

1、实验三实验报告实验序号:实验三 实验名称: Lagrange插值法 学号: 20141103261 姓名: 杨慧芳任课教师:马季骕 专业班级:14级计算机科学与技术师范汉班一 实验目的用Lagrange插值法求f(x)的逼近函数 (x)并画出图像二实验内容1算法分析插值节点取的足够多时逼近函数 (x)能够很好的逼近被逼近函数f(x)。插值函数 (x)的次数相应升高,不一定收敛到相应的被逼近函数,从而会产生Runge现象。 要想解决Lagrange插值,先研究线形插值和二次插值。在线性插值中,若逼近函数用两点式表示出来,则有F(x)=y0*(x-x1)/(x0-x1)+y1*(x-x0)/(x1

2、-x0),过三个点的二次插值可以确定一条抛物线,经化简,被逼近函数可表示为F(x)=y0*(x-x1)*(x-x2)/(x0-x1)/(x0-x2)+y1*(x-x0)*(x-x2)/(x1-x0)/(x1-x2)+y2*(x-x0)*(x-x1)/(x2-x0)/(x2-x1),分析可得对于具有n+1个节点的函数,都可以表示成该节点的函数值与其对应基函数的乘积的线形组合。要求逼近函数是n次多项式,并且逼近函数过所有的型值点。2源代码/ LDlg.cpp : implementation file/#include stdafx.h#include L.h#include LDlg.h#ifd

3、ef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic: CAboutDlg();/ Dialog Data /AFX_DATA(CAboutDlg) enum IDD = IDD_ABOUTBOX ; /AFX_DATA / ClassWizard generated virtual function overrides /AFX_V

4、IRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support /AFX_VIRTUAL/ Implementationprotected: /AFX_MSG(CAboutDlg) /AFX_MSG DECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD) /AFX_DATA_INIT(CAboutDlg) /AFX_DATA_INITvoid CAboutDlg:DoDataExchan

5、ge(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CAboutDlg) /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog) /AFX_MSG_MAP(CAboutDlg) / No message handlers /AFX_MSG_MAPEND_MESSAGE_MAP()/ CLDlg dialogCLDlg:CLDlg(CWnd* pParent /*=NULL*/) : CDialog(CLDlg:IDD, pParent) /AFX_DATA_INIT(C

6、LDlg) / NOTE: the ClassWizard will add member initialization here /AFX_DATA_INIT / Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CLDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CLDlg) / NOT

7、E: the ClassWizard will add DDX and DDV calls here /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CLDlg, CDialog) /AFX_MSG_MAP(CLDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_LARGRI, OnLargri) ON_BN_CLICKED(IDC_BUTTON2, OnButton2) ON_BN_CLICKED(IDC_HERMITE, OnHermite) /AFX_MSG_MAPEND

8、_MESSAGE_MAP()/ CLDlg message handlersBOOL CLDlg:OnInitDialog() CDialog:OnInitDialog(); / Add About. menu item to system menu. / IDM_ABOUTBOX must be in the system command range. ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR); pSysMenu-AppendMenu(MF_STRIN

9、G, IDM_ABOUTBOX, strAboutMenu); / Set the icon for this dialog. The framework does this automatically / when the applications main window is not a dialog SetIcon(m_hIcon, TRUE); / Set big icon SetIcon(m_hIcon, FALSE); / Set small icon / TODO: Add extra initialization here return TRUE; / return TRUE

10、unless you set the focus to a controlvoid CLDlg:OnSysCommand(UINT nID, LPARAM lParam) if (nID & 0xFFF0) = IDM_ABOUTBOX) CAboutDlg dlgAbout; dlgAbout.DoModal(); else CDialog:OnSysCommand(nID, lParam); / If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For M

11、FC applications using the document/view model,/ this is automatically done for you by the framework.void CLDlg:OnPaint() if (IsIconic() CPaintDC dc(this); / device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); / Center icon in client rectangle int cxIcon = GetSyst

12、emMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; / Draw the icon dc.DrawIcon(x, y, m_hIcon); else CDialog:OnPaint(); / The system calls this to obtain the cursor to dis

13、play while the user drags/ the minimized window.HCURSOR CLDlg:OnQueryDragIcon() return (HCURSOR) m_hIcon;void CLDlg:OnOK() int x00=300,y00=350,i,j; double x; CDC *pDC=GetDC(); pDC-SetMapMode(MM_LOMETRIC); pDC-SetViewportOrg(x00,y00); /画坐标轴与原函数 for(i=-700; iSetPixel(i,0,RGB(0,0,0); pDC-SetPixel(0,i,R

14、GB(0,0,0); for(x=-1; xSetPixel(x*500,j,RGB(255,0,0); pDC-TextOut(-30,-10,0); pDC-TextOut(-30,430,1); pDC-TextOut(490,-10,1); pDC-TextOut(-490,-10,-1); pDC-MoveTo(-10,680); /x箭头 pDC-LineTo(0,700); pDC-MoveTo(0,700); pDC-LineTo(10,680); pDC-MoveTo(680,10); /y箭头 pDC-LineTo(700,0); pDC-MoveTo(700,0); pD

15、C-LineTo(680,-10); pDC-TextOut(-30,700,y); pDC-TextOut(700,-10,x); void CLDlg:OnLargri() int x00=300,y00=350,i,j; double x; CDC *pDC=GetDC(); pDC-SetMapMode(MM_LOMETRIC); pDC-SetViewportOrg(x00,y00);/画坐标轴 for(i=-700; iSetPixel(i,0,RGB(0,0,0); pDC-SetPixel(0,i,RGB(0,0,0); double yx=-1,-0.8,-0.6,-0.4,

16、-0.2,0,0.2,0.4,0.6,0.8,1; pDC-TextOut(-30,-10,0); pDC-TextOut(-30,430,1); pDC-TextOut(490,-10,1); pDC-TextOut(-490,-10,-1); pDC-MoveTo(-10,680); /x箭头 pDC-LineTo(0,700); pDC-MoveTo(0,700); pDC-LineTo(10,680); pDC-MoveTo(680,10); /y箭头 pDC-LineTo(700,0); pDC-MoveTo(700,0); pDC-LineTo(680,-10); pDC-Text

17、Out(-30,700,y); pDC-TextOut(700,-10,x);/ 拉格朗日差值的函数 double yy12,lx12,ly12; double l_fenzi12,l_fenmu12; double l_x,l_y; for(i=0; i=10; i+) yyi=1.0/(1+25*yxi*yxi); for(i=0; i=10; i+) l_fenmui=1.0; for(j=0; j=10; j+) if(i!=j) l_fenmui=l_fenmui*(yxi-yxj); double qq,pp; for(qq=-1; qq=1; qq+=0.0003) for(i=0; i=10; i+) l_fenzii=1.0; for(j=0; j=10; j+) if(i!=j) l_fenzii=l_fenzii*(qq-yxj); pp=0; for(i=0; iSetPixel(qq*500,pp*390+5,RGB(132,112,225); 三 实验截图四结果分析本次实验使我对用Lagrange插值法求f(x)的逼近函数 (x)有了更深的理解,知道了如何用程序来求解Lagrange插值基函数(j=0,1,n),求出逼近函数 (x)并绘制出其图像,且通过图像看到了Lagrange插值法的缺点,即当Lagrange插值函数次数很高时出现了Runge现象。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1