Visit Our UNIX and Linux User Community


Perl - maths equation - need help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Perl - maths equation - need help
# 1  
Old 02-17-2009
Perl - maths equation - need help

if input to the perl program is ' ( p * ((a+b) * (c+d))) + q ' it shuld give the output as ' pac + pad + pbc + pbd + q ' .can anyone suggest a way to do this ?
# 2  
Old 02-17-2009
Perl doesn't support that out-of-the-box, but maybe this can help you: Math::Symbolic - Symbolic calculations - search.cpan.org (First & Third result when searching for "perl symbolic math")
# 3  
Old 02-18-2009
Thanks Pludi for replying...But it didn help.Can anyone suggest a metho may b by pattern matching or something
# 4  
Old 02-18-2009
Quote:
Originally Posted by Anuj8584
Thanks Pludi for replying...But it didn help.Can anyone suggest a metho may b by pattern matching or something
If it were for just that one specific pattern it would be possible, but I suspect the user input can be any number of varying combinations of math expressions, in which case trying to convert them to some other format needs a much more thought out approach.
# 5  
Old 02-18-2009
actually, a lexicographical parser is required. then, some sort of commonizing engine.

i'll build it for a fee. :-)
# 6  
Old 02-18-2009
Quote:
Originally Posted by quirkasaurus
actually, a lexicographical parser is required. then, some sort of commonizing engine.

i'll build it for a fee. :-)
I don't think its "required" if the input can be limited to something reasonable. Not that I would want to try and code such a parser myself even for a limited set of equations.

Of course a lexicographical parser would be a great solution if money and time were no problem. Smilie
# 7  
Old 02-18-2009
As others noted - this has the potential to be hellishly complex.
you could write a simple perl frontend to pari using one of it's interfaces, if you have to use perl. Pari interprets algebraic statements and then can work with them.

Code:
http://clisp.sourceforge.net/impnotes/pari.html


Previous Thread | Next Thread
Test Your Knowledge in Computers #673
Difficulty: Medium
Norman Abramson, a professor at the University of Hawaii, developed the first wireless computer communication network, ALOHAnet.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Calculate the constant e to 14+ decimal places using integer maths.

Hi guys... I am loving this integer maths thing. 64 bit systems are certainly easier than 32 bit, but hey, I don't intend to leave out my fav' platform. Using one of the 'Brothers' methods, URL inside the code. #!/bin/sh # # #!/usr/local/bin/dash # e_constant.sh # Brother's formula . #... (2 Replies)
Discussion started by: wisecracker
2 Replies

2. Shell Programming and Scripting

Help with insert a value equation in bash script

HI All, I have a script in bash that i want that script will perform action When the size of a particular folder exceeds the 80%. Here is an example of script that result is exactly 80% : #!/bin/bash CHECK=$(df -h /var/log/syslog | grep '80%' | xargs echo | cut -d' ' -f5) if ];... (1 Reply)
Discussion started by: Aviel.shani
1 Replies

3. Shell Programming and Scripting

Maths in shell scripts

Hi, Need help on this. I need to increment a variable by 1 but retain as 2 characters. I am using expr to do additions: NEWSERIAL=`expr $SERIAL + 1` $SERIAL can range from 01-99. After adding "1", I need the result to be 2 characters, eg: 02+1 = 03. By default expr will truncate the... (4 Replies)
Discussion started by: vchee
4 Replies

4. Shell Programming and Scripting

Simple maths calculator loop.

Hi, I am trying to make a maths calculator that: 1. Prompts the user for a number. 2. Prompts the user for an operation (add, subtract, divide or multiply) 3. Prompts the user for a number. 4. Prompts the user for another operation (same as above) OR the option to get the result for the... (4 Replies)
Discussion started by: johnthebaptist
4 Replies

5. Shell Programming and Scripting

Using IF statements with maths where the input is not an integer

Hi All I've made a few scripts which using GDAL extract the value of a pixel within a given raster. The purpose is to work out the combine value of every pixel. I thought there may have been an easier way to do this but alas! The code below extracts the pixel value at position X Y. The... (3 Replies)
Discussion started by: StudentFitz
3 Replies

6. High Performance Computing

Performance Equation

I'm running a MPI program using a cluster of 4 machines(different machines of different processing power,cpu utilization etc.). I'm trying to balance the computation among the machine to get the minimum execution time for that. I tried to balance it by creating a threshold value by taking the load... (1 Reply)
Discussion started by: chamila1986
1 Replies

7. Shell Programming and Scripting

Maths with variables

Hello, I'm trying to write a while loop for a decimal value in tcsh which I know can't be done. Instead I want my increments to be one order of magnitude too large and then divide it by 10 when I use the variable. However, I don't know how to divide my variable and set it as another. set... (1 Reply)
Discussion started by: DFr0st
1 Replies

8. Shell Programming and Scripting

AWK equation evaluation.

Hi, Is there a way to evaluate an equation contained in a string within an AWK script? For example: A = "(5*2)-1" (this equation is read from a file and varies line by line) In this example, I can't see any way to get an answer of 9 unless I do: cmd = "awk 'BEGIN{print "A"}'" cmd |... (3 Replies)
Discussion started by: srdgeo
3 Replies

9. UNIX for Dummies Questions & Answers

equation calculation on Unix

Hay, guys, Any ideas how to calculate like this: in first file, there're number of lines listing 2+3, 6*9 ....... Then, how to get the result and put them in another file in format: 2+3 5 6*9 54 ...... sheerly by shell command, no scripts required. (4 Replies)
Discussion started by: robbinGlasses
4 Replies

10. Shell Programming and Scripting

Problem with Maths

Heres a script i wrote as a bit of practise. What it does is insert a line in the middle of a file. The line being $1 and the file being $2 #!/bin/bash rm tempfile touch tempfile count=1 linenum= `wc -l < $2` if then echo $1 >> $2 else even=`expr "$linenum" % 2` if then... (3 Replies)
Discussion started by: Quesa
3 Replies

Featured Tech Videos