1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Fortran element by element array multiplication

  1. Jan 10, 2012 #1
    1. The problem statement, all variables and given/known data

    Hello,

    I'm having a problem in multiplying two vectors together in a specific way in Fortran. I can do it in Matlab, but can't work out how to do it in Fortran.

    The problem is that i want to multiply two vectors together, but only each element by it's corresponding element in the other vector. In Matlab you simply use A.*B which works perfectly.



    2. Relevant equations

    For example if A = [1 2 3]'

    and B = [4 5 6]'

    Then A.*B = [4 10 18]



    3. The attempt at a solution

    Any attempt i make in Fortran tries to multiply all the elements together (usually by dot product etc), but i just want the first element multiplied by the first element, and then the second mulitplied by the second etc.

    Sorry about the strange formatting, i tried to crowbar this question into the template...
     
    Last edited by a moderator: Jan 10, 2012
  2. jcsd
  3. Jan 10, 2012 #2

    Mark44

    Staff: Mentor

    Assuming that all variables and the three arrays are declared and that A and B are initialized, this should work.
    Code (Text):

    N = 3
    DO I = 1, N
      C(I) = A(I) * B(I)
    END DO
     
     
  4. Jan 11, 2012 #3
    Ah yes, that would work. Although i'm surprised there isn't a function for it.

    Thanks a lot though!
     
  5. Jan 11, 2012 #4
    Vector times vector can also be a scalar, 32.
     
  6. Jan 11, 2012 #5

    hotvette

    User Avatar
    Homework Helper

    If you are using at least Fortran 90, I believe the following will work:

    C = A*B

    or

    C(1:N) = A(1:N)*B(1:N)

    The 1st version assumes A,B,C have the same dimension. The 2nd version is safer.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Fortran element by element array multiplication
  1. Finite Element (Replies: 3)

Loading...