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 IO vs NIO
Spring Boot: Customize the Jackson ObjectMapper
Java Program to Check Whether an Undirected Graph Contains a Eulerian Cycle
Debug a JavaMail Program
Java Program to Implement Depth-limited Search
Java Program to Implement the Binary Counting Method to Generate Subsets of a Set
DistinctBy in the Java Stream API
A Guide to TreeSet in Java
Java Program to Implement Binomial Heap
Java Program to Implement Sorted Array
Java Program to Implement DelayQueue API
Introduction to Spring Cloud Stream
Guide to the Volatile Keyword in Java
Converting Between Byte Arrays and Hexadecimal Strings in Java
Spring Cloud AWS – S3
Java Program to Check Cycle in a Graph using Graph traversal
Reversing a Linked List in Java
Logging in Spring Boot
Java Program to Solve Tower of Hanoi Problem using Stacks
Introduction to Spring Boot CLI
DynamoDB in a Spring Boot Application Using Spring Data
Hướng dẫn Java Design Pattern – Transfer Object
HttpClient Connection Management
Getting Started with Forms in Spring MVC
Set Interface trong Java
Java Program to Find Nearest Neighbor Using Linear Search
Java Program to Test Using DFS Whether a Directed Graph is Weakly Connected or Not
Posting with HttpClient
An Intro to Spring Cloud Vault
Spring Data Java 8 Support
A Guide to HashSet in Java
Java Program to Implement TreeSet API