Đường cong Lắp phương pháp

15,1 Giới thiệu Việc phân tích các dữ liệu thực nghiệm được cho là một trong những nhiệm vụ quan trọng nhất mà cả hai các nhà khoa học và kỹ sư đang thường xuyên yêu cầu để làm. Trong khi một máy tính thường hồ sơ và phân tích các dữ liệu thu được từ một thí nghiệm, cuối cùng, mọi người chương trình máy tính và cuối cùng giải thích kết quả. Dữ liệu tiêu biểu thu thập từ các thí nghiệm thường chứa rất nhiều các giá trị không chính xác và ồn ào phát sinh từ cả hai ngẫu nhiên và có hệ thống lỗi. Sai số ngẫu nhiên phát sinh từ những hạn chế tự nhiên của thực hiện phép đo vật lý trong khi các lỗi hệ thống xuất phát từ sai lầm ngớ ngẩn trong đo lường quá trình. Dù bằng cách nào, phương pháp thống kê các cấp khó khăn và tinh tế phải được sử dụng để trích xuất thông tin và giải thích thực nghiệm kết quả. Mục tiêu cuối cùng của việc phân tích dữ liệu là đại diện cho dữ liệu thực nghiệm bằng cách sử dụng mô hình dựa trên các phương trình toán học tốt nhất có thể mô tả các hiện tượng vật lý được nghiên cứu. Vì vậy, một trong những nhu cầu của một sự hiểu biết tốt các sản phẩm được vật lý, hóa học, điện tử, và các tài sản khác của một vấn đề để lựa chọn hoặc phát triển các mô hình thích hợp nhất và giải thích có thể. Không có đồ họa hoặc phân tích phần mềm có thể chọn một mô hình dữ liệu nhất định. Thay vào đó, phần mềm như vậy có thể

doc91 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 2172 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đường cong Lắp phương pháp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
15 Đường cong Lắp phương pháp 15,1 Giới thiệu Việc phân tích các dữ liệu thực nghiệm được cho là một trong những nhiệm vụ quan trọng nhất mà cả hai các nhà khoa học và kỹ sư đang thường xuyên yêu cầu để làm. Trong khi một máy tính thường hồ sơ và phân tích các dữ liệu thu được từ một thí nghiệm, cuối cùng, mọi người chương trình máy tính và cuối cùng giải thích kết quả. Dữ liệu tiêu biểu thu thập từ các thí nghiệm thường chứa rất nhiều các giá trị không chính xác và ồn ào phát sinh từ cả hai ngẫu nhiên và có hệ thống lỗi. Sai số ngẫu nhiên phát sinh từ những hạn chế tự nhiên của thực hiện phép đo vật lý trong khi các lỗi hệ thống xuất phát từ sai lầm ngớ ngẩn trong đo lường quá trình. Dù bằng cách nào, phương pháp thống kê các cấp khó khăn và tinh tế phải được sử dụng để trích xuất thông tin và giải thích thực nghiệm kết quả. Mục tiêu cuối cùng của việc phân tích dữ liệu là đại diện cho dữ liệu thực nghiệm bằng cách sử dụng mô hình dựa trên các phương trình toán học tốt nhất có thể mô tả các hiện tượng vật lý được nghiên cứu. Vì vậy, một trong những nhu cầu của một sự hiểu biết tốt các sản phẩm được vật lý, hóa học, điện tử, và các tài sản khác của một vấn đề để lựa chọn hoặc phát triển các mô hình thích hợp nhất và giải thích có thể. Không có đồ họa hoặc phân tích phần mềm có thể chọn một mô hình dữ liệu nhất định. Thay vào đó, phần mềm như vậy có thể chỉ giúp để phân biệt giữa các mô hình. Tuy nhiên, một khi mô hình được chọn, một trong những sau đó có thể làm một đánh giá thô nhưng nhanh chóng phù hợp của nó bằng cách vẽ đồ thị dữ liệu. Trong để có một số sự tự tin trong việc lựa chọn một mô hình và giải thích các kết quả, thỏa thuận một số là cần thiết giữa các dữ liệu thực nghiệm và các giá trị dự kiến dự đoán của mô hình. Ví dụ, nếu mô hình được cho là đại diện theo cấp số nhân tăng trưởng và các điểm dữ liệu đơn điệu giảm, sau đó mô hình được rõ ràng là sai. Với mô hình chính xác, người ta có thể xác định đặc điểm quan trọng của dữ liệu, chẳng hạn như tốc độ thay đổi bất cứ nơi nào trên đường cong (phái sinh đầu tiên), tối thiểu địa phương và điểm tối đa chức năng (số không của phái sinh đầu tiên), và diện tích dưới đường cong (tách rời). Vì vậy, một trong những mục tiêu quan trọng của phân tích dữ liệu thực nghiệm tìm các thiết lập tốt nhất các giá trị tham số của một phương trình hoặc tuyến tính hoặc phi tuyến mà hầu hết chặt chẽ phù hợp dữ liệu. Khi điều này xảy ra, biểu thức thu được được cho là hợp với chức năng là tốt nhất cho những điểm dữ liệu. 483 © 2010 by Taylor và Francis Group, LLC. 484 Phương pháp số, thuật toán và công cụ trong C # 15,2 Squares nhất Fit Phương pháp hình vuông ít nhất lần đầu tiên được mô tả bởi các nhà toán học Đức nổi tiếng Carl Friedrich Gauss khoảng năm 1794 và vẫn còn phổ biến nhất có lẽ là phù hợp đường cong thủ tục. Phù hợp nhất trong ý nghĩa nhất hình vuông là ví dụ của mô hình cho tổng số dư bình phương có giá trị của nó ít nhất, còn lại là sự khác biệt giữa một giá trị quan sát và giá trị của mô hình. Tổng hợp các hình vuông hiệu số được sử dụng, thay vì các giá trị tuyệt đối của thực tế bù đắp, bởi vì điều này cho phép các chất thải được xử lý như một số lượng vi liên tục. Tuy nhiên, bởi vì hình vuông của hiệu số được sử dụng, điểm xa trung tâm có thể có một không cân xứng hiệu lực phù hợp với, một tài sản mà có thể hoặc có thể không được mong muốn tùy thuộc vào vấn đề ở bàn tay. Một phương trình chung cho việc lắp hình vuông ít nhất có thể được bắt nguồn bằng cách giả sử chúng ta có một tập dữ liệu bao gồm các điểm dữ liệu n: (xi, yi) i = 0,1,2,. . . , N-1 và xi là một biến độc lập và yi là biến phụ thuộc. Một chức năng mô hình chung cho n điểm dữ liệu sau đó có thể được định nghĩa bởi [84] f (x, a) = f (x; a0, a1, a2,, một-1...) a0, a1, a2,. . . , Một-1 là các tham số biến. Mục tiêu là để tìm thấy những tham số giá trị mà mô hình phù hợp nhất với dữ liệu. Các hình thức của mô hình thực tế chức năng được xác định trước thời gian và thường là dựa trên lý thuyết liên quan với thí nghiệm mà dữ liệu được thực hiện. Phương pháp hình vuông ít nhất định nghĩa tốt nhất là khi tổng hợp, S, dư bình phương   là tối thiểu. Một còn lại được định nghĩa là sự khác biệt giữa các giá trị của yi biến phụ thuộc và các giá trị dự đoán từ các chức năng mô hình ước tính f (xi, a), ri = yi-f (xi, a) Vấn đề tối thiểu được chia thành hai loại, tuyến tính và phi tuyến. Các tuyến tính vấn đề hình vuông ít nhất có một giải pháp hình thức đóng cửa, nhưng vấn đề phi tuyến không và thường được giải quyết bằng cách lặp đi lặp lại tinh tế nơi mà hệ thống mỗi lần lặp xấp xỉ bằng một tuyến tính, do đó việc tính toán cốt lõi là tương tự như trong cả hai trường hợp. Tối thiểu của tổng của hình vuông được tìm thấy bằng cách thiết lập gradient S không. Kể từ khi mô hình có chứa các thông số n có là 0,1,2,. . , N-1 phương trình gradient.   và kể từ khi ri = yi-f (xi, a) các phương trình độ dốc trở thành   Phương pháp Lắp đường cong 485 15.2.1 Straight-dòng Fit Các vấn đề ít nhất là hình vuông đơn giản bao gồm việc tìm kiếm các phương trình tốt nhất phù hợp với một đường thẳng. Sử dụng các hình thức đánh chặn dốc của một đường thẳng, y = mx + b, chúng ta có thể ngay lập tức xác định các hệ số như a0 = b = y-đánh chặn và a1 = m = độ dốc để rằng các chức năng mô hình trở thành f (x, a) = a0 + a1x hoặc tương đương, y = mx + b. Chúng tôi do đó có thể tính toán tổng của các ô vuông của S dư   Tối thiểu là tổng của hình vuông được tìm thấy bằng cách thiết lập gradient S không:  từ đó chúng ta có được các thiết lập của phương trình sau đây   có thể được viết ở dạng ma trận   từ đó chúng ta có thể giải quyết cho b và m để cung cấp cho   Những phương trình này có thể được tiếp tục đơn giản hóa bằng cách nhận ra và thay thế các biểu thức cho các giá trị trung bình của x và y như   từ đó chúng tôi cuối cùng đã có được  Triển khai trong C # của hai bộ phù hợp với công thức tốt nhất được đưa ra dưới đây. Các LeastSquaresBestFitLine1 thuật toán sau phiên bản nhỏ gọn hơn, trong khi LeastSquaresBestFitLine2 theo phiên bản dài hơn và truyền thống của hai phương trình. Một ví dụ minh họa làm thế nào cả của các thuật toán có thể được thực hiện sau ngay lập tức dưới đây và bao gồm kết quả từ một tập hợp mẫu của các điểm dữ liệu. public static double [] LeastSquaresBestFitLine1 (double [] x, double [] y) { / / Tính toán phương trình đường phù hợp nhất bằng cách sử dụng các phím tắt int n = x.Length; tăng gấp đôi xMean = 0,0; tăng gấp đôi yMean = 0,0; tăng gấp đôi numeratorSum = 0.0; tăng gấp đôi denominatorSum = 0.0; tăng gấp đôi bestfitYintercept = 0,0; tăng gấp đôi bestfitSlope = 0,0; tăng gấp đôi sigma = 0,0; tăng gấp đôi sumOfResidualsSquared = 0,0; / / Tính giá trị trung bình cho mảng x và y for (int i = 0; i > n, mà thể chất có nghĩa là χ 2 là lớn hơn đáng kể so với tổng số thùng, sau đó những con số quan sát và dự kiến ​​sẽ có sự khác biệt đáng kể và thỏa thuận giữa Ok và Ek là không thể chấp nhận được và chúng tôi từ chối phân phối giả định. Nếu χ 2 ≤ n sau đó phân phối quan sát và dự kiến ​​sẽ đồng ý về cũng như có thể được dự kiến. Để minh họa việc sử dụng các số liệu thống kê chi-bình phương, tôi đã chọn để tạo ra 2.000 ngẫu nhiên dữ liệu được rút ra các điểm được cho là theo một phân phối nhị thức và sau đó so sánh kết quả chống lại một tập hợp các số liệu năm 2000 chỉ tính trực tiếp từ các nhị thức phân phối. Biểu đồ tần số được sử dụng để phân phối các dữ liệu bao gồm một tổng cộng 20 thùng. C # mã để thực hiện tính toán này được trình bày dưới đây Tôi cũng được sử dụng mã C # từ các chương 10 và 14 phân bố xác suất ngẫu nhiên và đặc biệt chức năng, tương ứng. Bởi vì các ngẫu nhiên của các tính toán, một hơi khác nhau χ 2 thu được mỗi lần chương trình chạy. Để cho đầy đủ, Kết quả cho một χ giảm 2 cũng được. Χ giảm 2 chỉ là χ thường xuyên 2 chia bởi số lượng các mức độ tự do của thí nghiệm. Số lượng các mức độ tự do là chỉ số của tần số mẫu trừ đi số lượng hạn chế hoặc các thông số trong thử nghiệm. Trong ví dụ dưới đây, một biểu đồ tần số tạo ra có chứa 20 thùng và vì vậy số bậc tự do là 20. Số lượng hạn chế hoặc các thông số 1. Các χ 2 = 19,913, hoặc tương đương, giảm χ 2 giá trị của 1,04807 hỗ trợ giả thuyết rằng các dữ liệu quan sát thực sự là so sánh với các dữ liệu mong muốn. TestChiSquareStatistic tư nhân tĩnh void () { int nBins = 20; / / số lượng thùng cho biểu đồ int nPoints = 2000; / / số lượng các điểm dữ liệu / / Tạo một mảng số liệu năm 2000 ngẫu nhiên điểm / / Được cho là theo một phân phối nhị thức tăng gấp đôi [] RandomData = NextBinomial (20, 0.5, nPoints); / / Distribute năm 2000 các điểm dữ liệu ngẫu nhiên vào một / / Biểu đồ bao gồm 20 thùng tăng gấp đôi [] RandomDistributionValues ​​= makeHistogram (RandomData, nBins); / / Mảng Setup để tổ chức dữ liệu tăng gấp đôi [] xdata = new double [nBins]; tăng gấp đôi [] ydata = new double [nBins]; tăng gấp đôi [] Quan sát = new double [nBins]; tăng gấp đôi [] Dự kiến ​​= new double [nBins]; tăng gấp đôi [] ydistribution = new double [nBins]; / / Gán dữ liệu ngẫu nhiên và dữ liệu phân phối nhị thức / / Mảng thích hợp của họ (int i = 0; i x0) { làm { if (h> x - x0) h = x - x0; ynew = y0 + f (x0, y0) * h; xnew = x0 + h; x0 = xnew; y0 = ynew; } Trong khi (x0 x0) { làm { if (h> x - x0) h = x - x0; k1 = h * f (x0, y0); k2 = h * f (x0 + 0,5 * h, y0 + 0,5 * k1); ynew = y0 + k2; xnew = x0 + h; x0 = xnew; y0 = ynew; } Trong khi (x0 x0) { làm { if (h> x - x0) h = x - x0; k1 = h * f (x0, y0); k2 = h * f (x0 + 0,5 * h, y0 + 0,5 * k1); k3 = h * f (x0 + 0,5 * h, y0 + 0,5 * k2); K4 = h * f (x0 + h, y0 + k3); ynew = y0 + (k1 + 2 * k2 + 2 * K3 + K4) / 6; xnew = x0 + h; x0 = xnew; y0 = ynew; } Trong khi (x0 Hmax) h = Hmax; if (h 4) = 4; hnew = h * s; h = hnew; if (h> Hmax) h = Hmax; if (h x - x0) h = x - x0; Trở lại y0}; } static void TestRungeKuttaFehlberg () { đôi h = 0,2; tăng gấp đôi x0 = 0,0; tăng gấp đôi y0 = 1,0; Console.WriteLine ("\ n Kết quả từ theo thứ tự thứ 4 Runge-Kutta Fehlberg phương pháp với h = {0} \ n ", h); tăng gấp đôi kết quả = y0; (int i = 0; i 0, và thường σ = 10, β = 8 / 3 và ρ là khác nhau. Hệ thống trưng bày hỗn loạn hành vi cho ρ = 28, nhưng hiển thị thắt nút quỹ đạo định kỳ cho các giá trị khác ρ. Sử dụng những giá trị cho các hằng số σ, ρ và β, chúng ta có thể viết sự khác biệt của chúng tôi phương trình trong C # như sau: dx tĩnh gấp đôi (double x, double y, z tăng gấp đôi) { trở lại 10,0 * (y - x); } dy tĩnh gấp đôi (double x, double y, z tăng gấp đôi) { trở về x * (28,0 - z) y; } dz tĩnh gấp đôi (double x, double y, z tăng gấp đôi) { trở về x * y - 8.0 * z / 3,0; } Tiếp theo, chúng ta đang phải đối mặt với quyết định lựa chọn số phương pháp sử dụng để giải quyết các Lorenz phương trình vi phân lệnh đầu tiên đưa ra ở trên. Mặc dù 4 phương pháp để Runge-Kutta báo cáo cho kết quả chính xác hơn, cho các mục đích ví dụ này và để giữ cho mọi thứ đơn giản như có thể, phương pháp Euler là đủ tốt và được hiển thị dưới đây. Kết quả đầu ra sau. Để minh họa mục đích để giữ cho kích thước đầu ra trong giới hạn hợp lý, tôi chỉ hiển thị một phần của sản lượng thực tế. Phần còn lại có thể được nhìn thấy bằng cách chạy thích hợp chương trình mẫu đi kèm với cuốn sách này. static void TestEulerCoupledODE () { tăng gấp đôi x = 0,0, y = 5.0, z = 10,0; / / ban đầu các điều kiện tăng gấp đôi dt = 0,001; / / bước kích thước int maxnSteps = 100 / / tối đa số bước (int i = 0; i 0 elip nếu b2-ac 0 và có thể một số điều kiện ranh giới như u (0, t) = u (L, t) = 0, t> 0 và một số điều kiện ban đầu như u (x, 0) = f (x), trong đó 0 ≤ x ≤ L. phương trình và phương pháp của giải pháp có thể dễ dàng mở rộng để bao gồm kích thước khi cần thiết. © 2010 by Taylor và Francis Group, LLC. 522 Phương pháp số, thuật toán và công cụ trong C # Bước đầu tiên trong quá trình số lượng giải quyết từng phần parabol phương trình bằng cách sử dụng các phương pháp khác biệt hữu hạn là tạo ra một mạng lưới các điểm lưới cùng mặt phẳng (x, t). Đầu tiên, chọn một số nguyên m> 0 và xác định kích thước bước không gian h = L / m. Sau đó chọn một thời gian bước kích thước k. Các điểm lưới này sau đó được đưa ra bởi (xi, tj), nơi xi = ih cho i = 0,1,2,. . . , M và t j = jk j = 0,1,2,. . .. Parabol phương trình vi phân từng phần như ở trên có nghĩa là nội thất lưới điểm (xi, t j) cho mỗi i = 1,2,. . . , M-1 và j = 1,2,. . . chúng ta có ∂ u ∂ t (Xi, t j)-α2 ∂ 2U ∂ x2 (xi, t j) = 0 Tại thời điểm này, chúng tôi có thể bị cám dỗ để tiếp tục bằng cách chọn bất kỳ một trong có sẵn ba phương pháp khác biệt hữu hạn: phía trước, lạc hậu hoặc trung ương. Tuy nhiên, gánh nặng và Faires [69] chỉ ra rằng thực hiện một lựa chọn bất cẩn trong đó xác định sự khác biệt phương pháp sử dụng đôi khi có thể dẫn đến các giải pháp không mong muốn, không ổn định hoặc có điều kiện ổn định. Một giải pháp tốt hơn vô điều kiện ổn định đòi hỏi một phân tích kỹ hơn của tất cả ba phương pháp khác biệt hữu hạn, và như vậy, nó vượt ra ngoài phạm vi này cuốn sách. Issacson và Keller [86], ví dụ, cung cấp một lý thuyết hoàn chỉnh hơn điều trị các vấn đề ổn định trong các giải pháp của phương trình vi phân từng phần. Vì nó Hóa ra, sử dụng phương pháp lạc hậu khác nhau sẽ cho kết quả nhiều hơn mong muốn giải pháp tiềm ẩn là vô điều kiện ổn định. Sử dụng xấp xỉ chênh lệch lạc hậu cùng với các kết quả cho xấp xỉ một phần phái sinh đầu tiên và thứ hai bằng cách sử dụng một mở rộng chuỗi Taylor như được đưa ra trong phần 17,2, sau đó chúng tôi có thể viết sự khác biệt trên chung parabol phương trình là wi, j-wi, j-1 k-α2wi +1, j-2wi, j + wi-1, j h2 = 0 cho mỗi 1,2 = i,. . . , M-1 và j = 1,2,. . . và nơi wi, j gần u (xi, t j). Bằng cách cho phép λ = α2 k h2, chúng ta có thể sắp xếp phương trình trước đó cho wi, j trong những điều sau đây định dạng: (1 +2 λ) wi, j-λ wi +1, j-λ wi-1, j = wi, j-1 cho mỗi 1,2 = i,. . . , M-1 và j = 1,2,. . .. Sử dụng kiến ​​thức từ ban đầu điều kiện wi, 0 = f (xi) cho mỗi i = 1,2,. . . , M-1 và wm, j = W0, j = 0 cho mỗi j = 1,2,. . . phương pháp này chênh lệch lạc hậu dẫn đến các đại diện ma trận sau đây: Aw (j) = w (k-1) cho mỗi i = 1,2,. . . hoặc một cách rõ ràng hơn như: ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ (1 +2 λ)-λ 0. . . 0 0 -Λ (1 +2 λ) λ 0. . . 0 ... . . . . . . . . . 0 0 0. . . -Λ (1 +2 λ) λ 0 0 0. . . -Λ (1 +2 λ) λ 0 0 0. . . -Λ (1 +2 λ) ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎛ ⎜ ⎜ ⎜ ⎝ W1, j w2, j ... wm-1, j ⎞ ⎟ ⎟ ⎟ ⎠ = ⎛ ⎜ ⎜ ⎜ ⎝ W1, j-1 w2, j-1 ... wm-1, j-1 ⎞ ⎟ ⎟ ⎟ ⎠ © 2010 by Taylor và Francis Group, LLC. Phương trình sai một phần 523 Vì vậy, chúng tôi chỉ cần để giải quyết một hệ thống phương trình tuyến tính để có được w (k) từ w (k-1). Kể từ khi λ> 0, ngoài việc được tridiagonal, ma trận là cũng tích cực xác định và thực hiện đúng theo đường chéo chi phối. Việc thực hiện trong C # phương pháp chênh lệch lạc hậu để giải quyết nhiệt phương trình sau tìm kiếm giải pháp parabol tiêu chuẩn gần đúng một phần khác biệt giữa các phương trình của hình thức ∂ u ∂ t (X, t) α2 ∂ 2U ∂ x2 (x, t) = 0 trong đó 0 0 và có thể một số điều kiện ranh giới như u (0, t) = u (L, t) = 0, t> 0 và một số điều kiện ban đầu như u (x, 0) = f (x), và ∂ u ∂ t (X, 0) = g (x) với 0 ≤ x ≤ L α là một hằng số. Như trước đây, chúng tôi bắt đầu bằng cách chọn một số nguyên m> 0 và thời gian bước kích thước k> 0. Với h = L / m, các điểm lưới (xi, tj) được định nghĩa bởi xi = ih i = 0,1,2,. . . , M và t j = jk j = 0,1,2,. . .. Tại bất kỳ điểm lưới nội thất (xi, t j), sóng phương trình trở thành ∂ 2U ∂ t2 (xi, t j)-α2 ∂ 2U ∂ x2 (xi, t j) = 0 Áp dụng phương pháp khác biệt trung tâm cùng với các kết quả xấp xỉ các chất dẫn xuất đầu tiên và thứ hai một phần bằng cách sử dụng một mở rộng chuỗi Taylor như mô tả trong phần 17,2, sau đó chúng tôi có thể viết phương trình vi phân chung hyperbol ở trên là WI, wi j 1-2, j + wi, j-1 k2-α2wi +1, j-2wi, j + wi-1, j h2 = 0 cho mỗi 1,2 = i,. . . , M-1 và j = 1,2,. . . và nơi wi, j gần u (xi, t j). Nếu λ = αk / h, chúng ta có thể viết phương trình chênh lệch WI, wi j 1-2, j + wi, j-1-λ 2wi +1, j 2 λ 2wi, j-λ 2wi-1, j = 0 và giải quyết cho wi j, +1, thời gian xấp xỉ bước tiên tiến nhất, để có được wi, j +1 = 2 (1-λ 2) wi, k + λ 2 (wi 1, j + wi-1, j)-wi, j-1 i = 1,2,. . . , M-1 và j = 1,2,. . .. Các điều kiện biên cho W0, j = wm, j = 0 cho mỗi k = 1,2,. . . © 2010 by Taylor và Francis Group, LLC. Phương trình sai một phần 529 và các điều kiện ban đầu ngụ ý wi, 0 = f (xi) cho mỗi i = 1,2,. . . , M-1 Thể hiện này tập hợp các phương trình ở dạng ma trận cho ⎛ ⎜ ⎜ ⎜ ⎝ W1, j 1 w2, j 1 ... wm-1, j 1 ⎞ ⎟ ⎟ ⎟ ⎠ = ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ 2 (1-λ 2) λ 2 0. . . 0 0 λ 2 2 (1-λ 2) λ 2 0. . . 0 ... . . . . . . . . . 0 0 0. . . λ 2 2 (1-λ 2) λ 2 0 0 0. . . λ 2 2 (1-λ 2) λ 2 0 0 0. . . λ 2 2 (1-λ 2) ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎛ ⎜ ⎜ ⎜ ⎝ W1, j w2, j ... wm-1, j ⎞ ⎟ ⎟ ⎟ ⎠ - ⎛ ⎜ ⎜ ⎜ ⎝ W1, j-1 w2, j-1 ... wm-1, j-1 ⎞ ⎟ ⎟ ⎟ ⎠ Các phương trình cho wi, j +1 và các điều kiện biên có nghĩa là st (j + 1) bước thời gian đòi hỏi phải có giá trị từ thứ j (j-1) bước thời gian st. Điều này tạo ra một bắt đầu từ vấn đề nhỏ bởi vì các giá trị cho k = 0 được đưa ra bởi điều kiện ban đầu wi, 0 = f (xi), nhưng giá trị cho k = 1 là cần thiết để tính toán wi, 2 thì phải được từ các điều kiện ban đầu khác ∂ u ∂ t (X, 0) = g (x) với 0 ≤ x ≤ L Một cách tiếp cận là để thay thế ∂ u ∂ t (X, 0) bởi một xấp xỉ sự khác biệt về phía trước ∂ u ∂ t (Xi, 0) ≈ u (xi, t1)-u (xi, 0) k + O (k) Giải u (xi, t1) cho u (xi, t1) ≈ u (xi, 0) + k ∂ u ∂ t (Xi, 0) + O (k 2) = u (xi, 0) + kg (xi) + O (k2) Kết quả là, wi, 1 ≈ wi, 0 + kg (xi) cho mỗi i = 1,2, . . , M-1 cung cấp cho một xấp xỉ chỉ lên đến một lỗi trong thứ tự của O (k). Tìm kiếm một xấp xỉ tốt hơn để u (xi, 0) xem xét mở rộng u (x, t1) trong một loạt Taylor về t = 0 u (xi, t1) ≈ u (xi, 0) + k ∂ u ∂ t (Xi, 0) + k2 2 ∂ 2U ∂ t2 (xi, 0) + k3 6 ∂ 3U ∂ t3 (xi, 0) +. . . Nếu f __ tồn tại sau đó ∂ 2U ∂ t2 (xi, 0) = α2 ∂ 2U ∂ x2 (xi, 0) = α2 d2 f dx2 (xi) = α2 f __ (xi) © 2010 by Taylor và Francis Group, LLC. 530 Phương pháp số, thuật toán và công cụ trong C # Vì vậy, đó u (xi, ti) ≈ u (xi, 0) + kg (xi) + α2k2 2 f __ (xi) + k3 6 ∂ 3U ∂ t3 (xi, 0) +. . . sản xuất một xấp xỉ với một lỗi ước tính là theo thứ tự của O (k3). Đó là, u (xi, ti) ≈ u (xi, 0) + kg (xi) + α2k2 2 f __ (xi) + O (k3) Sử dụng các công thức trung tâm khác biệt khác biệt hữu hạn từ Chương 11, chúng tôi có thể viết f __ (xi) ≈ f (xi +1) -2 f (xi) + f (xi-1) h2 + O (h2) chúng tôi bây giờ có được u (xi, ti) ≈ u (xi, 0) + kg (xi) + α2k2 2H2 [f (xi +1) -2 f (xi) + f (xi-1)] +. . . Bằng cách cho phép λ = (kα / h) biểu hiện mới nhất này có thể được viết là u (xi, ti) ≈ u (xi, 0) + kg (xi) + λ 2 2 [F (xi +1) -2 f (xi) + f (xi-1)] +. . . u (xi, ti) ≈ (1-λ 2) f (xi) + λ 2 2 f (xi +1) + λ 2 2 f (xi-1) + kg (xi) +. . . Do đó, phương trình sai phân ui, 1 ≈ (1-λ 2) f (xi) + λ 2 2 f (xi +1) + λ 2 2 f (xi-1) + kg (xi) +. . . có thể được sử dụng để tìm wi, 1 cho mỗi i = 1,2,. . . , M-1. Việc thực hiện trong C # của giải pháp số của phương trình sóng sau tìm cách giải pháp cho sự khác biệt giữa một phần hyperbol gần đúng phương trình ∂ 2U ∂ t2 (x, t) α2 ∂ 2U ∂ x2 (x, t) = 0 trong đó 0 E) E = Math.Abs ​​(W [I M1-Z); W [I, M1] = Z; } { { } } { } © 2010 by Taylor và Francis Group, LLC. { { { } } } khác } Console.ReadLine (); } ĐẦU RA: © 2010 by Taylor và Francis Group, LLC. 1. 2. 3. © 2010 by Taylor và Francis Group, LLC. 18 thành phần: 1. 2. 3. 539 © 2010 by Taylor và Francis Group, LLC. 1. 2. số nguyên giá trị. Ví dụ, © 2010 by Taylor và Francis Group, LLC. 3. sự lựa chọn. Mặc dù điều này Nếu . . như vậy mà © 2010 by Taylor và Francis Group, LLC. Lưu ý rằng Lưu ý { { } } © 2010 by Taylor và Francis Group, LLC. { int n = x.Length; { } trở lại z; } { } { Console.ReadLine (); } Đây là một Các © 2010 by Taylor và Francis Group, LLC. vấn đề. Một . . . . © 2010 by Taylor và Francis Group, LLC. khó khăn. m. biến. được khó khăn. Quá trình © 2010 by Taylor và Francis Group, LLC. bằng không. hình thức . . . . . . © 2010 by Taylor và Francis Group, LLC. m = . . . . . . . . { { } { © 2010 by Taylor và Francis Group, LLC. } { } làm { { } { { } } { khác } khác { { } { { © 2010 by Taylor và Francis Group, LLC. } } { } khác { làm { } } { } } © 2010 by Taylor và Francis Group, LLC. static void Main (string [] args) { khác { khác { } Console.ReadLine (); } } ĐẦU RA: © 2010 by Taylor và Francis Group, LLC. làm mát. Tuy nhiên, Các Các thuật toán khám phá. tối thiểu. Để có được © 2010 by Taylor và Francis Group, LLC. Vòng lặp { khác { { chấp nhận } khác } } thuật toán. đầu vào. © 2010 by Taylor và Francis Group, LLC. { làm { { i + +; { © 2010 by Taylor và Francis Group, LLC. } khác { { } } } } } chức năng: { } ĐẦU RA: © 2010 by Taylor và Francis Group, LLC. thuật toán. Đối với Điều này 1. 2. © 2010 by Taylor và Francis Group, LLC. 3. chọn. 4. 5. 6. vấn đề. chéo. Sau một © 2010 by Taylor và Francis Group, LLC. xác suất. Nghiên cứu cho thấy Có © 2010 by Taylor và Francis Group, LLC. { { } { } © 2010 by Taylor và Francis Group, LLC. { { } { } } { { } } © 2010 by Taylor và Francis Group, LLC. { { } { } } Có rất nhiều Cuối cùng, nếu { { khác { } © 2010 by Taylor và Francis Group, LLC. } } { } } { { { } } { © 2010 by Taylor và Francis Group, LLC. { { } khác { } } } { { } } { } } { { trả lại 1; trở về 0; khác trở về -1; } } © 2010 by Taylor và Francis Group, LLC. { } { Console.ReadLine (); } ĐẦU RA: © 2010 by Taylor và Francis Group, LLC. Kết quả là, vấn đề này. để giải quyết vấn đề này. thuật toán. Điều này Mặc dù một số © 2010 by Taylor và Francis Group, LLC. nhà điều hành. { { } { { } } { { } } } { © 2010 by Taylor và Francis Group, LLC. { { } © 2010 by Taylor và Francis Group, LLC. } { { } } { } { { { tiếp tục; } } } { { Mới! Nhấp vào các từ bên trên để xem các bản dịch thay thế. Loại bỏ

Các file đính kèm theo tài liệu này:

  • docĐường cong Lắp phương pháp.doc
Tài liệu liên quan