- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、题目:
关于x, y, t, u, v, w的下列方程组
以及关于z, t, u的下列二维数表
z u
t
0
0.4
0.8
1.2
1.6
2.0
0
-0.5
-0.34
0.14
0.94
2.06
3.5
0.2
-0.42
-0.5
-0.26
0.3
1.18
2.38
0.4
-0.18
-0.5
-0.5
-0.18
0.46
1.42
0.6
0.22
-0.34
-0.58
-0.5
-0.1
0.62
0.8
0.78
-0.02
-0.5
-0.66
-0.5
-0.02
1.0
1.5
0.46
-0.26
-0.66
-0.74
-0.5
确定了一个二元函数z = f(x, y)。
1、试用数值方法求出f(x, y)在区域 上的一个近似表达式
要求一最小的k值达到以下的精度
其中,。
2、计算(i = 1, 2, …,8;j = 1, 2,…,5)的值,以观察逼近的效果,其中,=0.1i, =0.5+0.2j。
说明:1、用迭代方法求解非线性方程组时,要求近似解向量满足
2、作二元插值时,要使用分片二次代数插值。
3、要由程序自动确定最小的k值。
4、打印以下内容:
●算法的设计方案。
●全部源程序(要求注明主程序和每个子程序的功能)。
●数表: (i = 0,1,2,…,10;j = 0,1,2,…,20)。
●选择过程的值。
●达到精度要求时的值以及中的系数(r = 0,1,…,k;s = 0,1,…,k)。
●数表:(i = 1, 2, …,8;j = 1, 2,…,5)。
5、采用f型输出的准确值,其余实型数采用e型输出并且至少显示12位有效数字。
二、算法设计方案
1.使用牛顿迭代法,对原题中给出的,,()的11*21组分别求出原题中方程组的一组解,于是得到一组和对应的。
2.对于已求出的,使用分片二次代数插值法对原题中关于的数表进行插值得到。于是产生了z=f(x,y)的11*21个数值解。
3.从k=1开始逐渐增大k的值,并使用最小二乘法曲面拟合法对z=f(x,y)进行拟合,得到每次的。当时结束计算,输出拟合结果。
4.计算的值并输出结果,以观察逼近的效果。其中。
三、算法实现方案
1、求:
(1)Newton法解非线性方程组
,
其中,t, u, v ,w为待求的未知量,x, y为代入的已知量。
设,给定精度水平和最大迭代次数M,则解该线性方程组的迭代格式为:
迭代终止条件为,若时仍未达到迭代精度,则迭代计算失败。
其中,雅可比矩阵
,
,
(2)分片双二次插值:
根据题目给出的表格,
(其中,)
对于给定的,如果满足
则选择为插值节点,相应的插值多项式为
其中,
如果,则在式(2)中取i=1或i=4; 如果,则在式(2)中取u=1或u=4。
在区域上,将(i=0,1,…,10;0.5+0.2j,j=0,1,…20)代入到非线性方程组(1)中,用Newton法解出,再由分片双二次插值得,则有(i=0,1,…,10;j=0,1,…,20),即求出了。
2、求:
乘积型最小二乘拟合曲面:
(1)求系数矩阵C:
其中,
计算中涉及到对矩阵求逆,接着在后面将会具体说明列主元的高斯消去法求矩阵的逆的方法。
(2)确定最小的k值,拟合曲面:
设,给定精度水平和最大迭代次数N,则确定最小k值的迭代格式为:
迭代终止条件为,若时仍未达到迭代精度,则迭代计算失败。
待确定满足精度条件的最小k值后,就可以进行曲面拟合计算了。
3、关于列主元的高斯消去法求矩阵的逆:
设非奇异矩阵,且 ,则
,
对B和I列分块,有
即
其中,
应用列主元的高斯消去法线性解方程组 ,
则即为A的逆。
注:若A不可逆,则此算法失效。
四、源程序
#includeiostream
// zhhfshzhfx3.cpp : 定义控制台应用程序的入口点。
//
#include stdio.h
#include cmath
const int M= 500;//迭代最大次数
const double E=1.0e-12;//确定牛顿迭代精度水平
const double E1=1.0e-7;//确定拟合精度水平
const int kmax=9;//k的最大值
const double matrix[6][6]={
{-0.5, -0.34, 0.14, 0.94, 2.06, 3.5},
{-0.42, -0.5, -0.26, 0.3, 1.18, 2.38},
{-0.18, -0.5, -0.5, -0.18, 0.46, 1.42},
{0.22, -0.34, -0.58, -0.5, -0.1, 0.62},
{0.78, -0.02, -0.5, -0.66, -0.5, -0.02
您可能关注的文档
最近下载
- Python人工智能培训.pptx
- 建筑工程图集 18K802:暖通空调系统的检测与监控(水系统分册).pdf VIP
- 2023-2024学年译林版(三起)英语六年级上册期中测试题含答案.docx
- GF-2017-0201《建设工程施工合同示范文本》.doc
- 2024年保安员考试复习题库及答案(共1500题).doc
- 五四运动说课课件(新部编).ppt
- DLT5100—2014 水工混凝土外加剂技术规程.pdf
- 2022年上海市普陀区初三中考一模英语听力试题及原文(附听力音频).docx VIP
- (高清版)BT 26745-2021 土木工程结构用玄武岩纤维复合材料.pdf VIP
- 大学生就业引航树立正确的就业观.pptx VIP
文档评论(0)