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ườichươ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.
91 trang |
Chia sẻ: haohao89 | Lượt xem: 1830 | Lượt tải: 1
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áp15,1 Giới thiệuViệ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ả haicá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ườichươ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ậptừ 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ủathự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ệmkế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ụngmô 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 đượcvậ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ọnhoặ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ặcphâ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ữngsau đó 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ếndự đ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ântăng trưởng và các điểm dữ liệu đơn điệu giảm, sau đó mô hình đượcrõ 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ươngvà đ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ệmtì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ếtchặ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 FitPhươ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ếngCarl Friedrich Gauss khoảng năm 1794 và vẫn còn phổ biến nhất có lẽ là phù hợp đường congthủ tục. Phù hợp nhất trong ý nghĩa nhất hình vuông là ví dụ của mô hình chotổ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ệtgiữ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ônghiệ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àycho 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ứnghiệ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àovấ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ộtbiế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 quanvớ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ủayi 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ínhf (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ínhvấ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ôngvà 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ặpxấ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 48515.2.1 Straight-dòng FitCá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ôido đó 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ứccho 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ácLeastSquaresBestFitLine1 thuật toán sau phiên bản nhỏ gọn hơn, trong khiLeastSquaresBestFitLine2 theo phiên bản dài hơn và truyền thống củahai 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ể đượcthự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ẫucủ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ắtint 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à yfor (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ậngiữ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 ≤ nsau đó 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êndữ 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ánhkế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ứcphâ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ộttổ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 đâyTô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ênvà đặ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ộthơ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 chiabở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ượnghạ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ứctă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ùngtăng gấp đôi [] RandomDistributionValues = makeHistogram (RandomData, nBins);/ / Mảng Setup để tổ chức dữ liệută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-KuttaFehlberg 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àyhỗ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ôiphươ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 đíchví dụ này và để giữ cho mọi thứ đơn giản như có thể, phương pháp Eulerlà đủ tốt và được hiển thị dưới đây. Kết quả đầu ra sau. Để minh họamụ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ợpchươ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ệntăng gấp đôi dt = 0,001; / / bước kích thướcint maxnSteps = 100 / / tối đa số bước(int i = 0; i 0elip nếu b2-ac 0và có thể một số điều kiện ranh giới như u (0, t) = u (L, t) = 0, t> 0và 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 parabolphươ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ùngmặ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 = ihcho 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ấtlướ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) = 0Tạ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ẵnba 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ặngvà 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ệtphươ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ơncủ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àycuố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ốngiả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 Taylornhư đượ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 parabolphương trình làwi, j-wi, j-1k-α2wi +1, j-2wi, j + wi-1, jh2 = 0cho 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 kh2, 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-1cho 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ỗij = 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 00. . . -Λ (1 +2 λ) λ 00 0. . . -Λ (1 +2 λ) λ0 0 0. . . -Λ (1 +2 λ)⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠⎛ ⎜ ⎜ ⎜ ⎝W1, jw2, j...wm-1, j⎞ ⎟ ⎟ ⎟ ⎠= ⎛ ⎜ ⎜ ⎜ ⎝W1, j-1w2, j-1...wm-1, j-1⎞ ⎟ ⎟ ⎟ ⎠© 2010 by Taylor và Francis Group, LLC.Phương trình sai một phần 523Vì 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ựcxá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ệtphương trình sau tìm kiếm giải pháp parabol tiêu chuẩn gần đúngmộ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) = 0trong đó 0 0và có thể một số điều kiện ranh giới như u (0, t) = u (L, t) = 0, t> 0và 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 gianbướ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 = ihi = 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-1k2-α2wi +1, j-2wi, j + wi-1, jh2 = 0cho 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ệchWI, wi j 1-2, j + wi, j-1-λ 2wi +1, j 2 λ 2wi, j-λ 2wi-1, j = 0và giải quyết cho wi j, +1, thời gian xấp xỉ bước tiên tiến nhất, để có đượcwi, j +1 = 2 (1-λ 2) wi, k + λ 2 (wi 1, j + wi-1, j)-wi, j-1i = 1,2,. . . , M-1 và j = 1,2,. . .. Các điều kiện biên choW0, 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 529và các điều kiện ban đầu ngụ ýwi, 0 = f (xi) cho mỗi i = 1,2,. . . , M-1Thể hiện này tập hợp các phương trình ở dạng ma trận cho⎛ ⎜ ⎜ ⎜ ⎝W1, j 1w2, j 1...wm-1, j 1⎞ ⎟ ⎟ ⎟ ⎠=⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝2 (1-λ 2) λ 2 0. . . 0 0λ 2 2 (1-λ 2) λ 2 0. . . 0.... . .. . .. . . 0 00. . . λ 2 2 (1-λ 2) λ 2 00 0. . . λ 2 2 (1-λ 2) λ 20 0 0. . . λ 2 2 (1-λ 2)⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠⎛ ⎜ ⎜ ⎜ ⎝W1, jw2, j...wm-1, j⎞ ⎟ ⎟ ⎟ ⎠ -⎛ ⎜ ⎜ ⎜ ⎝W1, j-1w2, 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ộtbắ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 đầuwi, 0 = f (xi), nhưng giá trị cho k = 1 là cần thiết để tính toán wi, 2 thì phải đượctừ các điều kiện ban đầu khác∂ u∂ t(X, 0) = g (x) với 0 ≤ x ≤ LMộ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) chou (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 = 0u (xi, t1) ≈ u (xi, 0) + k∂ u∂ t(Xi, 0) +k22∂ 2U∂ t2 (xi, 0) +k36∂ 3U∂ t3 (xi, 0) +. . .Nếu f __ tồn tại sau đó∂ 2U∂ t2 (xi, 0) = α2 ∂ 2U∂ x2 (xi, 0) = α2 d2 fdx2 (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) +α2k22f __ (xi) +k36∂ 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) +α2k22f __ (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ếtf __ (xi) ≈f (xi +1) -2 f (xi) + f (xi-1)h2 + O (h2)chúng tôi bây giờ có đượcu (xi, ti) ≈ u (xi, 0) + kg (xi) +α2k22H2 [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) +λ 22[F (xi +1) -2 f (xi) + f (xi-1)] +. . .u (xi, ti) ≈ (1-λ 2) f (xi) +λ 22f (xi +1) +λ 22f (xi-1) + kg (xi) +. . .Do đó, phương trình sai phânui, 1 ≈ (1-λ 2) f (xi) +λ 22f (xi +1) +λ 22f (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 sautìm cách giải pháp cho sự khác biệt giữa một phần hyperbol gần đúngphương trình∂ 2U∂ t2 (x, t) α2 ∂ 2U∂ x2 (x, t) = 0trong đó 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.18thà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àyNếu. . như vậy mà© 2010 by Taylor và Francis Group, LLC.Lưu ý rằngLưu ý{{}}© 2010 by Taylor và Francis Group, LLC.{int n = x.Length;{}trở lại z;}{}{Console.ReadLine ();}Đây là mộtCác© 2010 by Taylor và Francis Group, LLC.vấn đề.Một. . . .© 2010 by