计算方法实验报告(5)

2019-01-19 11:36

}

// TODO: 在此添加控件通知处理程序代码

void CchazhiDlg::OnBnClickedButton3() { }

CubicInterpolation *cubicInterpolation = new CubicInterpolation(); cubicInterpolation->initVector(xy.x, xy.y, 0, 0, xy.n+1); cubicInterpolation->calcCoefs();

for(int i=0;i

for(int x=xy.x[i];x

double result = cubicInterpolation->evaluate(x); }

pDC->LineTo(int (uchangex(x)),int (uchangey(result))); }

Sleep(10);

CWnd *pwnd=AfxGetMainWnd(); CDC *pDC=pwnd->GetDC();

CPen pen(PS_SOLID,2,RGB(100,255,255)); pDC->SelectObject(&pen);

pDC->MoveTo(int(uchangex(xy.x[0])),int (uchangey((xy.y[0]))));

21

22

实验二:数值积分

2.1、实验目的

通过该课程实习,学会使用数值积分的各种方法求解定积分计算的问题,体会各种方法的精度差异。

2.2、实验环境 Visual studio 2015 2.3、实验内容

本实验将梯形法的递推化和龙贝格算法编写为类CIntegration,在工程中调用该类得出积分结果并画出区间二分图像。首先画出被积函数图像,并储存被积函数在图像中每个像素对应的采样点的横坐标(存放于float型指针p_X中)和纵坐标(存放于int型指针p_Y中);然后调用CIntegration类中相应函数,计算积分结果;最后将x轴上的区间二分点与其对应的被积函数值的点连线。

根据实验内容和算法流程图预先编好程序初稿,上机调试、运行。

2、在屏幕上按适当比例和位置画出坐标轴及解的函数曲线输出正确的结果。 3、测试、分析它们的运行结果,比较三种方法的精度和误差。

2.4、实验结果

// TwoDlg.cpp : implementation file //

#include \ #include \ #include \ #include \ #include \ #include \ #ifdef _DEBUG

#define new DEBUG_NEW #endif

// CAboutDlg dialog used for App About

23

class CAboutDlg : public CDialogEx { public: CAboutDlg();

// Dialog Data

#ifdef AFX_DESIGN_TIME enum { IDD = IDD_ABOUTBOX }; #endif

protected:

virtual void DoDataExchange(CDataExchange* pDX);

// Implementation protected: DECLARE_MESSAGE_MAP() };

CAboutDlg::CAboutDlg() : CDialogEx(IDD_ABOUTBOX) { }

void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); }

BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP()

// CTwoDlg dialog

CTwoDlg::CTwoDlg(CWnd* pParent /*=NULL*/) : CDialogEx(IDD_TWO_DIALOG, pParent) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); }

double CTwoDlg::fun(double x) {

24

// DDX/DDV support }

if (x == 0.0)

return 1.0; return sin(x) / x;

int CTwoDlg::parseInt(CString mStr) { }

void CTwoDlg::DoDataExchange(CDataExchange* pDX) { }

BEGIN_MESSAGE_MAP(CTwoDlg, CDialogEx)

// CTwoDlg message handlers

BOOL CTwoDlg::OnInitDialog() {

// IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); // Add \ CDialogEx::OnInitDialog(); ON_WM_SYSCOMMAND() ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_EN_CHANGE(IDC_EDIT1, &CTwoDlg::OnEnChangeEdit1) ON_BN_CLICKED(IDC_BUTTON3, &CTwoDlg::OnBnClickedButton3) ON_BN_CLICKED(IDC_BUTTON4, &CTwoDlg::OnBnClickedButton4) ON_BN_CLICKED(IDC_BUTTON2, &CTwoDlg::OnBnClickedButton2) ON_BN_CLICKED(IDC_BUTTON5, &CTwoDlg::OnBnClickedButton5) ON_BN_CLICKED(IDC_BUTTON1, &CTwoDlg::OnBnClickedButton1) CDialogEx::DoDataExchange(pDX); int x = 0;

for (int i = 0; i < mStr.GetLength(); i++) { } return x;

x *= 10;

x += (mStr[i] - '0');

END_MESSAGE_MAP()

25


计算方法实验报告(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:二年级心理健康教育活动课教案【心舟版】

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: