Solved

Expanding formula statement automatically.

Posted on 2004-09-14
19
168 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
  • 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
 
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
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

For customizing the look of your lightweight component and making it look opaque like it was made of plastic.  This tip assumes your component to be of rectangular shape and completely opaque.   (CODE)
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…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
This video teaches viewers about errors in exception handling.

706 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now