Truyền nhiệt trong thanh. Máy điều hòa (1 người xem)

  • Thread starter Thread starter street
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

street

Thành viên mới
Tham gia
1/6/08
Bài viết
32
Được thích
81
Đề bài: Thanh dài 100cm có nhiệt độ 20 độ C. Vào lúc thời gian 0 giây, ở vị trí 0 cm, ta cho nhiệt độ thanh trở thành 60 độ C, vào thời điểm này, ở các vị trí khác, nhiệt độ vẫn là 20 độ C. Sau 5 phút, tìm sự phân bố nhiệt độ trên thanh. Từ bảng kết quả, chỉ lấy các kết quả 0 phút, 1 phút, 2 phút, 3 phút, 4 phút, 5 phút.
Giải:
1706291274_e64c510667_o.jpg

1706291788_9cd5824fa0_o.jpg

Trước khi viết code Visual Basic trong Excel:

1706293612_fb58efa5e1_o.jpg


Code đó là:

Private Sub CommandButton1_Click()
k = 2
t = 20
x = 10
a = k * t / x ^ 2

For i = 3 To 17
For j = 3 To 11
Cells(i, j) = a * (Cells(i - 1, j - 1) + Cells(i - 1, j + 1)) + (1 - 2 * a) * Cells(i - 1, j)
Next j
Next i

b = 19
For i = 2 To 17 Step 3
b = b + 1
Cells(b, 1) = Cells(i, 1) / 60
For j = 1 To 12
Cells(i, j).Select
With Selection.Interior
.ColorIndex = 4
End With
If j <> 1 Then
Cells(b, j) = Cells(i, j)
End If
Next j
Next i
For i = 2 To 12
Cells(19, i) = 10 * (i - 2)
Next i
End Sub

Sau khi viết code và cho chạy chương trình thì kết quả là:

1706295668_e8fba2ef47_o.jpg


Vẽ đồ thị:

1706290356_8b58f3fc75_o.jpg


Bài toán máy điều hòa nhiệt độ:

1706292480_2c08cf7bd7_o.jpg


Trong phòng rộng 4.5 mét vuông, có máy điều hòa nhiệt độ với nhiệt độ máy tỏa ra là 27 độ C. Nhiệt độ cửa sổ là 33 độ C. Ban đầu, khi t=0 giây thì nhiệt độ phòng là 32 độ C. Sau 10 tiếng, tìm nhiệt độ của các ô nhỏ (các ô nhỏ có chiều dài mỗi cạnh là 50 cm)
( làm theo cách sau:
1705437101_8eabaf600c_o.jpg
)
 

File đính kèm

Tôi không biết code này dùng để làm gì (do không phải chuyên ngành)... nhưng quan sát code chạy, tôi thấy có thể rút gọn lại rất nhiều:
PHP:
Private Sub CommandButton1_Click()
  Dim Clls As Range
  For Each Clls In [C3:K17]
    With Clls
      .Value = 0.4 * (.Offset(-1, -1) + .Offset(-1, 1)) + 0.2 * .Offset(-1)
    End With
  Next Clls
  For i = 2 To 17 Step 3
    Cells(20 + (i - 2) / 3, 1) = Cells(i, 1) / 60
    For j = 1 To 12
      Cells(i, j).Interior.ColorIndex = 4
        If j <> 1 Then Cells(20 + (i - 2) / 3, j) = Cells(i, j)
        Cells(19, j + 1) = 10 * (j - 1)
    Next j
  Next i
End Sub
Bảo đãm còn có thể rút gọn thêm (nếu như tôi hiểu cách tính toán)
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom