Merging arrays in fortran 90/95

  • Thread starter seneika
  • Start date
  • #1
4
0

Main Question or Discussion Point

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!
 

Answers and Replies

  • #2
33,508
5,193
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
 
  • Like
Likes jedishrfu
  • #3
264
70
Alternatively, one can do it with array sections:

Fortran:
real :: A(2), B(2), C(2, 2)

A = (/ 1.0, 2.0 /)
B = (/ 3.0, 4.0 /)
C(1, :) = A
C(2, :) = B
 

Related Threads on Merging arrays in fortran 90/95

Replies
1
Views
3K
Replies
3
Views
1K
  • Last Post
Replies
3
Views
965
Replies
2
Views
2K
  • Last Post
Replies
1
Views
6K
  • Last Post
Replies
5
Views
2K
Replies
2
Views
2K
  • Last Post
Replies
6
Views
6K
  • Last Post
Replies
4
Views
2K
  • Last Post
Replies
1
Views
2K
Top