"Bài tập lớn mô hình hóa phân tích chi tiết của bạn sẽ phụ thuộc vào nội dung của bài tập lớn của bạn. Tuy nhiên, có một số bước chung mà bạn có thể thực hiện để hoàn thành bài tập lớn của mình. 1. Xác định mục tiêu của bài tập lớn của bạn. Điều này sẽ giúp bạn xác định các yếu tố cần thiết để hoàn thành bài tập lớn của mình. 2. Tìm hiểu về các công cụ và kỹ thuật mà bạn cần sử dụng để hoàn thành bài tập lớn của mình. 3. Xây dựng mô hình phân tích chi tiết. Điều này bao gồm việc xác định các yếu t"
Bài tập lớn Mơ hình hóa Nhóm 6(đề 2b) Đề bài: Cho hệ thống có sơ đồ cấu trúc hình vẽ: Trong có tham số bảng dưới: K1 100 Nhiệm vụ: K2 0.1 T 0.001 T1 0.2 T2 0.1 -Viết phương trình sai phân hệ ĐKTĐ -Dùng ngơn ngữ lập trình viết chương trình chạy máy tính -Chọn bước tính k=1000 -In 100 giá trị số y(k) -Tính in tiêu đánh giá chất lượng sau: Y(k)max :giá trị cực đại tín hiệu δmax % : độ điều chỉnh Y(k)ôd : giá trị ổn định tín hiệu tmax : thời gian đạt giá trị y(k)max tôd : thời gian đạt giá trị y(k)ơd -Vẽ đường cong q trình q độ -Dùng phần mềm MALAB,SIMULINK… vẽ đường cong trình độ -So sánh kết quả.Nhận xét,rút kết luận 1.Viết phương trình sai phân + Hàm truyền mạch hở: + Hàm truyền mạch kín: (1.1) Thay p = z −1 vào công thức 1.1 ta T z +1 Trong đó: A = 4T1T2+2T(T1+T2)+(1+K1K2)T2 B = -8T1T2+2T2(1+K1K2) C = 4T1T2-2T(T1+T2)+(1+K1K2)T2 Ta có hàm sai phân: Phương trình sai phân tương ứng là: Theo giả thiết u(t) = 1(t) nên U(k+2) =U(k+1) =U(k) =1 Ta có: AY(k+2)+BY(k+1)+CY(k) = 4K1 K 2T 2 Thiết kế giao diện Code Dim k1 As Double Dim k2 As Double Dim k3 As Double Dim t As Double Dim T1 As Double Dim t2 As Double Dim y(2002) As Double Dim A As Double Dim B As Double Dim c As Double Dim Kmax, Tmax, denta, ymax As Double Dim toop As Long Private Sub exit_Click() End End Sub Private Sub Form_Load() Frm1.Show Frm.Enabled = False Frm.Hide kt = False End Sub Private Sub in_Click() Call inKQ_Click End Sub 'in 100 ket qua Private Sub inKQ_Click() For k = 10 To 1000 Step 10 i=i+1 Text14.Text = Text14 & "y(" & k & ")=" & y(k * 2) & " " Next k End Sub Private Sub mnuve_Click() Call vedothi_click End Sub Private Sub mnuxoa_Click() Call xoa_Click End Sub Private Sub Opbatluoi_Click() pic1.DrawWidth = For i = To 20 Step 0.1 For j = To 20 Step pic1.PSet (i + 1, j) Next Next For i = To 20 Step 0.1 For j = To 20 Step pic1.PSet (j + 1, i) Next Next End Sub Private Sub Optatluoi_Click() For i = To 20 Step 0.1 For j = To 20 Step pic1.PSet (i + 1, j), vbWhite Next Next For i = To 20 Step 0.1 For j = To 20 Step pic1.PSet (j + 1, i), vbWhite Next Next End Sub Private Sub xoa_Click() Text9 = "" Text10 = "" tetx13 = "" Text11 = "" Text12 = "" Text13 = "" Text15 = "" Text14 = "" Text16 = "" pic1.Refresh Optatluoi.Value = True End Sub Private Sub thoat_Click() End End Sub Private Sub vedothi_click() pic1.DrawWidth = k1 = Text1 k2 = Text2 t = Text4 T1 = Text5 t2 = Text6 pic1.Scale (0, 20)-(20, 0) pic1.Line (1, 1)-(1, 20) pic1.Line (1, 1)-(20, 1) 'khac truc t For i = To 18 Step pic1.DrawWidth = pic1.CurrentX = i + 0.7 pic1.CurrentY = 0.9 If (((i / 10) >= 1) Or i = 0) Then pic1.Print Str(i / 10) Else pic1.Print "0" & Str(i / 10) End If pic1.Line (i + 1, 0.8)-(i + 1, 1.2) Next pic1.CurrentX = 19.5 pic1.CurrentY = 0.9 pic1.Print "t(s)" 'khac truc y For i = To 18 pic1.DrawWidth = pic1.CurrentX = 0.06 pic1.CurrentY = i + + 0.2 pic1.Print Str(i) pic1.Line (0.8, i + 1)-(1.2, i + 1) Next pic1.CurrentX = 0.2 pic1.CurrentY = 20 pic1.Print "Y" 've dac tinh A = * T1 * t2 + * t * (T1 + t2) + (t ^ 2) * (1 + k1 * k2) B = -8 * T1 * t2 + * (t ^ 2) * (1 + k1 * k2) c = * T1 * t2 - * t * (T1 + t2) + (t ^ 2) * (1 + k1 * k2) y(0) = y(1) = 'tim ymax,ve dac tinh ymax = y(0) For k = To 2000 pic1.DrawWidth = y(k + 2) = (-B * y(k + 1) - c * y(k) + * k1 * (t ^ 2)) / A pic1.Line (k / 100 + 1, y(k) + 1)-((k + 1) / 100 + 1, y(k + 1) + 1), vbBlue If y(k + 2) > ymax Then ymax = y(k + 2) Kmax = k + Text10.Text = ymax Tmax = t * (k + 2) Text11.Text = Tmax End If Next 'gia tri xac lap, ve duong on dinh Yod = y(2002) Text9.Text = Yod Text16.Text = Kmax / For i = To 2002 Step 10 pic1.DrawWidth = pic1.PSet (i / 100 + 1, Yod + 1), vbGreen Next pic1.CurrentX = 17 pic1.CurrentY = Yod + 1.5 pic1.Print "Yod=" & Mid(Str(Yod), 1, 8) 'do qua dieu chinh denta = (ymax - Yod) * 100 / Yod Text12 = denta 've duong thoi gian cuc dai For i = To Kmax Step 10 pic1.DrawWidth = pic1.PSet (i / 100 + 1, ymax + 1) pic1.CurrentX = 1.5 pic1.CurrentY = ymax + 1.5 pic1.Print "Ymax=" & Mid(Str(ymax), 1, 8) Next For i = To ymax + Step 0.1 pic1.PSet (Kmax / 100 + 1, i) pic1.CurrentX = Kmax / 100 + pic1.CurrentY = 1.7 pic1.Print "Tmax" Next 've duong +_5% xaclap1 = 0.95 * Yod For i = To 2002 Step 10 pic1.DrawWidth = pic1.PSet (i / 100 + 1, xaclap1 + 1), vbRed Next pic1.CurrentX = 15 pic1.CurrentY = 1.2 * Yod pic1.Print "5%Yod" xaclap2 = 1.05 * Yod For i = To 2002 Step 10 pic1.DrawWidth = pic1.PSet (i / 100 + 1, xaclap2 + 1), vbRed Next ' tim Tod i = 2002 For k = To 2002 i=i-1 If y(i) < 0.95 * Yod Or y(i) > 1.05 * Yod Then kod = i - Text15 = kod / Text13 = t * (i - 1) Exit For End If Next 've duong thoi gian on dinh For k = To 0.95 * Yod Step 0.1 pic1.DrawWidth = pic1.PSet (kod / 100 + 1, k + 1) Next pic1.CurrentX = kod / 100 + pic1.CurrentY = 1.7 pic1.Print "Tod" End Sub Private Sub ve_Click() Call vedothi_click End Sub Private Sub skin8_Click() Skin1.LoadSkin App.Path + "\B-Studio.skn" Skin1.ApplySkin Me.hWnd End Sub Private Sub skin7_Click() 10 Skin1.LoadSkin App.Path + "\chizh.skn" Skin1.ApplySkin Me.hWnd End Sub Private Sub skin6_Click() Skin1.LoadSkin App.Path + "\galaxy.skn" Skin1.ApplySkin Me.hWnd End Sub Private Sub skin5_Click() Skin1.LoadSkin App.Path + "\green.skn" Skin1.ApplySkin Me.hWnd End Sub Private Sub skin4_Click() Skin1.LoadSkin App.Path + "\TopSecret.skn" Skin1.ApplySkin Me.hWnd End Sub Private Sub skin3_Click() Skin1.LoadSkin App.Path + "\Paper.skn" Skin1.ApplySkin Me.hWnd End Sub Private Sub skin2_Click() Skin1.LoadSkin App.Path + "\Web-II.skn" Skin1.ApplySkin Me.hWnd End Sub Private Sub skins1_Click() Skin1.LoadSkin App.Path + "\Media.skn" Skin1.ApplySkin Me.hWnd End Sub Private Sub Timer1_Timer() 11 st1 = Left(Frm.Caption, 1) st2 = Right(Frm.Caption, Len(Frm.Caption) - 1) Frm.Caption = st2 & st1 End Sub Private Sub Timer2_Timer() If Second(Time) Mod = Then Txt2.Text = "Bai tap Mo hinh hoa" Txt2.BackColor = vbRed End If If Second(Time) Mod = Then Txt2.Text = "Giao vien huong dan: ThS Pham Tam Thanh" Txt2.BackColor = vbYellow End If If Second(Time) Mod = Then Txt2.Text = "Nhom sinh vien thuc hien: Van -Du'c, Xuan -Du'c, Tien Diep" Txt2.BackColor = vbGreen End If If Second(Time) Mod = Then Txt2.Text = "Hai Phong, thang 3, nam 2010" Txt2.BackColor = vbBlue End If End Sub Private Sub Timer3_Timer() Text7.Text = Now Pic2.Top = toop toop = toop - 30 If toop n nên h(t) xuất phát từ 10 Tài liệu tham khảo [1] Nguyễn Phùng Quang: Matlab & simulink dành cho kĩ sư điều khiển tự động NXB khoa học kĩ thuật-2006 [2] Nguyễn Cơng Hiền : Mơ hình hóa hệ thống mô 15 ... k1 = Text1 k2 = Text2 t = Text4 T1 = Text5 t2 = Text6 pic1.Scale (0, 20 )-( 20, 0) pic1.Line (1, 1 )-( 1, 20) pic1.Line (1, 1 )-( 20, 1) 'khac truc t For i = To 18 Step pic1.DrawWidth = pic1.CurrentX... * k2) c = * T1 * t2 - * t * (T1 + t2) + (t ^ 2) * (1 + k1 * k2) y(0) = y(1) = 'tim ymax,ve dac tinh ymax = y(0) For k = To 2000 pic1.DrawWidth = y(k + 2) = (-B * y(k + 1) - c * y(k) + * k1 *... 1), vbRed Next ' tim Tod i = 2002 For k = To 2002 i=i-1 If y(i) < 0.95 * Yod Or y(i) > 1.05 * Yod Then kod = i - Text15 = kod / Text13 = t * (i - 1) Exit For End If Next 've duong thoi gian on dinh