没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
实验一 牛顿下山法解方程
一、 实验目的
1. 熟悉非线性方程求根简单迭代法,牛顿迭代及牛顿下山法
2. 能编程实现简单迭代法,牛顿迭代及牛顿下山法
3. 认识选择迭代格式的重要性
4. 对迭代速度建立感性的认识;分析实验结果体会初值对迭代的影响
二、 实验内容
用牛顿下山法解方程
x
3
−x−1=0
输入:初值;
输出:近似根。
三、 基本原理
求非线性方程组的解是科学计算常遇到的问题,有很多实际背景.各种算
法层出不穷,其中迭代是主流算法。只有建立有效的迭代格式,迭代数列才可
以收敛于所求的根。因此设计算法之前,对于一般迭代进行收敛性的判断是至
关重要的。牛顿法也叫切线法,是迭代算法中典型方法,只要初值选取适当,
在单根附近,牛顿法收敛速度很快,初值对于牛顿迭代至关重要。当初值选取
不当可以采用牛顿下山算法进行纠正。
一般迭代:
x
k+1
=φ
(
x
k
)
x=φ
(
x
)
⇔ f
(
x
)
=0
牛顿公式:
x
k+1
=x
k
−
f
(
x
k
)
f
'
(
x
k
)
牛顿下山公式:
x
k+1
=x
k
−λ
f
(
x
k
)
f
'
(
x
k
)
下山因子
λ=1 ,
1
2
,
1
2
2
,
1
2
3
,…
下山条件
|
f
(
x
k+1
)
|
<
|
f
(
x
k
)
|
四、 算法设计与实现
设计:
实现:
public partial class S1 : Form
{
const int N = 100;
const double e = 1e-6;
public S1()
{
InitializeComponent();
}
double f(double x)
{
return x * x * x - x - 1;
}
double f1(double x)
{
return 3 * x * x - 1;
}
double Newton(double x0, ref int flag)
{
double x1, d = 0;
for (int k = 1; k < N; k++)
{
if (Math.Abs(f1(x0)) < e)
{
flag = 2;
return 0;
}
float la = 1;
do
{
if (la < e)
{
flag = 3;
return 0;
}
x1 = x0 - la * f(x0) / f1(x0);
la = la / 2;
}
while (Math.Abs(f(x1)) >= Math.Abs(f(x0)));
d = Math.Abs(x1 - x0);
if (Math.Abs(d) < e)
{
flag = 0;
return x1;
}
x0 = x1;
}
flag = 1;
return 0;
}
private void button1_Click(object sender, EventArgs e)
{
double x, y;
int flag = 0;
textBox2.Text = "计算中...";
if (textBox1.Text != "")
{
x = Convert.ToDouble(textBox1.Text);
}
else
{
MessageBox.Show("请输入初值");
return;
}
y = Newton(x, ref flag);
if (flag == 0)
textBox2.Text = Convert.ToString(y);
else if (flag == 1)
textBox2.Text="迭代失败";
else if (flag == 2)
textBox2.Text = "函数奇异";
else if (flag == 3)
textBox2.Text = "下山失败";
}
}
五、 输入输出样例
剩余56页未读,继续阅读
资源评论
AUVer
- 粉丝: 4
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于相干衍射成像模拟的matlab源码.zip
- 数据分析的MATLAB课件及代码等
- 基于Bi-LSTM的亚马逊评论情感二分类模型及可视化源码(高分项目).zip
- Furina.ini
- 《设计模式解析》课程习题2.docx
- 基于LSTM的影评情感分类python源码+数据集+详细注释.zip
- 加密1加密1加密1加密1加密1加密1加密1加密1加密1
- 首批 Llama3 70B 中文大模型,在C-Eval和CMMLU的表现超过了ChatGPT,与GPT-4持平
- 基于LSTM的影评情感分类python源码+数据集+详细注释.zip
- JAVA自学课件-第八章 AWT及AWT事件处理.pptx(共54页)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功