Solved

Expanding formula statement automatically.

Posted on 2004-09-14
19
204 Views
Last Modified: 2010-03-31
Hi All,

Given these 2 formulas of   y =.......  which are dependent on the number of atoms.length, and they appear to be consistantly applied,  I want to make the formulas appear so that as the number of atoms.length increased causes the formula y =.......   to expand accordingly.

This is demonstrated in the two situations below:


............. start of snip

int atmlength = atoms.length;

       if (atmlength == 3) // 2nd degree
        {        
          y = Float.parseFloat(atoms[atoms.length-1]) +

gofrmX*(Float.parseFloat(atoms[atoms.length-2]) +

gofrmX*Float.parseFloat(atoms[atoms.length-3]));
        }

        if (atmlength == 4) // 3rd degree
        {        
          y = Float.parseFloat(atoms[atoms.length-1]) +

gofrmX*(Float.parseFloat(atoms[atoms.length-2]) +

gofrmX*(Float.parseFloat(atoms[atoms.length-3]) +

gofrmX*Float.parseFloat(atoms[atoms.length-4])));
        }

end of snip...........

Delphi3

0
Comment
Question by:delphi3
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 12
  • 7
19 Comments
 
LVL 6

Expert Comment

by:expertmb
ID: 12061780
for(int i = 1; atomlength <=atmlength ; i++){
  y+= Float.parseFloat(atoms[atoms.length-i])
}
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12061812
y = Float.parseFloat(atoms[atoms.length-1])
for(int i = 2; atomlength <=atmlength ; i++){
  y+= gofrmX*Float.parseFloat(atoms[atoms.length-i])
}

or

y = Float.parseFloat(atoms[atoms.length-1])
for(int i = 2; atomlength <=atmlength ; i++){
  y+= gofrmX*Float.parseFloat(atoms[i])
}
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12064484
y = Float.parseFloat(atoms[atoms.length-1])
for(int i = 2; i <=atmlength ; i++){
  y+= gofrmX*Float.parseFloat(atoms[i])
}
0
Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

 
LVL 4

Author Comment

by:delphi3
ID: 12071770
expertmb,
Thanks for your java statements .
Surprised that some of the punctuation is missing like ";".
Still none of the statements above fill the bill.

Any more suggestions?

D#
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12071788
hmmmmmm missed semicolons.
if the code is not lenghty can you post the code.
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12071810
class formulaTest{

 public static void main(String[] s){
      //String atoms[] = {"1","2","3"};
      String atoms[] = {"1","2","3", "4"};

      int atmlength = atoms.length;
      float y = Float.parseFloat(atoms[0]);
      for(int i = 1; i <atmlength ; i++){
        y+= Float.parseFloat(atoms[atoms.length-i]);
      }

      System.out.println("y: " + y);
 }
}
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12071840
modified
class someTest{

 public static void main(String[] s){
      //String atoms[] = {"1","2","3"};
      String atoms[] = {"1","2","3", "4"};

      int atmlength = atoms.length;
      float x = 0.5f;
      float y = Float.parseFloat(atoms[atmlength-1]);
      for(int i = 2; i <=atmlength ; i++){
            System.out.println(atoms[atoms.length-i]);
        y+= (Float.parseFloat(atoms[atoms.length-i]))*x;
      }

      System.out.println("y: " + y);
 }
}
0
 
LVL 4

Author Comment

by:delphi3
ID: 12072001
Sorry to post it this way,
but at the moment it seems more efficient.

see my initial post at
http://www.experts-exchange.com/Miscellaneous/Math_Science/Q_21131187.html

and you should see the snip that I put above.

Hope that this help in clarifying the difficulty. Thie notes at the top of it present a few sample problems.

D3

0
 
LVL 6

Expert Comment

by:expertmb
ID: 12072170
class someTest{

 public static void main(String[] s){
      String atoms[] = {"1","2","3"};
      //String atoms[] = {"1","2","3", "4"};

      int atmlength = atoms.length;
      float x = 0.5f;
      float y = 0.0f;//Float.parseFloat(atoms[atmlength-1]);
      for(int i = atmlength; i >1 ; i--){
        y= (y + (Float.parseFloat(atoms[atoms.length-i])))*x;
      }

      y+= Float.parseFloat(atoms[atmlength-1]);

      System.out.println("y: " + y);

      float z = 0.0f;
      float gofrmX = x;
      /*if (atmlength == 4) // 3rd degree
      {
        z = Float.parseFloat(atoms[atoms.length-1]) +
              gofrmX*(
                    Float.parseFloat(atoms[atoms.length-2]) +
                        gofrmX*(
                              Float.parseFloat(atoms[atoms.length-3]) +
                                    gofrmX*Float.parseFloat(atoms[atoms.length-4])));
      }*/

      if (atmlength == 3) // 2nd degree
      {
            y = Float.parseFloat(atoms[atoms.length-1]) +
                  gofrmX*(
                        Float.parseFloat(atoms[atoms.length-2]) +
                        gofrmX*Float.parseFloat(atoms[atoms.length-3]));
      }
      System.out.println("y: " + y);
 }

}
0
 
LVL 6

Accepted Solution

by:
expertmb earned 50 total points
ID: 12072205
     float y = 0.0f;//Float.parseFloat(atoms[atmlength-1]);
      for(int i = atmlength; i >1 ; i--){
        y= (y + (Float.parseFloat(atoms[atoms.length-i])))*x;
      }

      y+= Float.parseFloat(atoms[atmlength-1]);
0
 
LVL 4

Author Comment

by:delphi3
ID: 12072257
expertmb,
Thanks for your further efforts.
It is near 2:30 am and will study your responses when I get up in the morning.

D3
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12072270
will not be available, long weekend for me ,(festival in india) catch you on monday for further comments.
0
 
LVL 4

Author Comment

by:delphi3
ID: 12091615
Hi  expertmb ,

I have pursued this matter further
what was the former lines of coding in my work at
http://www.experts-exchange.com/Miscellaneous/Math_Science/Q_21131187.html

.........
    while (gofrmX <= gotoX )
      {
        if (atmlength == 3) // 2nd degree
        {      
          y = Float.parseFloat(atoms[atoms.length-1]) +

gofrmX*(Float.parseFloat(atoms[atoms.length-2]) +

gofrmX*Float.parseFloat(atoms[atoms.length-3]));
        }
        if (atmlength == 4) // 3rd degree
        {        
          y = Float.parseFloat(atoms[atoms.length-1]) +

gofrmX*(Float.parseFloat(atoms[atoms.length-2]) +

gofrmX*(Float.parseFloat(atoms[atoms.length-3]) +

gofrmX*Float.parseFloat(atoms[atoms.length-4])));
        }
        System.out.print("Value for y is " + y);        
        if( y < 0 ){

...........


 the new replacement will be:
........
   while (gofrmX <= gotoX )
      {
        y = 0;
        float yC = Float.parseFloat(atoms[atoms.length-1]);// constant term
        System.out.println ("Constant term "+ yC);
       
        for(int i = atmlength; i >1 ; i--){
          y = (y + (Float.parseFloat(atoms[atoms.length-i])))*gofrmX;
         
        }
        y= y + yC; // adding in the constant term
        System.out.print ("total y = "+ y);
       
        if( y < 0 ){
........
I am now able to do any number set of terms (well, maybe), thanks to you.

I am sure that this whole problem and revisions will not buy anyone a cup of coffee at any restaurant

Delphi3
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12109242
>>I am sure that this whole problem and revisions will not buy anyone a cup of coffee at any restaurant
???
0
 
LVL 4

Author Comment

by:delphi3
ID: 12109584
expertmb,

Thanks to you I now have the formula. Your efforts are signinficant to me and I appreciate it.

My remark about the cup of coffee at a restaurant is an expression that means: for the average man in the street, I could offer him my Java program and he would more that likely react by saying "so what, is this program important to my life? and if it is I will buy you a cup of coffee at the restaurant".  More than likely I could not convince him.

Again many thanks to you. You should have the points and the grade.

Delphi3
0
 
LVL 4

Author Comment

by:delphi3
ID: 12109602
expertmb,

sorry for the spelling error:

signinficant is misspelled  above and should be "significant" meanining the same as important or having value.



D3
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12110116
Dear Delphi3,

thanks for the comments. you took my comment(???) seriously, if the comment hurt really sorry for that.

mb ...
0
 
LVL 4

Author Comment

by:delphi3
ID: 12111981
expertmb,
the answer is that it did not hurt. I am very concerned that you understood me with the correct meaning.
This cross cultural thing is very important to me and I thought after the "???" you deserved an better explanation.

Sometimes thoughts come into my head, and out on to the screen  too fast. I should run my thoughts into the cross cultural filter.  As you can see I am running that filter now :)

So I am a happy person.  

D3



0
 
LVL 6

Expert Comment

by:expertmb
ID: 12119654
:-)

mb...
0

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues unde…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question