MathGroup Archive 2001

[Date Index] [Thread Index] [Author Index]

Search the Archive

RE: C++ to Mathematica

  • To: mathgroup at smc.vnet.net
  • Subject: [mg30843] RE: [mg30812] C++ to Mathematica
  • From: "Barthelet, Luc" <lucb at ea.com>
  • Date: Thu, 20 Sep 2001 03:51:40 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

1) this code does not compile in C++, it is full of typos.
2) here is what I believe to be the translation in Mathematica:
minErr = MAXERR;
 bestM = STARTM;
 numConvergence = 0;
	For[c0 = avgc0 -.5, c0 <= avgc0 +.5, c0 += 0.01,
  		For[ M = -1.0, M <= 1.0, M +=0.01,
      		sum = 0.0; 
      		num = 0;
       		c02 = c0 * c0;
       		For[j=0,j<10,j++,
       			If[(avgc0>0),p=avgp[j]; c=avgc[j]; sum+=
fabs(sqrt(c02 - M * p *p)-c); num++;]
       			];
        	If[(num<=0), Continue];
        	err = sum/num;
        	If[(err <minErr), bestc0=c0; bestM = MMinErr =
err;numConvergence++;];
        
            ];
            ];
            
            If[(numConvergence==1), STARTM, bestM]
 
Hope this motivates you to learn mathematica (or C++).

Cheers,
Luc

-----Original Message-----
From: Moranresearch at aol.com [mailto:Moranresearch at aol.com]
To: mathgroup at smc.vnet.net
Subject: [mg30843] [mg30812] C++ to Mathematica



Could someone please help convert this C++ code to Mathematica 4.1. I am 
unfamiliar with the loop structures and commands of C++. Even if there are 
easier ways to do this in M4.1 ( which, by the way, I would like to know 
also) I want to reproduce this as closely as possible so I can verify the 
answer with the older C++ program.Thank you.

minErr = MAXERR; bestM = STARTM, numConvergence = 0
for(c0 = avgc0 -.5; c0 <= avgc0 +.5; c0 += 0.01){for M = -1.0; M <= 1.0; M 
+=0.01)
{sum = 0.0; num = 0; c02 = c0 * c0;
for(j=0;j<10;j++){
if{avgc0>0){
p=avgp[j]
c=avgc[j]
sum+= fabs(sqrt(c02 - M * p *p)-c);num++;}}
if(num<=0) continue;
err = sum/((double)num;
if(err <minErr){
bestc0=c0;
bestM=M
MinErr = err;
numConvergence++;}}}
if(numConvergence==1) return STARTM;
return bestM



  • Prev by Date: RE: NIntegrate Precision
  • Next by Date: Re: Numbered equations
  • Previous by thread: C++ to Mathematica
  • Next by thread: Cheating Multiple Point Attractors into Existence