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
Solved

Expanding formula statement automatically.

Posted on 2004-09-14
19
194 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
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
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

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

790 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