数值分析实验插值函数文档格式.docx

上传人:wj 文档编号:826163 上传时间:2023-04-29 格式:DOCX 页数:10 大小:10.75KB
下载 相关 举报
数值分析实验插值函数文档格式.docx_第1页
第1页 / 共10页
数值分析实验插值函数文档格式.docx_第2页
第2页 / 共10页
数值分析实验插值函数文档格式.docx_第3页
第3页 / 共10页
数值分析实验插值函数文档格式.docx_第4页
第4页 / 共10页
数值分析实验插值函数文档格式.docx_第5页
第5页 / 共10页
数值分析实验插值函数文档格式.docx_第6页
第6页 / 共10页
数值分析实验插值函数文档格式.docx_第7页
第7页 / 共10页
数值分析实验插值函数文档格式.docx_第8页
第8页 / 共10页
数值分析实验插值函数文档格式.docx_第9页
第9页 / 共10页
数值分析实验插值函数文档格式.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数值分析实验插值函数文档格式.docx

《数值分析实验插值函数文档格式.docx》由会员分享,可在线阅读,更多相关《数值分析实验插值函数文档格式.docx(10页珍藏版)》请在冰点文库上搜索。

数值分析实验插值函数文档格式.docx

//}}AFX_DATA

//ClassWizardgeneratedvirtualfunctionoverrides

//{{AFX_VIRTUAL(CAboutDlg)protected:

virtualvoidDoDataExchange(CDataExchange*pDX);

//DDX/DDVsupport

//}}AFX_VIRTUAL

//Implementationprotected:

//{{AFX_MSG(CAboutDlg)

//}}AFX_MSGDECLARE_MESSAGE_MAP()

};

CAboutDlg:

:

CAboutDlg():

CDialog(CAboutDlg:

IDD)

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

}

voidCAboutDlg:

DoDataExchange(CDataExchange*pDX)

CDialog:

DoDataExchange(pDX);

//{{AFX_DATA_MAP(CAboutDlg)

//}}AFX_DATA_MAP

BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)

//{{AFX_MSG_MAP(CAboutDlg)

//Nomessagehandlers

//}}AFX_MSG_MAPEND_MESSAGE_MAP()

//CLDlgdialog

CLDlg:

CLDlg(CWnd*pParent/*=NULL*/)

CDialog(CLDlg:

IDD,pParent)

//{{AFX_DATA_INIT(CLDlg)

//NOTE:

theClassWizardwilladdmemberinitializationhere

//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32m_hIcon=AfxGetApp()->

LoadIcon(IDR_MAINFRAME);

voidCLDlg:

//{{AFX_DATA_MAP(CLDlg)

theClassWizardwilladdDDXandDDVcallshere

BEGIN_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_MAP

END_MESSAGE_MAP()

//CLDlgmessagehandlers

BOOLCLDlg:

OnInitDialog()

OnInitDialog();

//Add"

About..."

menuitemtosystemmenu.

//IDM_ABOUTBOXmustbeinthesystemcommandrange.ASSERT((IDM_ABOUTBOX&

0xFFF0)==IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX<

0xF000);

CMenu*pSysMenu=GetSystemMenu(FALSE);

if(pSysMenu!

=NULL)

CStringstrAboutMenu;

strAboutMenu.LoadString(IDS_ABOUTBOX);

if(!

strAboutMenu.IsEmpty())

pSysMenu->

AppendMenu(MF_SEPARATOR);

AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);

//Settheiconforthisdialog. Theframeworkdoesthisautomatically

// whentheapplication'

smainwindowisnotadialogSetIcon(m_hIcon,TRUE);

//SetbigiconSetIcon(m_hIcon,FALSE);

//Setsmallicon

//TODO:

Addextrainitializationhere

returnTRUE;

//returnTRUE unlessyousetthefocustoacontrol

OnSysCommand(UINTnID,LPARAMlParam)

if((nID&

0xFFF0)==IDM_ABOUTBOX)

CAboutDlgdlgAbout;

dlgAbout.DoModal();

else



OnSysCommand(nID,lParam);

//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow

// todrawtheicon. ForMFCapplicationsusingthedocument/viewmodel,

// thisisautomaticallydoneforyoubytheframework.

OnPaint()

if(IsIconic())

CPaintDCdc(this);

//devicecontextforpaintingSendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);

//Centericoninclientrectangle

intcxIcon=GetSystemMetrics(SM_CXICON);

intcyIcon=GetSystemMetrics(SM_CYICON);

CRectrect;

GetClientRect(&

rect);

intx=(rect.Width()-cxIcon+1)/2;

inty=(rect.Height()-cyIcon+1)/2;

//Drawtheicondc.DrawIcon(x,y,m_hIcon);

OnPaint();

//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags

// theminimizedwindow.

HCURSORCLDlg:

OnQueryDragIcon()

return(HCURSOR)m_hIcon;

OnOK()

intx00=300,y00=350,i,j;

doublex;

CDC*pDC=GetDC();

pDC->

SetMapMode(MM_LOMETRIC);

pDC->

SetViewportOrg(x00,y00);

//画坐标轴与原函数

for(i=-700;

i<

=700;

i++)

SetPixel(i,0,RGB(0,0,0));

SetPixel(0,i,RGB(0,0,0));

for(x=-1;

x<

=1;

x+=0.001)

doublej=400.0/(1+25*x*x);

SetPixel(x*500,j,RGB(360,0,0));

TextOut(-30,-10,"

0"

);

TextOut(-30,430,"

1"

TextOut(490,-10,"

TextOut(-490,-10,"

-1"

MoveTo(-10,680);

//x箭头

LineTo(0,700);

MoveTo(0,700);

LineTo(10,680);

MoveTo(680,10);

//y箭头

LineTo(700,0);

MoveTo(700,0);

LineTo(680,-10);

TextOut(-30,700,"

y"

TextOut(700,-10,"

x"

OnLargri()

//画坐标轴

doubleyx[]={-1,-0.8,-0.6,-0.4,-0.2,0,0.2,0.4,0.6,0.8,1};

//拉格朗日差值的函数

doubleyy[12],lx[12],ly[12];

doublel_fenzi[12],l_fenmu[12];

doublel_x,l_y;

for(i=0;

=10;

yy[i]=1.0/(1+25*yx[i]*yx[i]);

l_fenmu[i]=1.0;

for(j=0;

j<

j++)

if(i!

=j)

l_fenmu[i]=l_fenmu[i]*(yx[i]-yx[j]);

doubleqq,pp;

for(qq=-1;

qq<

qq+=0.0003)

l_fenzi[i]=1.0;

l_fenzi[i]=l_fenzi[i]*(qq-yx[j]);

pp=0;

=11;

pp=pp+1.0/(1+25*yx[i]*yx[i])*l_fenzi[i]/l_fenmu[i];

SetPixel(qq*500,pp*390+5,RGB(132,112,225));

OnButton2()

doubleyy[14];

for(i=0;

// 线性分段差值的图像

CPenpen;

CPen*oldpen;

pen.CreatePen(PS_SOLID,5,RGB(0,0,0));

oldpen=pDC->

SelectObject(&

pen);

10;

MoveTo(yx[i]*480,yy[i]*400);

LineTo(yx[i+1]*480,yy[i+1]*400);

OnHermite()

doubleyy[12];

//分段三次Hermite差值的函数

doublex0,x1,yd1,yd0,y1,y0;

x0=yx[i],x1=yx[i+1];

y0=1.0/(1+25*x0*x0);

y1=1.0/(1+25*x1*x1);

yd0=-(50*x0)*1.0/((1+25*x0*x0)*(1+25*x0*x0));

yd1=-(50*x1)*1.0/((1+25*x1*x1)*(1+25*x1*x1));

for(doubleqq=x0;

x1;

qq+=0.005)

doublepp=y0*(1+2*(qq-x0)/(x1-x0))*(qq-x1)/(x0-x1)*(qq-x1)/(x0-x1)

+y1*(1+2*(qq-x1)/(x0-x1))*(qq-x0)/(x1-x0)*(qq-x0)/(x1-x0)

+yd0*(qq-x0)*(qq-x1)/(x0-x1)*(qq-x1)/(x0-x1)

+yd1*(qq-x1)*(qq-x0)/(x1-x0)*(qq-x0)/(x1-x0);

SetPixel(qq*500,pp*400,RGB(225,185,15));

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 可爱清新

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2