欢迎来到天天文库
浏览记录
ID:14105448
大小:334.00 KB
页数:16页
时间:2018-07-26
《数值分析上机实习报告(西南交通大学)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数值分析上机实习报告姓名:学号:专业:大地测量学与测量工程电话:15序言1.所用程序语言:本次数值分析上机实习采用Visualc#作为程序设计语言,利用Visualc#可视化的编程实现方法,采用对话框形式进行设计计算程序界面,并将结果用表格或文档的格式给出。2.程序概述:(1)第一题是采用牛顿法和steffensen法分别对两个题进行分析,编好程序后分别带入不同的初值,观察与真实值的差别,分析出初值对结果的影响,分析两种方法的收敛速度。(2)第二题使用Visualc#程序设计语言完成了“松弛因子对SOR法收敛速度的影
2、响”,通过在可视化界面下输入不同的n和w值,点击按钮直接可看到迭代次数及计算结果,观察了不同的松弛因子w对收敛速度的影响。15目录一.用牛顿法,及牛顿-Steffensen法31.计算结果32.结果分析53.程序清单5二.松弛因子对SOR法收敛速度的影响81.迭代次数计算结果82.计算X()结果103.对比分析124.程序清单:12三.实习总结1415实验课题(一)用牛顿法,及牛顿-Steffensen法题目:分别用牛顿法,及牛顿-Steffensen法(1)求ln(x+sinx)=0的根。初值x0分别取0.1,1,
3、1.5,2,4进行计算。(2)求sinx=0的根。初值x0分别取1,1.4,1.6,1.8,3进行计算。分析其中遇到的现象与问题。1、计算结果由于比较多每种方法中只选取了其中两个的图片例在下面:15152、结果分析通过对以上的牛顿法和steffensen法的练习,我发现在初值的选取很重要,好的初值选出后可以很快的达到预定的精度,要是选的不好就很慢,而且在有的时候得出的还是非数字,所以初始值的选取很重要。3.程序清单编程实现程序清单如下所示:usingSystem;usingSystem.Collections.Gen
4、eric;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespace数值分析一{publicpartialclassForm1:Form{15publicForm1(){InitializeComponent();}privatevoidbutton3_Click(objectsender,EventArgse){this.Close();}pr
5、ivatevoidbutton1_Click(objectsender,EventArgse){if(radioButton1.Checked){try{inti=0;double[]x=newdouble[5];x[0]=double.Parse(textBox1.Text);listBox1.Items.Clear();for(i=0;i<4;i++){x[i+1]=x[i]-(System.Math.Log(x[i]+System.Math.Sin(x[i])))/((1+System.Math.Cos(x[i
6、]))/(x[i]+System.Math.Sin(x[i])));listBox1.Items.Add(x[i+1].ToString());}}catch(Exceptionex){MessageBox.Show(ex.Message);}}elseif(radioButton2.Checked){try{inti=0;double[]x=newdouble[5];x[0]=double.Parse(textBox1.Text);15listBox1.Items.Clear();for(i=0;i<4;i++){
7、x[i+1]=x[i]-(1-System.Math.Sin(x[i])-x[i])*(1-System.Math.Sin(x[i])-x[i])/((1-System.Math.Sin(1-System.Math.Sin(x[i])))-2*(1-System.Math.Sin(x[i]))+x[i]);listBox1.Items.Add(x[i+1].ToString());}}catch(Exceptionex){MessageBox.Show(ex.Message);}}}privatevoidbutton
8、2_Click(objectsender,EventArgse){if(radioButton3.Checked){try{inti=0;double[]x=newdouble[5];x[0]=double.Parse(textBox2.Text);listBox1.Items.Clear();for(i=0;i<4;i++){x[i+1]=x
此文档下载收益归作者所有