Hướng dẫn how to multiply two vectors in python - cách nhân hai vectơ trong python

Điều đó phụ thuộc vào việc "toán học phức tạp" có thể được vector hóa hay không và đó là một dòng hay một số. Nếu nó không thể được vector hóa và mất nhiều dòng, đó là giải pháp phức tạp hơn, bạn có thể làm một cái gì đó như thế này:

b = np.zeros_like(a)
for i, ai in enumerate(a):
    b[i] = some_complicated_math(ai)
c = a*b

Trong ví dụ này, i là chỉ số hiện tại của aai là giá trị ở chỉ số đó (tương đương với

b = [some_complicated_math(ai) for ai in a]
c = a*b
0).
b = [some_complicated_math(ai) for ai in a]
c = a*b
1 cung cấp cho bạn một giá trị và chỉ mục (1D) của nó. Sự nhân trong mảng numpy là tự động theo nguyên tố.

Nếu "toán học phức tạp" không thể được vector hóa nhưng có thể được thực hiện trên một dòng, bạn có thể làm điều gì đó như thế này:

b = [some_complicated_math(ai) for ai in a]
c = a*b

Trong trường hợp này,

b = [some_complicated_math(ai) for ai in a]
c = a*b
2 là một danh sách (không phải là một mảng numpy), nhưng Python đủ thông minh để chuyển đổi
b = [some_complicated_math(ai) for ai in a]
c = a*b
2 thành một mảng numpy hậu trường vì nó đang được nhân với mảng numpy a. Bạn có thể chuyển đổi
b = [some_complicated_math(ai) for ai in a]
c = a*b
2 thành một mảng numpy bằng cách sử dụng
b = [some_complicated_math(ai) for ai in a]
c = a*b
6 nếu bạn cần nó sau.

Kịch bản đơn giản nhất là nếu "toán học phức tạp" có thể được vector hóa. Sau đó, bạn chỉ có thể làm:

b = some_complicated_math(a)
c = a*b

Nếu, vì bất kỳ lý do gì, bạn cần đặt

b = [some_complicated_math(ai) for ai in a]
c = a*b
2 và
b = [some_complicated_math(ai) for ai in a]
c = a*b
8 vào vòng lặp (lý do duy nhất tôi có thể nghĩ đến là nếu
b = [some_complicated_math(ai) for ai in a]
c = a*b
2 Tài liệu tham khảo
b = [some_complicated_math(ai) for ai in a]
c = a*b
8 bằng cách nào đó), thì bạn có thể làm điều này:

b = np.zeros_like(a)
c = np.zeros_like(a)
for i, ai in enumerate(a):
    b[i] = some_complicated_math(ai)
    c[i] = a[i]*b[i]

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    • Bàn luận
    • Nhân vector nhân có ba loại:
    • Sản phẩm vô hướng
    • Sản phẩm chấm
      Scalar multiplication can be represented by multiplying a scalar quantity by all the elements in the vector matrix.

      Hướng dẫn how to multiply two vectors in python - cách nhân hai vectơ trong python

      Sản phẩm chéo

      Nhân hóa vô hướng: Nhân vô hướng có thể được biểu diễn bằng cách nhân một lượng vô hướng với tất cả các phần tử trong ma trận vectơ.

      Mã: Mã Python giải thích phép nhân vô hướng

      b = some_complicated_math(a)
      c = a*b
      
      1
      b = some_complicated_math(a)
      c = a*b
      
      2

      b = some_complicated_math(a)
      c = a*b
      
      1
      b = some_complicated_math(a)
      c = a*b
      
      4

      b = some_complicated_math(a)
      c = a*b
      
      1
      b = some_complicated_math(a)
      c = a*b
      
      6

      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      9
      w =  [20  5]
      0
      w =  [20  5]
      1
      w =  [20  5]
      2

      w =  [20  5]
      3
      b = some_complicated_math(a)
      c = a*b
      
      8
      w =  [20  5]
      5
      w =  [20  5]
      6
      w =  [20  5]
      7
      w =  [20  5]
      6
      w =  [20  5]
      9

      4
      0

      4
      1
      b = some_complicated_math(a)
      c = a*b
      
      8
      4
      3
      4
      4
      b = some_complicated_math(a)
      c = a*b
      
      8
      4
      6
      4
      7

      4
      8
      4
      9
      b = some_complicated_math(a)
      c = a*b
      
      8
      w =  [20  5]
      0
      w =  [20  5]
      6
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      1
      w =  [20  5]
      6
      [ 12  76 -61]
      5

      b = some_complicated_math(a)
      c = a*b
      
      7
      b = some_complicated_math(a)
      c = a*b
      
      8
      b = some_complicated_math(a)
      c = a*b
      
      9
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      0
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      1
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      2
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      3

      i4

      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      4
      b = some_complicated_math(a)
      c = a*b
      
      8
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      6
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      7
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      8

      w =  [20  5]

      Hướng dẫn how to multiply two vectors in python - cách nhân hai vectơ trong python

      Các

      Hướng dẫn how to multiply two vectors in python - cách nhân hai vectơ trong python

      Đầu ra:

      Nhân hóa vô hướng: Nhân vô hướng có thể được biểu diễn bằng cách nhân một lượng vô hướng với tất cả các phần tử trong ma trận vectơ.

      b = some_complicated_math(a)
      c = a*b
      
      1
      b = some_complicated_math(a)
      c = a*b
      
      2

      b = some_complicated_math(a)
      c = a*b
      
      1
      b = some_complicated_math(a)
      c = a*b
      
      4

      b = some_complicated_math(a)
      c = a*b
      
      1
      b = some_complicated_math(a)
      c = a*b
      
      6

      b = some_complicated_math(a)
      c = a*b
      
      7
      b = some_complicated_math(a)
      c = a*b
      
      8
      b = some_complicated_math(a)
      c = a*b
      
      9
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      0
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      1
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      2
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      3

      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      9ai8

      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      4
      b = some_complicated_math(a)
      c = a*b
      
      8
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      6
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      7
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      8

      Các

      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      4
      b = some_complicated_math(a)
      c = a*b
      
      8
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      6
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      7
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      8

      4

      Các

      Hướng dẫn how to multiply two vectors in python - cách nhân hai vectơ trong python

      Đầu ra:

      Nhân hóa vô hướng: Nhân vô hướng có thể được biểu diễn bằng cách nhân một lượng vô hướng với tất cả các phần tử trong ma trận vectơ.

      b = some_complicated_math(a)
      c = a*b
      
      1
      b = some_complicated_math(a)
      c = a*b
      
      2

      b = some_complicated_math(a)
      c = a*b
      
      1
      b = some_complicated_math(a)
      c = a*b
      
      4

      b = some_complicated_math(a)
      c = a*b
      
      1
      b = some_complicated_math(a)
      c = a*b
      
      6

      b = some_complicated_math(a)
      c = a*b
      
      7
      b = some_complicated_math(a)
      c = a*b
      
      8
      b = some_complicated_math(a)
      c = a*b
      
      9
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      0
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      1
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      2
      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      3

      b = np.zeros_like(a)
      c = np.zeros_like(a)
      for i, ai in enumerate(a):
          b[i] = some_complicated_math(ai)
          c[i] = a[i]*b[i]
      
      9
      b = [some_complicated_math(ai) for ai in a]
      c = a*b
      
      25

      Output:

      [ 12  76 -61]

    Làm thế nào để bạn nhân một vector trong Python?

    Sản phẩm chấm của hai vectơ trong Python..
    Syntax:.
    Parameters:.
    vector_a: [Array_like] Nếu A phức tạp liên hợp phức tạp của nó được sử dụng để tính toán sản phẩm DOT ..
    vector_b: [Array_like] Nếu B phức tạp liên hợp phức tạp của nó được sử dụng để tính toán sản phẩm DOT ..

    Bạn có thể nhân 2 vectơ không?

    Các vectơ có thể được nhân theo hai cách khác nhau, tức là sản phẩm chấm và sản phẩm chéo.Kết quả trong cả hai phép nhân của các vectơ là khác nhau.Sự nhân hóa vô hướng của các vectơ hoặc sản phẩm chấm cho số lượng vô hướng do kết quả trong khi phép nhân vectơ của vectơ hoặc sản phẩm chéo cho số lượng vectơ.. The results in both of these multiplications of vectors are different. Scalar multiplication of vectors or dot product gives a scalar quantity as a result whereas vector multiplication of vectors or cross product gives vector quantity.

    Làm thế nào để bạn nhân trong Python Python?

    Sự nhân trong python được thực hiện bởi toán tử ( *), sau đó kết quả được lưu trong biến sản phẩm và được in ra bằng định dạng chuỗi.( * ) operator, Then the result is saved in the product variable and printed out using string formatting.

    Làm cách nào để nhân một vector trong numpy?

    Có ba cách chính để thực hiện phép nhân ma trận numpy:..
    DOT (mảng A, mảng B): Trả về sản phẩm vô hướng hoặc dấu chấm của hai mảng ..
    Matmul (Array A, Array B): Trả về sản phẩm ma trận của hai mảng ..
    Nhân (mảng A, mảng B): Trả về phép nhân ma trận phần tử của hai mảng ..