已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数值分析上机实习报告姓名: 学号: 专业: 大地测量学与测量工程 电话: 序 言1. 所用程序语言:本次数值分析上机实习采用Visual c#作为程序设计语言,利用Visual c#可视化的编程实现方法,采用对话框形式进行设计计算程序界面,并将结果用表格或文档的格式给出。2. 程序概述:(1) 第一题是采用牛顿法和steffensen法分别对两个题进行分析,编好程序后分别带入不同的初值,观察与真实值的差别,分析出初值对结果的影响,分析两种方法的收敛速度。(2) 第二题使用Visual c#程序设计语言完成了“松弛因子对SOR法收敛速度的影响” ,通过在可视化界面下输入不同的n和w值,点击按钮直接可看到迭代次数及计算结果,观察了不同的松弛因子w对收敛速度的影响。目 录一用牛顿法,及牛顿-Steffensen法31. 计算结果32. 结果分析53. 程序清单5二松弛因子对SOR法收敛速度的影响81. 迭代次数计算结果82. 计算X()结果103. 对比分析124. 程序清单:12三实习总结14实验课题(一)用牛顿法,及牛顿-Steffensen法 题目:分别用牛顿法,及牛顿-Steffensen法 (1) 求ln(x+sinx)=0的根。初值x0分别取0.1, 1,1.5, 2, 4进行计算。(2) 求sinx=0的根。初值x0分别取1,1.4,1.6, 1.8,3进行计算。分析其中遇到的现象与问题。1、计算结果由于比较多每种方法中只选取了其中两个的图片例在下面: 2、结果分析 通过对以上的牛顿法和steffensen法的练习,我发现在初值的选取很重要,好的初值选出后可以很快的达到预定的精度,要是选的不好就很慢,而且在有的时候得出的还是非数字,所以初始值的选取很重要。3.程序清单编程实现程序清单如下所示:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace 数值分析一 public partial class Form1 : Form public Form1() InitializeComponent(); private void button3_Click(object sender, EventArgs e) this.Close(); private void button1_Click(object sender, EventArgs e) if (radioButton1.Checked) try int i = 0; double x = new double5; x0 = double.Parse(textBox1.Text); listBox1.Items.Clear(); for (i = 0; i 4; i+) xi + 1 = xi - (System.Math.Log(xi + System.Math.Sin(xi) / (1 + System.Math.Cos(xi) / (xi + System.Math.Sin(xi); listBox1.Items.Add(xi + 1.ToString(); catch (Exception ex) MessageBox.Show(ex.Message); else if (radioButton2.Checked) try int i = 0; double x = new double5; x0 = double.Parse(textBox1.Text); listBox1.Items.Clear(); for (i = 0; i 4; i+) xi + 1 = xi - (1 - System.Math.Sin(xi) - xi) * (1 - System.Math.Sin(xi) - xi) / (1 - System.Math.Sin(1 - System.Math.Sin(xi) - 2 * (1 - System.Math.Sin(xi) + xi); listBox1.Items.Add(xi + 1.ToString(); catch (Exception ex) MessageBox.Show(ex.Message); private void button2_Click(object sender, EventArgs e) if (radioButton3.Checked) try int i = 0; double x = new double5; x0 = double.Parse(textBox2.Text); listBox1.Items.Clear(); for (i = 0; i 4; i+) xi + 1 = xi - System.Math.Sin(xi)/System.Math.Cos(xi); listBox1.Items.Add(xi + 1.ToString(); catch (Exception ex) MessageBox.Show(ex.Message); else if(radioButton4.Checked) try int i = 0; double x = new double5; x0 = double.Parse(textBox2.Text); listBox1.Items.Clear(); for (i = 0; i 4; i+) xi + 1 = xi - (System.Math.Asin(System.Math.Tan(xi) - xi) * (System.Math.Asin(System.Math.Tan(xi) - xi) / (System.Math.Asin(System.Math.Tan(System.Math.Asin(System.Math.Tan( xi) -2*(System.Math.Asin(System.Math.Tan( xi)+xi); listBox1.Items.Add(xi + 1.ToString(); catch (Exception ex) MessageBox.Show(ex.Message); 实验课题(二) 松弛因子对SOR法收敛速度的影响二、编写一个用SOR法解方程组得计算机程序,其中 要求程序中不存系数矩阵A,分别对不同的阶数取w=1.1, 1.2, .,1.9进行迭代,记录近似解x(k)达到|x(k)-x(k-1)|10-6时所用的迭代次数k,观察松弛因子对收敛速度的影响,并观察当w0或w2会有什么影响?1、 迭代次数计算结果(1)当n=10时,w=1.3,1.4,1.5,1.6,1.7,1.8由于太多仅列出其中四个,所求的迭代次数结果如下: (2)当n=20时,求其迭代次数方法如上,只写出当w=1.1,1.3,1.5,1.7时的迭代次数,计算结果如下: 2、计算x()结果(1)当n=10,由于松弛因子较多,在此取松弛因子分别为1.1、1.3、1.5、1.9的情况下迭代后的x()的值,所求的x()的结果分别如下所示: w=1.1 w=1.3 w=1.5 w=1.9(2)当n=20,由于松弛因子较多,在此取松弛因子分别为1.1、1.3、1.5、1.9的情况下迭代后的x()的值,所求的x()的结果分别如下所示 w=1.1 w=1.3 w=1.5 w=1.93、 对比分析分析对比实验结果可得:w=0或2时,不进行迭代,迭代次数结果直接为0,松弛法迭代不收敛;当0w2时,松弛法迭代收敛;当0w1,当矩阵阶数一定时,松弛因子越大,收敛越快;当1w2,当矩阵阶数一定时,松弛因子越小,收敛越快;对于相同的松弛因子,阶数越大时,迭代次数越多。当w2时,程序计算结果返回迭代次数,求得的x()的值显示为非数字,表明当w2时,松弛法迭代是不收敛的。4、 程序清单利用C#编程实现程序清单如下所示:public string SOR(double, a, double b, double x0, int n, double w) int i = 0; int j = 0; int k = 0; int M = 0; double x = new doublen + 1; string YYY = null; double err = 0; double XI = new doublen + 1; double e = 1E-06; double Item1 = new; double Item2 = new; double Item3 = new; double Item4 = new doublen + 1; for (i = 0; i = n; i+) x(i) = x0(i); k = 1; while (k = 10000) err = 0; for (i = 0; i = n; i+) XI(i) = x(i); Item1(i) = (1 - w) * x(i); Item2(i) = w * b(i) / a(i, i); for (j = 0; j = i - 1; j+) Item3(i) += w * a(i, j) * x(j) / a(i, i); for (j = i + 1; j = n; j+) Item4(i) += w * a(i, j) * x(j) / a(i, i); x(i) = Item1(i) + Item2(i) - Item3(i) - Item4(i); Item1(i) = 0; Item2(i) = 0; Item3(i) = 0; Item4(i) = 0; if (err Abs(XI(i) - x(i) err = Abs(XI(i) - x(i); if (err e) for (i = 0; i = n; i+) YYY += x( + (string)i + 1 + )= + (string)x(i) + + Strings.Chr(10) + Strings.Chr(13); return YYY; else k += 1; private void button1_Click(object sender, EventArgs e)int n = 0; double w = 0; n = 19; w = 1.9; double, a = new doublen + 1, n + 1; double b = new doublen + 1; double x0 = new doublen + 1; int M = 0; int i = 0; int j = 0; for (i = 1; i = n - 1; i+) a(0, 0) = -4; a(0, 1) = 1; a(n, n) = -4; a(n, n - 1) = 1; a(i, i) = -4; a(i, i - 1) = 1; a(i, i + 1) = 1; for (i = 1; i = n - 1; i+) b(0) = -3; b(n) = -3; b(i) = -2; for (i = 0; i = n; i+) x0(i) = 0; Console.Write(SOR(a, b, x0, n, w); Console.Read();三实习总结:1. 通过这次上机实习我知道了数值分析在计算中的重要性,我从实践的角度更为深入地掌握了雅格比法、高斯塞德尔迭代法以及解方程组中松弛因子对SOR法收敛速度的影响。刚开始对这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中药电子批记录系统可行性研究报告
- 中药材收购加工项目建设可行性研究报告
- 中性笔头项目可行性研究报告
- 古城模板教学课件
- 灌肠课件合集课件
- 2026年教师资格证综合素质高频考点专项训练题库及答案
- 经济师企业职业健康安全管理体系考点专项题库及答案
- 期货从业资格考试期货市场法规与政策模拟试卷及答案
- 妇产科住院医师规范化培训结业考核冲刺模拟试题及答案
- 无线电通信设备维护与检修模拟试题及答案
- (正式版)DB14∕T 1324-2016 《公路桥梁预应力钢绞线局部释放法测试现存应力技术指南》
- 郑州网约车资格证模拟考试及答案
- 多资产配置全景研究系列控波御险:多资产组合风险管理方法论
- 2026年体育教研员竞聘题库(附答案)
- 水泥产品碳足迹核算报告
- 新版西师版五年级上册数学全册教案(完整版)教学设计含教学反思
- 电梯工程安装及后期保养合同三篇
- 人工智能驱动下的人才竞争力评价与专业演变研究
- 2025年正高面审答辩正高面审答辩重症医学笔试参考题库附带答案详解
- 银行保安服务 投标方案(技术标)
- 土工试验工试题及答案(题库版)
评论
0/150
提交评论