• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Giải hệ PT bậc nhất 3 ẩn với Excel

Các mẹo vặt linh tinh khác, không thuộc nhóm nào
Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4763
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 515 time

Giải hệ PT bậc nhất 3 ẩn với Excel

Gửi bàigửi bởi truongphu » T.Năm 20/10/2011 12:15 am

Thủ thuật: Giải hệ PT bậc nhất 3 ẩn với Excel
Tác giả: truongphu
Mô tả: Giải hệ PT bậc nhất 3 ẩn với Excel


  1. Private Sub Command1_Click()
  2. '  x + 2y + 3z = 25    (1)
  3. ' 2x +  y +  z = 14    (2)
  4. '  x + 4y + 2z = 10    (3)
  5. Dim MM As Variant
  6. MM = GiaiHePT(1, 2, 1, 2, 1, 4, 3, 1, 2, 25, 14, 10)
  7. MsgBox "x = " & MM(0) & ", y = " & MM(1) & ", z = " & MM(2)
  8. End Sub
  9.  
  10. Function GiaiHePT(ByVal a1 As Single, ByVal a2 As Single, ByVal a3 As Single, _
  11. ByVal b1 As Single, ByVal b2 As Single, ByVal b3 As Single, _
  12. ByVal c1 As Single, ByVal c2 As Single, ByVal c3 As Single, _
  13. ByVal A As Single, ByVal B As Single, ByVal C As Single) As Variant
  14. ' a1x + b1y + c1z = A
  15. ' a2x + b2y + c2z = B
  16. ' a3x + b3y + c3z = C
  17. Dim Ex As Object: Set Ex = CreateObject("Excel.Application")
  18. Dim Bk As Object: Set Bk = Ex.Workbooks.Add
  19. ' author: truongphu
  20.    Bk.Sheets(1).Select
  21.         Cells(1, 1) = a1
  22.         Cells(2, 1) = a2
  23.         Cells(3, 1) = a3
  24.         Cells(1, 2) = b1
  25.         Cells(2, 2) = b2
  26.         Cells(3, 2) = b3
  27.         Cells(1, 3) = c1
  28.         Cells(2, 3) = c2
  29.         Cells(3, 3) = c3
  30.         Cells(1, 4) = "x"
  31.         Cells(2, 4) = "y"
  32.         Cells(3, 4) = "z"
  33.         Cells(1, 5) = A
  34.         Cells(2, 5) = B
  35.         Cells(3, 5) = C
  36. Range(Cells(1, 6), Cells(3, 8)).FormulaArray = "=MINVERSE(A1:C3)"
  37. Range(Cells(1, 9), Cells(3, 9)).FormulaArray = "=MMULT(F1:H3,E1:E3)"
  38. Dim KQ(2) As Single
  39. KQ(0) = Cells(1, 9).Value
  40. KQ(1) = Cells(2, 9).Value
  41. KQ(2) = Cells(3, 9).Value
  42. GiaiHePT = KQ
  43. Bk.Close False: Set Bk = Nothing
  44. Ex.Quit: Set Ex = Nothing
  45. End Function
  46.  


Tags: Hệ phương trình, CreateObject, Excel.Application, FormulaArray, MINVERSE, MMULT
Tập tin đính kèm
11.jpg


o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4763
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 515 time

Tìm ma trận nghịch đảo với Excel

Gửi bàigửi bởi truongphu » T.Năm 20/10/2011 12:39 am

Ở bài trên, hàm MINVERSE chính để tìm ma trận nghịch đảo.

Hệ phương trình đã cho:

x + 2y + 3z = 25 (1)
2x + y + z = 14 (2)
x + 4y + 2z = 10 (3)

Có thể viết dưới dạng ma trận nhân: L x M = N

|1 2 3 | |x| |25|
|2 1 1 | x |y| = |14|
|1 4 2 | |z| |10|

Kết quả nghịch đảo của ma trận L (các cell A1:C3) là 1/L thể hiện ở các cell F1:H3
.
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh


Quay về “[VB] Mẹo vặt khác”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.0 khách