1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn phương pháp sai phân giải bài toán ô nhiễm khí quyển

79 396 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 1,33 MB

Nội dung

M CL C M U : CÁC KI N TH NC 1.1 SAI PHÂN I: 1.2 X P X SAI PHÂN CÁC TOÁN T N 1.4 THI T L P M T BÀI TOÁN SAI PHÂN 14 1.5 V S H I T CHÍNH XÁC C PX SAI PHÂN 17 U KI I U KI N BAN U 19 1.7 CÁC VÍ D V 1.8 V KHÁI NI SAI PHÂN NH VÀ KHÔNG NH 21 N C A BÀI TOÁN SAI PHÂN 23 : 25 2.1 MÔ HÌNH TOÁN H C C A QUÁ TRÌNH LAN TRUY N KHÍ TH I (V T CH C) 25 2.2 GI I THI U BÀI TOÁN 25 2.3 GI I THI U HÀM DELTA DIRACT 27 2.4 I BÀI TOÁN Ô NHI M KHÍ QUY N 27 2.4.1 28 2.4.2 NGHIÊN C SAI PHÂN (3.2.12)-(3.2.15) 30 2.4.3 M T VÀI K T QU B TR 30 2.4.4 TÍNH GI 2.4.5 TÍNH C 33 NH 34 I CHO H (3.2.12)-(3.2.15) 34 : K T QU TÍNH TOÁN TH NGHI M 37 K T LU N 41 TÀI LI U THAM KH O 42 PH L C 43 L u th c s c a cá c th c hi is ng d n khoa h c c a Ti n Công u Tôi xin ch u trách nhi m v nghiên c u c a H c viên ng Thang Long University Libraty DANH M C CÁC HÌNH V Hình 1: Form c a ch ng trình 38 Hình 2: Form d li u c a ch ng trình 38 Hình 3: Form nghi m c a ch ng trình 39 Hình 4: Form v th c a hàm m theo tr c x 39 Hình 5: Form v th c a hàm m theo tr c z 40 M Nhi u toán th c ti n d U n vi c nghiên c u nh ng toán biên c a t lý toán, gi b ng s m t yêu c u quan tr ng c a th c ti n Trong m t s vào nghi ng h p, th n vi ng minh c c nh i d ng công th phân ho c chu ng h p, tích c bi t toán có h s bi n thiên, toán phi n, toán mi n b t k nghi ng minh c a toán không có, ho c n nh ng h c tính nghi m ph i d Th gi i m t v i vi nghiêm tr ng Trên th gi b ng ven bi n, hi ô nhi m ngày y r t nhi u tr nm ng c m n xâm nh nhà máy m c lên không ch u nóng c bi V i vi c công nghi p hóa hi xây d ng t ph c t p Trong t li i hóa v i t ngày nhanh, nh ng khu công nghi nh c c t nhà máy th i gây h i cho i dân s ng xung quanh Lu t p trung vào gi i quy t hoán ô nhi m khí quy n nhà máy th i b c mm ng m Lu c a ch t gây ô nhi d c h n ch tác h i c a g m ph n m ph n ph l u d n ng m t trình bày ki n th nh m ph c v nc n c a khóa lu n, toán ô nhi m khí quy n nhà máy th i t xây d ng thu sai phân gi ng khói a k t qu tính toán th nghi m c a m t toán th c ti n nh m minh h a cho thu hai Ph n ph l ng c l p trình ngôn ng C++ Thang Long University Libraty Em xin chân thành c Thông em xin c u Vi n Công ngh ng d n em th i gian em làm khóa lu y cô giáo khoa Toán b n l ng th i t em làm khóa lu n Do th i gian ki n th c c a b n thân em h n ch nên ch c ch n lu n ng thi u sót, r cs b n n c a th y cô CÁC KI N TH NC SAI PHÂN trình bày ki n th nghiên c c n thi c s d ng sai phân n c a toán ô nhi m khí quy n 1.1 I: vi sai phân tìm nghi m s x p x cho m t toán v t lý c am n th c hi c: Thay mi n bi n thiên liên t c c a bi n s b i mi n bi n thiên r i r c c a nó, toán t vi phân b i m t toán t iv u ki nh bi u th c sai phân u ki nh u cm th nh nghi m c a t is d n vi c xác iv im tìm nghi m c a m t h i s nh c Khi gi i m t s toán xác l p l i giá tr c a nghi m sai phân bi n s bi n i liên t c m t mi a không gian Euclid Vì v y ta c n ch n mi n m t t p h p h u h m T p h p nh cg tìm nghi m t i m g i nh t i nút i y mi n bi n thiên liên t c c mi n bi n thiên r i r c c is i s i, t c y, x p x không gian nghi m c i Các tính ch t c a nghi c bi t x p x c nghi m xác ph thu c vào vi c ch Ta xét m t vài ví d v c thay b iv i i i Thang Long University Libraty Ví d u m n th ng N ph n b ng nhau, kho ng gi a nút lân [0,1] c n b ng x1i i1.h1 , i1 cg 1, 2, c g m chia Xi=ih (i = 0,1, ,N) i, t p t t c thành m i: xi h ih : i 1, , N l p i Có th xem x = , x N = nh xi h i ih : i 0,1 , N y(x) yh xi h u(x,t) gi n xét mi nh hình ch nh t: G x 1,0 t T n [0,1] [0,T] l h , N1 t thành N1,N2 ph n b ng Gi s N2 m chia ta v ng song song v i tr c t ng th ng nh hr xi , t j : xi ih, t j ng Giao c a i: j ,i 0, , N1 ; j 0, , N2 ; h , N1 T N2 x t h h G x = (x1,x2), x1i1 i x22 t hi i1.h1 , i1 i2 h , i2 0, 1, 2, 0, 1, 2, x1 , x2 0, i 1, i1h1 , i2 h2 , i1 , i2 0, 1, 2, (Oxì,Ox2) Ta ch c n ý nút thu c mi n G G G i x11 h i x22 i2 h , i2 i1.h1 , i1 G 0, 1, 2, nút biên yh h hay h2 h h x1 , x1 h y mi n G c a bi n x ( xi11 , xi2 ) m xi c thay b i , t c m t t p h u h n h G Thay cho hàm u(x) c a bi n liên t c x G ta s xét hàm i xi i y( xi ) d ng vecto N i y( xi ) có th vi l i nút theo m t th t x1 , x2 , , xN giá tr c a i t i nút có th yT i n c a m t vecto c t: ( y1 , y2 , , yN ) N u mi n G h u h n, chi u N c a vecto y i có vô s u h n N u G vô h n, i, s chi u c a vecto y ng xét t p h tham s Vì v i h n ph thu ih t thu c vào tham s h (ho c vào s i yh ( x) u ) N i h u ph i xem h ph n t h1 , h2 , , hN x = (x,,x2, ,xp), t vecto h (h1 , h2 , , hN ) v i y, v h (h1 , h2 , , hp ) , n u ng h p mi n G nhi u chi u: i h u theo m ng xi (i 1, , p) Hàm u(x) c a bi n s liên t c x G ph n t c a m t không gian hàm H s d không gian H h c i yh(x) l p thành m t không gian H h uh y, H0 b i i yh(x) Thang Long University Libraty Khi xét t p h i h ta có t p h p H h c a không gian i ph thu c vào tham s h Trong không gian n tính H h chu i c a || ||0 chu n không gian xu t phát H Gi s u(x) nghi m c a toán liên t u H , yh nghi m c a toán sai phân ( x p x ), yh H h u y u gi i g x p x c a yh so v i u Gi s || ||0 chu n H i || ||h x p x || || sau: lim || uh ||h || u ||0 h V i m i vecto u H 1.2 X P X SAI PHÂN CÁC TOÁN T N Gi s cho m t toán t vi phân L ng lên m t hàm v= v(x) Khi nghiên c u s x p x sai phân m t toán t L i ta ch xét m t cách c t i m t lân c mXc nh b t k c a không gian n u v(x) liên t c xem vh (x) = v(x) T ng quát: vh H , v H , Ph : H i, t c ch rõ t p nút lân c n v i nút x c mà t Hh n ch n khuô Ph v i v(x) h s khác c a toán t L có th x p x toán t L o hàm c a v ng khác c a toán t b i bi u th c sai phân Lh vh , thay cho toán t Lv c i vk t t h p n tính giá tr i: Lh vh ( x) A ( x, )vh ( ) h U h ( xi ) Ho c: ( Lh vh )i A ( xi , x j )vh (x j ) h xi U h ( xi ) h A ( x, ) h x U h ( x) Lv b Lh vh Ví d 1: C Lv dv dx nh m t a tr c Ox l m x-h x+h v i h>0 Khai tri n v(x) công th c Taylor t i x ta có: v( x h) v( x) hv '( x) h2 v"( x) 0(h3 ) 2! (1.2.1) v( x h) v( x) hv '( x) h2 v"( x) 0(h3 ) 2! (1.2.2) có khái ni c thi t r ng v(x) t lân m x : ( x h0 , x h0 ) v i h< h0 , h0 m t s c nh T (1.2.1), (1.2.2) ta có: v '( x) v( x h) v( x) h h v ''( x) 0(h ) x p x Lv ta dùng m t bi u th c sau: L hv g vx (1.2.3) L hv L hv v( x h) v( x) h v( x h) v( x) h vx (1.2.4) c g i hàm sai phân ph i L h v o hàm sai phân ti c g i hàm sai phân trái, hay ng Các bi u th c sai phân L h v L h v nh t i ô ( x,x+ h ) ( x,x-h) Ngoài vi c tính x p x sai phân c o hàm m dv có th dx l y t h p n tính c a bi u th L(h ) v vx (1 )vx Thang Long University Libraty TDataClass *DataClass; // fastcall TDataClass::TDataClass(TComponent* Owner) : TForm(Owner) { } // void fastcall TDataClass::RepairDataClick(TObject *Sender) { Caption = "Sua du lieu"; EdtHz->Enabled = true; EdtHx->Enabled = true; EdtZCount->Enabled = true; EdtXCount->Enabled = true; EdtWg->Enabled = true; EdtSigma->Enabled = true; EdtAlpha->Enabled = true; EdtQ->Enabled = true; EdtH->Enabled = true; Edteps->Enabled = true; EdtHz->SetFocus(); } // void fastcall TDataClass::NewDataClick(TObject *Sender) { RepairData->Enabled = false; RepairDataClick(Sender); Caption = "Nhap du lieu:"; EdtHz->Text = ""; EdtHx->Text = ""; 62 EdtZCount->Text = ""; EdtXCount->Text = ""; EdtWg->Text = ""; EdtSigma->Text = ""; EdtAlpha->Text = ""; EdtQ->Text = ""; EdtH->Text = ""; Edteps->Text = ""; } // void fastcall TDataClass::RecoverDataClick(TObject *Sender) { EdtHz->Text = Hz; EdtHx->Text = Hx; EdtZCount->Text = ZCount; EdtXCount->Text = XCount; EdtWg->Text = Wg; EdtSigma->Text = Sigma; EdtAlpha->Text = Alpha; EdtQ->Text = Q; EdtH->Text = H; Edteps->Text = Eps; Edtfu->Text = fu; Edtfd->Text = fd; } // void fastcall TDataClass::SolveProplemClick(TObject *Sender) { Hide(); SolutionClass->GiaiHe(); 63 Thang Long University Libraty Visible = true; } // void fastcall TDataClass::CloseDataClick(TObject *Sender) { Application->Terminate(); } // void fastcall TDataClass::FormCreate(TObject *Sender) { Hz = EdtHz->Text; Hx = EdtHx->Text; ZCount = EdtZCount->Text; XCount = EdtXCount->Text; Wg = EdtWg->Text; Sigma = EdtSigma->Text; Alpha = EdtAlpha->Text; H = EdtH->Text; Q = EdtQ->Text; Eps = Edteps->Text; fd = Edtfd->Text; fu = Edtfu->Text; EdtHz->Enabled = false; EdtHx->Enabled = false; EdtZCount->Enabled = false; EdtXCount->Enabled = false; EdtWg->Enabled = false; EdtSigma->Enabled = false; EdtAlpha->Enabled = false; 64 EdtQ->Enabled = false; EdtH->Enabled = false; Edteps->Enabled = false; Edtfu->Enabled = false; Edtfd->Enabled = false; } // /* T p SolveProplem.h -*/ // - #ifndef SolveProplemH #define SolveProplemH // #include #include #include #include #include // class TSolutionClass : public TForm { published: // IDE-managed Components TLabel *Label1; TStringGrid *Nghiem; TButton *PaintX; TButton *PaintZ; TButton *BackSolution; 65 Thang Long University Libraty TButton *CloseSolution; void fastcall PaintXClick(TObject *Sender); void fastcall PaintZClick(TObject *Sender); void fastcall BackSolutionClick(TObject *Sender); void fastcall CloseSolutionClick(TObject *Sender); private: // User declarations public: // User declarations fastcall TSolutionClass(TComponent* Owner); void GiaiHe() ; }; // extern PACKAGE TSolutionClass *SolutionClass; // #endif /* T p SolveProplem.cpp -*/ // #include #pragma hdrstop #include "SolveProplem.h" #include "Data.h" #include "MainUnit.h" #include "PaintDensity.h" // #pragma package(smart_init) #pragma resource "*.dfm" TSolutionClass *SolutionClass; 66 // fastcall TSolutionClass::TSolutionClass(TComponent* Owner) : TForm(Owner) { } // void fastcall TSolutionClass::BackSolutionClick(TObject *Sender) { DataClass->RepairData->Enabled = true; Close(); } // void TSolutionClass::GiaiHe() { MainClass->GiaiHePT(); Nghiem->ColCount = MainClass->XCount+1; Nghiem->RowCount = MainClass->ZCount+1; String tmp; int i,j; Nghiem->Cells[0][0] = " Z \\ X "; for(i=1;iRowCount;i++) Nghiem->Cells[0][i] = DataClass->EdtHz->Text.ToDouble()*(i-1); for(j = 1;jColCount;j++) Nghiem->Cells[j][0] = DataClass->EdtHx->Text.ToDouble()*(j-1); for(i=1;iColCount;i++) for(j=1;jRowCount;j++) { if(MainClass->GetNghiem(i-1,j-1) > 0.00005){ tmp.sprintf("%0.4f", MainClass->GetNghiem(i-1, j-1)); SolutionClass->Nghiem->Cells[i][j] = tmp; 67 Thang Long University Libraty }else tmp = 0; SolutionClass->Nghiem->Cells[i][j] = tmp; } ShowModal(); MainClass->GiaiPhongBN1(); } void fastcall TSolutionClass::PaintXClick(TObject *Sender) { DensityClass->Init(true); } // -void fastcall TSolutionClass::PaintZClick(TObject *Sender) { DensityClass->Init(false); } // void fastcall TSolutionClass::CloseSolutionClick(TObject *Sender) { Application->Terminate(); } // /* T p PaintDensity.h -*/ // - #ifndef PaintDensityH 68 #define PaintDensityH // #include #include #include #include #include "CGRID.h" #include // class TDensityClass : public TForm { published: // IDE-managed Components TPanel *Panel1; TLabel *Label8; TComboBox *RowColPaint; TComboBox *PenStyle; TLabel *Label6; TLabel *Label5; TCColorGrid *PenColor; TPanel *Panel2; TLabel *CaptionDensity; TLabel *Label4; TCheckBox *NhieuDuong; TButton *Paint; TButton *BackDensity; TButton *CloseDensity; void fastcall PaintClick(TObject *Sender); void fastcall BackDensityClick(TObject *Sender); void fastcall FormCreate(TObject *Sender); void fastcall CloseDensityClick(TObject *Sender); 69 Thang Long University Libraty void fastcall FormClose(TObject *Sender, TCloseAction &Action); void fastcall FormPaint(TObject *Sender); private: TPoint goc; public: bool PaintX,Ve; int Cao,Xa,Sodinh; double DoChiaX,DoChiaY; TPoint *ToaDo; fastcall TDensityClass(TComponent* Owner); void VeTruc(); void Init(bool Ve); void VeMatDo(); }; // extern PACKAGE TDensityClass *DensityClass; // #endif /* T p PaintDensity.cpp -*/ // - #include #pragma hdrstop #include "MainUnit.h" #include "Data.h" #include "SolveProplem.h" 70 #include "PaintDensity.h" const TPenStyle PenStyles[] = {psSolid,psDashDotDot,psClear,psInsideFrame}; // #pragma package(smart_init) #pragma link "cgrid" #pragma link "cgrid" #pragma resource "*.dfm" TDensityClass *DensityClass; // fastcall TDensityClass::TDensityClass(TComponent* Owner) : TForm(Owner) { } // void TDensityClass::VeTruc() { Canvas->Pen->Style = psSolid; Canvas->Pen->Width = 2; Canvas->Pen->Color = clBlack; Canvas->MoveTo(goc.x,goc.y); Canvas->LineTo(goc.x,goc.y-Cao); Canvas->MoveTo(goc.x,goc.y); Canvas->LineTo(goc.x + Xa,goc.y); Canvas->MoveTo(goc.x,goc.y - Cao); Canvas->LineTo(goc.x - 3,goc.y - Cao + 3); 71 Thang Long University Libraty Canvas->MoveTo(goc.x,goc.y - Cao); Canvas->LineTo(goc.x + 3,goc.y - Cao + 3); Canvas->MoveTo(goc.x +Xa,goc.y); Canvas->LineTo(goc.x + Xa - 3,goc.y + 3); Canvas->MoveTo(goc.x + Xa,goc.y); Canvas->LineTo(goc.x + Xa - 3,goc.y - 3); Canvas->Pen->Width = 1; Canvas->TextOut(goc.x+5,goc.y - Cao - 7, Label4->Caption); int Giatrikhoang = MainClass->GetNghiem(0,MainClass->K)/10; for(int i = 1; iMoveTo(goc.x - 4,goc.y - i*Giatrikhoang*DoChiaY); Canvas->LineTo(goc.x + 4,goc.y - i*Giatrikhoang*DoChiaY); Canvas->TextOut(goc.x-40,goc.y - i*Giatrikhoang*DoChiaY7,i*Giatrikhoang); } } // void _fastcall TDensityClass::FormPaint(TObject *Sender) { VeTruc(); VeMatDo(); } // void fastcall TDensityClass::PaintClick(TObject *Sender) { 72 int i,n = RowColPaint->ItemIndex; for(i=0;iGetNghiem(i,n)*DoChiaY; else ToaDo[i].y = goc.y-MainClass->GetNghiem(n,i)*DoChiaY; } if(NhieuDuong->Checked) VeMatDo(); else Invalidate(); } // -void _fastcall TDensityClass::FormClose(TObject *Sender,TCloseAction &Action) { delete ToaDo; } // -void TDensityClass::Init(bool Ve) { if(Ve) { Caption = CaptionDensity->Caption + " x:"; Label8->Caption = "Chon gia tri z:"; PaintX=true; Sodinh = MainClass->XCount; ToaDo = new TPoint[Sodinh]; 73 Thang Long University Libraty for(int i = 0;i < MainClass->ZCount;i++) RowColPaint->Items->Add(i*MainClass->Hz); }else { Caption = CaptionDensity->Caption + " z:"; Label8->Caption = "Chon gia tri x:"; PaintX=false; Sodinh = MainClass->ZCount; for(int i = 0;i < MainClass->XCount;i++) RowColPaint->Items->Add(i*(MainClass->Hx)); ToaDo = new TPoint[Sodinh]; } DoChiaX=(Xa - 5)/Sodinh; DoChiaY=(Cao - 5)/MainClass->GetNghiem(0,MainClass->K); RowColPaint->ItemIndex = 0; NhieuDuong->Checked = false; SolutionClass->Hide(); Invalidate(); ShowModal(); SolutionClass->Visible = true; } // -void TDensityClass::VeMatDo() { Canvas->Pen->Style = PenStyles[PenStyle->ItemIndex]; Canvas->Pen->Width = 1; Canvas->Pen->Color = PenColor->ForegroundColor; Canvas->Polyline(ToaDo,Sodinh-1); for(int i = 1;iPen->Color = clBlack; Canvas->MoveTo(goc.x+2*i*DoChiaX,goc.y - 4); Canvas->LineTo(goc.x+2*i*DoChiaX,goc.y + 4); Canvas->TextOut(goc.x+2*i*DoChiaX-5,goc.y+10,2*i); } if(PaintX) Canvas->TextOut(goc.x+Xa,goc.y+10,"x=i*"+DataClass->EdtHx>Text); else Canvas->TextOut(goc.x+Xa,goc.y+10,"z=i*"+DataClass->EdtHz>Text); } // -void fastcall TDensityClass::BackDensityClick(TObject *Sender) { RowColPaint->Items->Clear(); Close(); } // - void fastcall TDensityClass::FormCreate(TObject *Sender) { goc.x = 50; goc.y = Panel2->Top - 30; Cao = goc.y - Panel1->Top - Panel1->Height - 20; Xa = DensityClass->Width - 100; PenStyle->ItemIndex = 0; } 75 Thang Long University Libraty // - void fastcall TDensityClass::CloseDensityClick(TObject *Sender) { Application->Terminate(); } // - 76

Ngày đăng: 03/07/2016, 00:57

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w