This is a Java Program to Implement Regular Falsi Algorithm. Regular Falsi method is used for finding roots of functions.
Here is the source code of the Java Program to Implement Regular Falsi Algorithm. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
/**
* Java Program to Implement Regular Falsi Algorithm
**/
public class RegularFalsi
{
/** function to find root for **/
public double f(double x)
{
/** make your own function here but accordingly change (s, t) **/
return Math.cos(x) - x * x * x;
// return x * x * x - 3 * x + 4;
// return Math.cos(x) - 3 * x + 1;
// return 2 * x - Math.log(x)/Math.log(10) - 7;
// return x * x - Math.log(x) - 12;
}
/** function to find root **/
public double findRoot(double s, double t, double e, int m)
{
double r = 0.0,fr;
int n, side = 0;
/** starting values at endpoints of interval **/
double fs = f(s);
double ft = f(t);
for (n = 0; n < m; n++)
{
r = (fs * t - ft * s) / (fs - ft);
if (Math.abs(t - s) < e * Math.abs(t + s))
break;
fr = f(r);
if (fr * ft > 0)
{
/** fr and ft have same sign, copy r to t **/
t = r;
ft = fr;
if (side == -1)
fs /= 2;
side = -1;
}
else if (fs * fr > 0)
{
/** fr and fs have same sign, copy r to s **/
s = r;
fs = fr;
if (side == +1)
ft /= 2;
side = +1;
}
else
{
/** fr * f_ very small (looks like zero) **/
break;
}
}
return r;
}
/** Main function **/
public static void main(String[] args)
{
System.out.println("Regular Falsi Test ");
RegularFalsi rf = new RegularFalsi();
/** lower limit **/
double s = 0;
/** upper limit **/
double t = 1;
/** half of upper bound for relative error **/
double e = 5E-15;
/** number of iterations **/
int iterations = 100;
System.out.println("\nRoot : "+ rf.findRoot(s, t, e, iterations));
}
}
Output:
Regular Falsi Test Root : 0.8654740331016145
Related posts:
Java Program to Find the Median of two Sorted Arrays using Binary Search Approach
Custom Exception trong Java
Phương thức forEach() trong java 8
Guide to Spring @Autowired
Hướng dẫn sử dụng Java Annotation
Java Program to Implement Depth-limited Search
Java Program to Check Whether an Undirected Graph Contains a Eulerian Cycle
HttpClient 4 – Send Custom Cookie
Refactoring Design Pattern với tính năng mới trong Java 8
Limiting Query Results with JPA and Spring Data JPA
Hướng dẫn Java Design Pattern – Chain of Responsibility
Java Program to Implement Merge Sort Algorithm on Linked List
Apache Commons Collections OrderedMap
Practical Java Examples of the Big O Notation
New Stream Collectors in Java 9
An Example of Load Balancing with Zuul and Eureka
More Jackson Annotations
Hướng dẫn Java Design Pattern – Facade
Java Program to Implement Disjoint Sets
Giới thiệu Swagger – Công cụ document cho RESTfull APIs
Java Program to Compare Binary and Sequential Search
Spring Autowiring of Generic Types
LinkedList trong java
Quản lý bộ nhớ trong Java với Heap Space vs Stack
Tìm hiểu cơ chế Lazy Evaluation của Stream trong Java 8
Serialization và Deserialization trong java
Send an email using the SMTP protocol
Overview of the java.util.concurrent
Spring Boot - Unit Test Cases
Java – Write a Reader to File
Java Program to Implement RoleList API
Spring Boot - Application Properties