数值分析实验一 非线性方程求根实验

该实验旨在掌握非线性方程的二分法、牛顿迭代法和弦截法。通过编程实践,对比牛顿法与弦截法在求解粮仓底半径问题上的应用,发现迭代次数与初值选择有关,并分析了两种方法的收敛速度和优缺点。牛顿法具有快速收敛和简单构造的优点,但需要计算导数;弦截法不需计算导数,但计算过程较复杂,需要两个初值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实验目的

1、掌握非线性方程的各种解法,包括二分法、牛顿迭代法、弦截法等,并通过编程练习与上机运算,体会牛顿迭代法、弦截法的不同特点;
2、掌握解非线性方程的弦截法,并与牛顿迭代法作比较;
3、了解各种方法的收敛速度。

二、实验题目(共100分)

已知有一个粮仓,其顶部是半球形,下半部分是高为10米的圆柱形,粮仓的容积是400立方米。

  1. 用牛顿法求粮仓的底半径,精确到4位有效小数。(30分)
  2. 迭代收敛的快慢与初值的选取是否有关,通过数值试验来回答这个问题。(20分)
  3. 用弦截法求粮仓的底半径,精确到4位有效小数。(30分)
  4. 比较牛顿法与弦截法的优缺点。(20分)

三、实验原理

1、牛顿法
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

四、实验内容与结果

  1. 用牛顿法求粮仓的底半径,精确到4位有效小数。(30分)
/**
 * @program: shiyan1
 * @Package: PACKAGE_NAME
 * @Description: TODO
 * @author: Mr.John
 * @date: 2020/3/19 18:54
 */
public class Newton {
   
    public static void main(String[] args) {
   
        double PI = 3.1416;                                     //圆周率
        double R = 4.0;                                           //初始化半径
        double R_new;                                           //迭代后的半径
        double f_R;      //仓库体积计算函数
        double f_R_D1;                 //一阶导数
        double f_R_D2 = (double)4*PI*R+(double)20*PI;                               //二阶导数
        double[] range = {
   1,4};                                 //定义自变量区间
        double error;                                           //误差
        double precision = 0.5*Math.pow(10,-4);                 //精度
        int i=0;

//        进行Newton迭代
        do {
   
            i++
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值