aspose file tools*
The moose likes Java in General and the fly likes Formula Converter Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Formula Converter" Watch "Formula Converter" New topic
Author

Formula Converter

Khaled Mahmoud
Ranch Hand

Joined: Jul 15, 2006
Posts: 361
I am looking for an open Source Formula Converter API or project.
For example I specify a set of rules to this API like follows :

sin ( x ) ^ 2 + cos ( x )^ 2 = 1
1 + tan (x) ^ 2 = cos ( 2 ) ^ 2

After those rules I enter an input text, and I want the API to convert the input according to the supplied rules

Pleeeese help

Thanks in advance


SCJP, SCJD,SCWCD,SCDJWS,SCEA 5 MCP-C#, MCP-ASP.NET - http://www.khaledinho.com/
Life is the biggest school
Omar Al Kababji
Ranch Hand

Joined: Jan 13, 2009
Posts: 357
I don't know what exactly are the mathmatics operation you really need to calculate, but it seems that they are sin, cos ...etc and power, sqrt. i think that in one or two hours you could already have your simple calculator up and working.


Omar Al Kababji - Electrical & Computer Engineer
[SCJP - 90% - Story] [SCWCD - 94% - Story] [SCBCD - 80% - Story] | My Blog
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 11408
    
  16

it looks like you're trying to write something where you input the trig identities, and use that to solve/simplify other equations, yes?


There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
Khaled Mahmoud
Ranch Hand

Joined: Jul 15, 2006
Posts: 361
Yes that's what I want fred

I didn't find any open source tool or api in Java to do what I want.

Do you any if any exists ???
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 39408
    
  28
You mean you want something which will solve those equations? That sounds awkward. If you can do it with pencil and paper, then you can program a method/methods to use the same algorithm.

By the way: I can give you the solution for sin^2(x) + cos^2(x) = 1 easily. It is true for every value of x!

Try Googling for "algebra formula solver"; I did and got several promising links.

Another approach would be to guess a solution and use Newton's approximation. That will give an answer, but will be awkward to program.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 39408
    
  28
. . . and look at these equivalences; you will find other equalities true for every value here.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 39408
    
  28
There is a solution for 1 + tan^2(x) = cos^2(x). You should be able to work it out in your head. Remember the solution will repeat every PI radians, or every 2PI radians!
Khaled Mahmoud
Ranch Hand

Joined: Jul 15, 2006
Posts: 361
It seems you all misunderstood what I want.
I want to able to define the rules I want for example before instructing the program to solve the equation I give it a set of rules (Equations) the simplifing based on.

For example I want sin ( x ) ^ 2 + cos ( x ) ^ 2 = log(x) + 5

I want to be able to dynamically enter the rules the application will solve or simplify the equation according to the rules I enter.





Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 39408
    
  28
Difficult. You actually need to parse what you are writing. Same procedure as if you were writing a compiler.
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42277
    
  64
Can you give an example of a "rule" the user would enter, and how it would specify how to simplify an expression?


Ping & DNS - my free Android networking tools app
Khaled Mahmoud
Ranch Hand

Joined: Jul 15, 2006
Posts: 361
I already posted an example

A rule :

sin ( x ) ^ 2 + 1 = log( x ) + 20


The string I enter should be searched and any equation in the form sin ( x ) ^ 2 + 1 to should be converted against the specified rule.

I can enter as many rules as I want.


Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42277
    
  64
Ah, that's the realm of packages like Maple and Mathematica. I doubt that anything like this is available in Java, and if it is, it's probably going to cost a substantial amount of money.
 
Consider Paul's rocket mass heater.
 
subject: Formula Converter