1341901124-武易-计算方法
更新时间:2023-12-08 04:56:01 阅读量: 教育文库 文档下载
- 13419019推荐度:
- 相关推荐
计算方法实验报告
1341901124
武易
计算机科学与技术
实验一——插值方法
一实验目的
通过本次上机实习,能够进一步加深对各种插值算法的理解;学会使用用三种类型的插值函数的数学模型、基本算法,结合相应软件(如VC/VB/Delphi/Matlab/JAVA/Turbo C)编程实现数值方法的求解。并用该软件的绘图功能来显示插值函数,使其计算结果更加直观和形象化。
二实验内容
通过程序求出插值函数的表达式是比较麻烦的,常用的方法是描出插值曲线上尽量密集的有限个采样点,并用这有限个采样点的连线,即折线,近似插值曲线。取点越密集,所得折线就越逼近理论上的插值曲线。本实验中将所取的点的横坐标存放于动态数组于动态数组Y[n]中。
X[n]中,通过插值方法计算得到的对应纵坐标存放
三 源程序清单
Cahzhi.cpp
// cahzhi.cpp : 定义应用程序的入口点。 //
#include\ #include\ #include\ #include\ #include
// 全局变量:
HINSTANCE hInst; // 当前实例 WCHAR szTitle[MAX_LOADSTRING]; // 标题栏文本 WCHAR szWindowClass[MAX_LOADSTRING]; // 主窗口类名 WCHAR errorMsg[MAX_LOADSTRING];
vector
//取点
//相应窗体点
POINT oriWin;
//原点
// 此代码模块中包含的函数的前向声明:
ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULTCALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTRCALLBACK About(HWND, UINT, WPARAM, LPARAM);
intAPIENTRY wWinMain(_In_HINSTANCEhInstance, _In_opt_HINSTANCEhPrevInstance, _In_LPWSTRlpCmdLine, _In_intnCmdShow) {
UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine);
// TODO: 在此放置代码。 // 初始化全局字符串
LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadStringW(hInstance, IDC_CAHZHI, szWindowClass, MAX_LOADSTRING);
// 执行应用程序初始化:
if (!InitInstance (hInstance, nCmdShow)) { returnFALSE; }
HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_CAHZHI));
MSG msg;
// 主消息循环:
while (GetMessage(&msg, nullptr, 0, 0)) {
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) {
TranslateMessage(&msg); DispatchMessage(&msg); } }
return (int) msg.wParam;
LoadStringW(hInstance, IDS_ERROR, errorMsg, MAX_LOADSTRING); MyRegisterClass(hInstance);
} //
// 函数: MyRegisterClass() //
// 目的: 注册窗口类。 //
ATOM MyRegisterClass(HINSTANCEhInstance) {
WNDCLASSEXW wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_CAHZHI)); wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_CAHZHI); wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
return RegisterClassExW(&wcex); } //
// 函数: InitInstance(HINSTANCE, int) //
// 目的: 保存实例句柄并创建主窗口 //
// 注释: //
// 在此函数中,我们在全局变量中保存实例句柄并 // 创建和显示主程序窗口。 //
BOOL InitInstance(HINSTANCEhInstance, intnCmdShow) {
hInst = hInstance; // 将实例句柄存储在全局变量中
HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
if (!hWnd) {
returnFALSE; }
ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd);
returnTRUE; } //
// 函数: WndProc(HWND, UINT, WPARAM, LPARAM) //
// 目的: 处理主窗口的消息。 //
// WM_COMMAND - 处理应用程序菜单 // WM_PAINT - 绘制主窗口
// WM_DESTROY - 发送退出消息并返回 // //
LRESULTCALLBACK WndProc(HWNDhWnd, UINTmessage, WPARAMwParam, LPARAMlParam) {
staticint cxClient, cyClient; staticPOINT curPoint;
staticuint16_t choiceL=0, choiceN=0, choiceS=0; staticTCHAR curCoor[10]; staticint coorLen; staticRECT txtRect;
SetRect(&txtRect, 0, 0, 100,20); vLConverToW(vp, oriWin, wvp); staticvector
vpDeal = pointDeal(vp);
switch (message) {
caseWM_COMMAND: {
int wmId = LOWORD(wParam); // 分析菜单选择: switch (wmId)
{ 5);
InvalidateRect(hWnd, NULL, true); break;
if (vp.size()) { } break;
if (vp.size()) { } break;
if (vp.size()) { } break; vp.clear();
choiceL = choiceN = choiceS = false; InvalidateRect(hWnd, NULL, true); break;
choiceS = true;
InvalidateRect(hWnd, NULL, false); choiceN = true;
InvalidateRect(hWnd, NULL, false); choiceL = true;
InvalidateRect(hWnd, NULL, false);
caseID_RDPT:
rnPointCt(vp, -cxClient / 2, cxClient / 2, -cyClient / 2, cyClient / 2,
caseID_LARGERANGE:
caseID_NEWTON:
caseID_SPLINE:
caseID_CLEAR:
caseIDM_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; caseIDM_EXIT:
DestroyWindow(hWnd); break; default:
returnDefWindowProc(hWnd, message, wParam, lParam); } } break;
caseWM_SIZE: {
cxClient = LOWORD(lParam); cyClient = HIWORD(lParam);
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 1341901124
- 计算
- 方法
- 1209架设工字钢棚安全技术措施
- 初二下册英语翻译
- 攀枝花学院 09-10 材料力学试卷(A)
- 2010年9月全国计算机等级考试二级C语言笔试试题答案及解析
- 九江学院13届c语言上机试题
- 雅各启示录
- 物理化学核心教程第二版第八章 电化学章末总结
- 2013学年度新版北师大版二年级数学教案
- 护理学基础病例 20道题 附答案
- 放射科 出科考题库 - 53332
- 东南镇中学德育工作总结
- 校长述职:创新学校管理,构建和谐校园
- 2012年重庆市高等教育教学成果获奖候选项目 - 图文
- 水解酸化池设计计算书
- 期末复习题(一)及参考答案
- 三阶魔方公式、魔方图解
- 开题报告
- 2012年河南省机关事业单位工勤技能岗位模拟试题:职业道德
- 2016年6月安全知识竞赛(以2016年新版安全规程为主)
- 动物成语修辞手法