Merging arrays in fortran 90/95

  • Thread starter seneika
  • Start date
Hi,

can someone help me with this one?

I'm trying to merge several 1d-arrays into one 2d-array. Is there any intrinsic routine/function in fortran 90/95 to do so?

I also thought of pointers. Can I assign a 2d-pointer to more than one object so I have
a pointer array whose columns point to different 1d-target arrays?

I naively tried to do

...
double precision,dimension(:,:),pointer :: ptr_array
...

ptr_array(*,1)=>x(*)
ptr_array(*,2)=>y(*)
...

what didn't work. Can I do something like this?

Thanks!
 
32,344
4,130
Hi,

can someone help me with this one?

I'm trying to merge several 1d-arrays into one 2d-array. Is there any intrinsic routine/function in fortran 90/95 to do so?
As far as I know, there isn't, but it isn't that hard to do.
seneika said:
I also thought of pointers. Can I assign a 2d-pointer to more than one object so I have
a pointer array whose columns point to different 1d-target arrays?

I naively tried to do

...
double precision,dimension(:,:),pointer :: ptr_array
...

ptr_array(*,1)=>x(*)
ptr_array(*,2)=>y(*)
...

what didn't work. Can I do something like this?

Thanks!
I think something like this would work...
Fortran:
real :: numbersA(5) 
real :: numbersB(5)
real :: merged(2,5)
integer::i
numbersA = (/1.5, 3.2, 4.5, 0.9, 7.2 /)
numbersB = (/2.5, 2.2, 3.5,1.9, 6.2 /)
do i = 1, 5
   merged(1, i) = numbersA(i)
   merged (2, j) = numbersB(i)
end do
 

Want to reply to this thread?

"Merging arrays in fortran 90/95" You must log in or register to reply here.

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving
Top