Đăng ký học Excel và VBA cùng GPE tháng 10 - TPHCM

Đăng ký học Excel và VBA cùng GPE tháng 11 - TPHCM

Excel và cách giải phương trình

Thảo luận trong 'Excel và Giáo Dục' bắt đầu bởi khuenguyen.tran, 12 Tháng sáu 2006.

  1. khuenguyen.tran

    khuenguyen.tran Thành viên mới

    Excel và cách giải hệ phương trình tuyến tính

    Hệ phương trình đơn giản​


    1/ Hệ Phương trình
    a1x + b1y + c1 = 0
    a2x + b2y + c2 = 0

    Thí dụ :

    2x + 3y -3 = 0
    3x + 2y -5 = 0

    Ta mở Excel ra, và bắt đầu như sau :
    - Tại A4, nhập x, A5 nhập y. Vào Insert / Name/ Create, chọn vùng A4 : B5, đánh dấu vào hộp kiểm Left Column, như vậy là ta đã đặt tên cho ô B4 là x, và ô B5 là y (2 biến của hệ phương trình). Ta nhập tạm các nghiệm x, y này là 0 trong khi chờ Excel giải quyết

    - Tại C4, nhập :
    =2x + 3y -3 = 0 (= 2*B4 + 3*B5 - 3 = 0, vì ta đã đặt tên cho B4 là x và B5 là y), C4 sẽ cho kết quả là -3

    - Tại C5 nhập : = 3x + 2y - 5 = 0, C5 sẽ cho kết quả là -5

    - Thay vì tính tổng giá trị tuyệt đối của 2 hàm này, ta tính tổng bình phương của chúng. Tại C6, nhập công thức =SUMSQ(C4:C5).

    - Chọn D6 làm ô Target, nhập công thức sau : = C6 - C6 để cho kết quả là 0, vì tổng của hệ phương trình trên bằng 0. Ta sẽ dùng Solver để giải hệ phương trình này. Gọi Tools / Solver, ta chọn Option Equal to Value bằng 0

    - Tại By Changing Cells, chọn B4 : B5. Xong, ta nhấp nút Solve để giải hệ phương trình này. Các bạn sẽ thấy nghiệm của hệ phương trình chính là giá trị trong Cell B4 (x) và B5 (y)
     
    Chỉnh sửa lần cuối bởi điều hành viên: 12 Tháng sáu 2006
  2. khuenguyen.tran

    khuenguyen.tran Thành viên mới

    Hệ phương trình (tt)

    Hệ phương trình tuyến tính phức tạp


    Chúng ta sẽ cải tiến từ bảng tính trên để có thể giải hệ phương trình tuyến tính phức tạp hơn.

    Giả sử ta có hệ phương trình sau :

    a1x + b1y + c1z + d1 = 0
    a2x + b2y + c2z + d2 = 0
    a3x + b3y + c3z + d3 = 0

    Tương tự bài trên, chúng ta sẽ bắt đầu từ A4 : A6, nhập x, y, z, và vào Insert / Name/ Create, chọn vùng A4 : B6, đánh dấu vào hộp kiểm Left Column, như vậy là ta đã đặt tên cho ô B4 là x, và ô B5 là y, B6 là z (3 biến của hệ phương trình). Ta nhập tạm các nghiệm x, y, z này là 0 trong khi chờ Excel giải quyết

    Tại C4 : C6, ta nhập a1, a2, a3 (các hệ số a của hệ phương trình) và chọn C4 : D6, cũng vào Insert / Name như trên để đặt tên cho Cell D4 là a1, D5 là a2, D6 là a3.

    Tương tư cho các vùng E4 : F6, G4 : H6, I6 : J6

    Nhập các công thức sau dành cho 3 phương trình cho hệ trên :
    K4 = a_1*x + b_1*y + c_1*z + d_1 = 0
    K5 = a_2*x + b_2*y + c_2*z + d_2 = 0
    K4 = a_3*x + b_3*y + c_3*z + d_3 = 0

    Bây giờ, ta lần lượt cho các giá trị a1, a2, a3, b1, b2, b3, c1, c2, c3, d1, d2, d3 vào các Cell tương ứng, còn x, y, z ta cho giá trị 0

    Ta cũng nhập công thức tính tổng bình phương cho các hàm này tại K7
    K7 = SUMSQ(K4:K6)

    - Dùng ô K8 làm ô đích (Target), nhập công thức tại K8 = K7 - K7, mở Tools / Solver ra để giải hệ phương trình. Ta cũng sử dụng Option Equal to Value bằng 0, cài đặt By Changing Cells sang B4 : B6 (các Cell đặt giá trị biến x, y, z). Nhấp Solve để giải hệ phương trình

    - Lưu bảng tính
     
  3. handung107

    handung107 Administrator Staff Member

    Goal Seak và giải phương trình bậc hai

    Giải phương trình bậc hai với Goal Seak​


    Chúng ta sẽ tìm nghiệm của một phương trình bậc hai đơn giản bằng Goal Seak. TD : 2x^2 - 5x - 12 = 0

    - Mở bảng tính, nhập vào A3 : A4 các giá trị giả định cho 2 nghiệm của phương trình là 1 và 2
    - Tại B3 và B4 nhập công thức như sau :
    B3 = 2*A3^2 - 5*A3 -12
    B4 = 2*A4^2 - 5*A4 -12

    - Trên thanh Menu, chọn Tools / Goal Seak. Tại hộp thoại Goal Seak, Set Cell ta nhập $B$3, To Value ta nhập số 0, By Changing Cell, nhấp A3. Xong nhấp OK

    - Goal Seak sẽ làm thay đổi giá trị tại A3 sang -1.5, và giá trị trong B3 sẽ là -3.342E - 0.5, giá trị này rất gần với giá trị 0, nên -1.5 được xem như một nghiệm số của phương trình

    - Tương tự với A4 và B4, ta lẫp lại các bước trên, và ta sẽ có thêm một nghiệm số nữa là 4

    Để giải bài toán nghiệm của phương trình bậc hai bằng Goal Seak hay Solver, bạn phải cung cấp một giá trị dự báo ban đầu. Nếu phương trình có nghiệm thực, Excel sẽ tìm được và bạn không gặp một sự cố nào. Bạn có thể gặp 2 nghiệm cùng hội tụ về một điểm (giống nhau), và bạn phải thay đổi giá trị dự báo trên A3, A4 như thế nào để có thể chọn ra các nghiệm còn lại
     
  4. handung107

    handung107 Administrator Staff Member

    Goal Seak và giải phương trình bậc 3


    Ở bài trên, chúng ta đã thử làm quen với Goal Seak trong giải phương trình bậc 2, bây giờ, chúng ta sang phần tiếp theo là giải phương trình bậc ba...cho đến bậc n !!!

    TD : Ta có phương trình : 2x^3 + x^2 - 246x + 360 = 0

    Thiết lập bảng tính :

    a. Từ Cell A4 : A7, lần lượt nhập chữ a, b, c, d, để dùng làm nhãn và tên cho các giá trị a, b, c, d sẽ được nhập vào B4 : B7. Chọn A4 : B7, vào Insert / Name / Create, Click vào hộp kiểm Left Column.

    b. Tại D4 : D6 dùng để nhập các nghiệm số dự báo trước, ta có thể nhập thử các nghiệm sau : 100, 2, và -20

    c. Tại E4 : Ê nhập công thức tính giá trị của phương trình trên. Vì a, b, c, d đã được chọn làm tên cho các ô B4 : B7, nên :
    E4 = a*D4^3 + b*D4^2 + c_D4 + d
    E5 = a*D5^3 + b*D5^2 + c_D5 + d
    E6 = a*D6^3 + b*D6^2 + c_D6 + d

    d. Đặt con trỏ tại E4 và gọi hộp thoại Goal Seak, Set Cell ta nhập $E$4, To Value ta nhập số 0, By Changing Cell, nhấp $D$4. Xong nhấp OK.

    e. Tiếp tục làm như trên tại E5 và E6

    f. Các ô D4 : D6 bây giờ sẽ có 3 nghiệm là 10, 1.5, và -12

    g. Nếu bạn giải phương trình với các bậc cao hơn, chúng ta cũng làm tương tự trên, thay vì chỉ có a, b, c, d, chúng ta sẽ thêm các hệ số phương trình vào cột A, nghiệm số dự báo vào cột D,và gọi Goal Seak từ cột E
     
  5. handung107

    handung107 Administrator Staff Member

    So sánh Goal Seak và Solver


    Trên đây, chúng ta đã tìm hiểu cách giải phương trình bậc hai và bậc ba bằng Goal Seak. Thực ra, giải bằng Solver cũng tương tự như trên thôi. Xong, Solver khác với Goal Seak như thế nào ?

    - Lúc bạn sử dụng Solver một lần trên bảng tính, nó vẫn giữ lại các cài đặt lúc được dùng lần kế tiếp trên bảng tính đó
    - Nó có thể lưu lại một hay nhiều mô hình. Bạn sẽ không cần gọi lại chủ điểm này
    - Trong khi Goal Seak cho phép bạn thay đổi một ô thì Solver cho phép bạn thay đổi nhiều ô
    - Solver cho phép sự co giãn. Bạn có thể yêu cầu thay đổi một ô luôn luôn có giá trị dương
    - Solver có thể dùng để tìm giá trị các biến nhằm cung cấp cho công thức một giá trị cực đại hay cực tiểu cũng như một tập hợp giá trị số
    - Bạn có thể kiểm soát cách mà Solver tìm một nghiệm. TD bạncó thể cài đặt độ chính xác theo yêu cầu
     
  6. PhanTuHuong

    PhanTuHuong Excel & AutoCad & VBA

    Một số hàm về thống kê trong Excel

    Dạo này tôi không được rảnh lắm, lại sắp phải đi công tác Sài Gòn, Bình Thuận.
    Tôi sẽ giới thiệu với các bạn một số hàm về thống kê, loại hàm nảy rất hay sử dụng trong các trường kỹ thuật.

    Nếu bạn thích, bạn có thể dùng VBA để lập tương tự.

    Bạn nào ủng hộ thì cho ý kiến nhé!
     
  7. tsf

    tsf LaziestMem.

    Tôi cũng rất quan tâm về các hàm này, nhưng không có nhiều thời gian. Vậy khi nào bạn rãnh, bạn share cho chúng tôi biết với. Cám ơn.
     
  8. handung107

    handung107 Administrator Staff Member

    Dùng Solver để giải hệ phương trình không tuyến tính

    TD : x^2 + 2y^2 - 22 = 0
    -2X^2 + xy - 3y + 11 = 0

    Tương tự như các bài toán trên, ta gõ chữ x vào A3 và y A4, rồi nhập giá trị dự báo bắt đầu bằng số 0 vào 2 ô B3 và B4. Chọn vùng A3 : B4, vào Menu Insert / Name / Create như các bài trên để đặt tên cho ô B3 là x và B4 là y. Tại D3, ta nhập công thức :
    - D3 = B3^2 + 2*B4^2 - 22 (= x^2 + 2y^2 - 22)
    - D4 = -2*B3^2 + B3*B4 - 3*B4 + 11 (= -2x^2 + xy - 3y +11)
    - D5 = SUMSQ(D3:D4)

    Bây giờ, ta lệnh cho Solver giải bài toán này. Chọn ô D5 làm ô đích, ta set cho giá trị = 0 (Equal to - Value = 0 )

    Tại By Changing Cells, ta nhập $B$3:$B$4

    Nhấp Solve, ta sẽ có 2 nghiệm x và y là x = 2.763 và y = 3.3108

    Vì hệ phương trình này có chứa x^2 và y^2 nên việc có nhiều nghiệm là hoàn toàn có thể xảy ra. Do đó, ta tiếp tục cho các biến tại B3 : B4 các giá trị khác như 1 chẳng hạn, ta sẽ thấy có thêm các nghiệm sau : x = 1.99994 và y = 3.0004
     
  9. SA_DQ

    SA_DQ Thành viên danh dự

    Hoàn toàn có thể được; Sau đây xin giới thiệu các bác hàm người dùng giải hệ 3 phương trình tuyến tính đơn giản:
    12x + 3 y + 5z = 100
    -5x - 4 y + 5z = -57
    - x + 19y + 4z = 45
    Mã:
    [B]Function HePTr3An(Mang As Object) As Variant[/B]
    Dim Dec(3, 3), Dx(3, 3), Dy(3, 3), Dz(3, 3), Ngh(3, 2) As Variant
    Dim DD, DDx, DDy, DDz As Variant
    For ii = 1 To 3
        For ij = 1 To 3
            Dec(ii, ij) = Mang.Cells(ii, ij)
            Dx(ii, ij) = IIf(ij = 1, Mang.Cells(ii, 4), Mang.Cells(ii, ij))
            Dy(ii, ij) = IIf(ij = 2, Mang.Cells(ii, 4), Mang.Cells(ii, ij))
            Dz(ii, ij) = IIf(ij = 3, Mang.Cells(ii, 4), Mang.Cells(ii, ij))
    Next ij, ii
        DD = Application.MDeterm(Dec):          DDx = Application.MDeterm(Dx)
        DDy = Application.MDeterm(Dy):          DDz = Application.MDeterm(Dz)
        For ij = 1 To 3
            Ngh(ij, 1) = Chr(87 + ij) & " = "
        Next ij
        Ngh(1, 2) = DDx / DD
        Ngh(2, 2) = DDy / DD
        Ngh(3, 2) = DDz / DD
    
        HePTr3An = Ngh
    [B]End Function[/B]
    Cách sử dụng như sau:
    Tại các ô A2-D4 ta nhập tương ứng các hệ số của hệ phương trình
    Quét chọn vùng B6:C8 & nhập lên thanh công thức =HePTr3An(A2:D4)
    Và kết thúc = tổ hợp 3 fím sẽ cho kết quả:
    X = 8
    Y = 3
    Z = -1
     
    Lần chỉnh sửa cuối: 8 Tháng mười hai 2006
  10. PhanTuHuong

    PhanTuHuong Excel & AutoCad & VBA

    Lập hàm thì phức tạp quá! :.
    Các bạn thử sử dụng phương pháp ma trận xem sao.
     
  11. OverAC

    OverAC Đỗ Nguyên Bình Staff Member

    Sao hôm trước không đọc được dòng này nhỉ (dòng đậm đỏ). Cách này hay quá. Đơn giản và hiệu quả.
     
  12. SA_DQ

    SA_DQ Thành viên danh dự

    Kh6ng biết các cách Solver. . . được không nữa?

    /(/hưng cả hai fương fáp = ma trận & định thức này đều không thể giải được các hệ sau:
    2x + y + 3z = 4
    2x + y + 6z = 6
    6x + 3 y + 9z = 6
    hay. . . x + 2y + 2 z = 3
    . . . . . 2x + y + 3z = 0
    . . . . . 4x + 5y + 7 z = 6
     
    Lần chỉnh sửa cuối: 11 Tháng bảy 2006
  13. PhanTuHuong

    PhanTuHuong Excel & AutoCad & VBA

    Hệ phương trình chỉ có 3 ẩn mà có tới tận 6 phương trình thì khó đấy!
     
  14. SA_DQ

    SA_DQ Thành viên danh dự

    Đã sữa fía trên!

    Xin lỗi bác, thật ra mình thiếu chữ 'Hay' để ngăn cách 2 hệ phw trình
    Sẽ sữa lại & lần sau cẩn thận hơn, xin hứa!
    GhiNhớ: /(/ếu bữa trước đừng xài chữ các mà là hai thì vừa ngắn vừa khỏi bị bắt lỗi rồi; Rút kinh nghiệm nha!
     
    Lần chỉnh sửa cuối: 11 Tháng bảy 2006
  15. bluekings9

    bluekings9 Thành viên mới

    Tôi đã đọc qua một số thông tin trên trang giải pháp Excel và tôi có cảm giác là mọi người rất có nhiều thời gian rãnh.
    Vậy tôi khuyên các bạn nên đầu tư vào việc khác hay hơn chứ thời gian đâu mà thảo luận việc giải phương trình, hệ phương trình trên excel.
    Tôi hay nói thẳn nếu có gì mong mọi người bỏ qua
     
  16. WhoamI

    WhoamI Thành viên danh dự

    Bạn có biết biết bao người đã ứng dụng những kiến thức được chia sẻ trên diễn đàn vào công việc hay không ? bạn có biết các bạn, các anh chị trên diễn đàn "rảnh rỗi" như thế nào không ? . Mong bạn gắng tìm hiểu và gắn bó với diễn đàn hơn, có nhiều ý kiến xây dựng thiết thực hơn để thấy rằng những gì bạn đang đọc, đang thấy không chỉ là sự chia sẻ kiến thức mà còn là sự chia sẻ qũy thời gian ít ỏi của tất cả các thành viên .
     
  17. tieu_nga0

    tieu_nga0 Guest

    Có thể gởi file đã làm sẵn cho mình ko? mình mới học exel nên còn gà lắm..
     
  18. minhnvm

    minhnvm Thành viên mới

    Nếu mà mình ko khai báo $E$4 $D$4mà chỉ khai báo Ẽ D4 thì có ảnh hưởng gì không?
     
  19. TranThanhPhong

    TranThanhPhong Thời gian !!!

    Dùng địa chỉ tương đối vẫn không ảnh hưởng đến kết quả tính toán.

    TP.
     
  20. dânlmgoc

    dânlmgoc Thành viên mới

    các bác cho em hỏi. Sao em vào tool ko thấy sỏlve đâu là thế nào? Hay máy em bị lỗi? Hay đây là marco???
    //////////////////
     

Chia sẻ trang này