吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2297|回复: 3
收起左侧

[Java 转载] 数学二分法 in Java

[复制链接]
Aecav 发表于 2017-12-8 10:59
[Java] 纯文本查看 复制代码
//Dichotomy.java
class Function{
//这个类是为了定义函数的计算方法,我还做不到让计算机读懂自然语言
	 static double cp(double a){
		double b = 3.0 * a * a * a * a * a - 2 * a - 4;
		return b;
	}
}
public class Dichotomy{
	boolean cancpt;
	double a,b,c,aura;
	Dichotomy(double a,double b,double aura){
		this.a = a;
		this.b = b;
		this.aura = aura;
		this.fir();
	}
	void fir(){
		if(Function.cp(a) * Function.cp(b) > 0){
			System.out.println("区间非法");
		}
	}
	boolean check(){
		boolean t;
		if(Math.abs((this.a - this.b)) < aura){
			t = true;
		}else{
			t = false;
		}
		return t;
	}
	void compute(){
		while(this.check() == false){
			this.compute_();
		}
		System.out.println(a + "≤x≤" + b);
	}
	void compute_(){
		c = (a + b) / 2;
		if(Function.cp(0.0) == 0.0){
			a = c;
			b = c;
		}else if(Function.cp(a) * Function.cp(c) < 0.0){
			b = c;
		}else if(Function.cp(b) * Function.cp(c) < 0.0){
			a = c;
		}
	}
}
class MainTest{
	public static void main(String[] args){
		Dichotomy b = new Dichotomy(0.0,2.0,0.000000000001);
		b.compute();
	}
}

这是效果图

这是效果图

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
卡斯柯酷 + 1 + 1 厉害厉害

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

落尘之木 发表于 2017-12-8 12:06
一般用MATLAB写的算法
 楼主| Aecav 发表于 2017-12-8 11:03
 楼主| Aecav 发表于 2017-12-8 12:46
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-16 01:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表