<note>8月5日

1.牛顿迭代法解方程的根:将方程写成最简单的f(x)=0的形式。在任意点处,如x=1处求取函数曲线的切线g1=f'(1)*x+(f(1)-f'(1)*1) 求取切线方程等于0时的横坐标x1=-(f(1)-f'(1)*1)/f'(1) 抽象成迭代式 x=-(f(x)-f'(x)*x)/f'(x)

对于多个根的情况,可以引入一个外部循环给定定义域。因为牛顿迭代总是能解出满足迭代方向距离初始值最近的根,因而可以通过给定定义域循环来求解定义域内所有的根(当然可能会有超出定义域的根,但无所谓)。为了避免由于小数位数而引起的根的不同,可以得出根时先进行比较。比如下面这个求解四次方根的程序:

public class Third {
public static void main(String[] args) {
double c=16;
double t=0.0;
double temp=-1000;
double jduge=0.0;
while(temp<=1000&&temp>=-1000){
t=temp;
while(Math.abs(c-t*t*t*t)>1e-10){
t=(4*t*t*t*t-t*t*t*t+c)/(4*t*t*t);
}

if(Math.abs(jduge-t)>0.00001){
jduge=t;
System.out.println(t);
temp=temp+1;
}
else{
temp=temp+1;
}
}
}
}

2.递归

1)方法的第一条语句总是一个包含return的条件语句。

2)递归总是去尝试解决规模更小的子问题

3)递归的父问题不应和子问题产生交集


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值