Help with mathematica

  • Mathematica
  • Thread starter dg88
  • Start date
  • #1
10
0
Hello,

1) I am trying trying to simulate a laser scattering experiment in Mathematica. So the first trouble I have is how to define a set of 3D points. I did this program in C++ like this:
for (int i=0; i<3; i++)
{
pyr[0].point[0]=0;
}
for (int a=1; a<3; a++)
{
for (int b=0; b<3; b++)
{
if (b == 1) // adding sqrt(2) to the Y cordinate
{
pyr[a].point[0]=pyr[a-1].point[0]+ sqrt(2.0);
}
else
{
pyr[a].point[0]=pyr[a-1].point[0];
}
}
}
for (int c=0; c<3;c++)
{
if (c==0)
{
pyr[3].point[0][c]=pyr[0].point[0][c]+ sqrt(2.0);
}
else
{
pyr[3].point[0][c]=pyr[0].point[0][c];
}

}
for(int d=4;d<6; d++)
{
for (int e=0;e<3;e++)
{
if (e == 1) // adding sqrt(2) to the Y cordinate
{
pyr[d].point[0][e]=pyr[d-1].point[0][e]+ sqrt(2.0);
}
else
{
pyr[d].point[0][e]=pyr[d-1].point[0][e];
}
}
}
for (int f=0; f<3;f++)
{
if (f==0)
{
pyr[6].point[0][f]=pyr[3].point[0][f]+ sqrt(2.0);
}
else
{
pyr[6].point[0][f]=pyr[3].point[0][f];
}
}
for(int g=7;g<9; g++)
{
for (int h=0;h<3;h++)
{
if (h == 1) // adding sqrt(2) to the Y cordinate
{
pyr[g].point[0][h]=pyr[g-1].point[0][h]+ sqrt(2.0);
}
else
{
pyr[g].point[0][h]=pyr[g-1].point[0][h];
}
}
}


The question is, how do I define these points in Mathematica? Is there a way I can have multidimensional arrays and define the points like above and then use then for further calculations?

Thanks in advance
dg
 

Answers and Replies

  • #2
489
0
Define an empty matrix then use AppendTo (or Reap and Sow) to add elements in a loop or whatever.
 

Related Threads on Help with mathematica

  • Last Post
Replies
1
Views
2K
Replies
2
Views
2K
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
2
Views
1K
  • Last Post
Replies
4
Views
2K
  • Last Post
Replies
8
Views
11K
Replies
10
Views
2K
Replies
1
Views
1K
Replies
8
Views
4K
Replies
1
Views
2K
Top