数值分析上机实习报告(西南交通大学)[精品].doc
文本预览下载声明
数值分析上机实习报告
姓名:
学号:
专业: 大地测量学与测量工程
电话:
序 言
所用程序语言:本次数值分析上机实习采用Visual c#作为程序设计语言,利用Visual c#可视化的编程实现方法,采用对话框形式进行设计计算程序界面,并将结果用表格或文档的格式给出。
程序概述:
第一题是采用牛顿法和steffensen法分别对两个题进行分析,编好程序后分别带入不同的初值,观察与真实值的差别,分析出初值对结果的影响,分析两种方法的收敛速度。
第二题使用Visual c#程序设计语言完成了“松弛因子对SOR法收敛速度的影响” ,通过在可视化界面下输入不同的n和w值,点击按钮直接可看到迭代次数及计算结果,观察了不同的松弛因子w对收敛速度的影响。
目 录
一.用牛顿法,及牛顿-Steffensen法 3
1. 计算结果 3
2. 结果分析 5
3. 程序清单 5
二.松弛因子对SOR法收敛速度的影响 8
1. 迭代次数计算结果 8
2. 计算X()结果 10
3. 对比分析 12
4. 程序清单: 12
三.实习总结 14
实验课题(一)用牛顿法,及牛顿-Steffensen法
题目:分别用牛顿法,及牛顿-Steffensen法
求ln(x+sinx)=0的根。初值x0分别取0.1, 1,1.5, 2, 4进行计算。
求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 double[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])) / (x[i] + System.Math.Sin(x[i])));
listBox1.Items.Add(x[i + 1].ToString());
}
}
catch (Exception ex)
{
显示全部