1. Trang chủ
  2. » Công Nghệ Thông Tin

NGÔN NGỮ LẬP TRÌNH FORTRAN VÀ ỨNG DỤNG TRONG KHÍ TƯỢNG THỦY VĂN part 9

12 6 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

Nội dung

dữ liệu được truy cập như là các xâu nhị phân, không phải là các số hay các ký tự. Nếu chỉ định FORM vắng mặt thì ngầm định sẽ là ‘FORMATTED’ đối với các file tuần tự và ‘UNFORMATTED’ đối với các file trực tiếp. IOSTAT có thể dùng để khôi phục lỗi khi mở file. Nếu không có lỗi khi mở file, biến nguyên sẽ có giá trị 0. Nếu có lỗi, thí dụ không tìm thấy file với tên đã chỉ định, thì một giá trị khác 0 sẽ được lưu trong biến. ...

những thí dụ trước đây: OPEN (UNIT = Biểu thức nguyên, liệu truy cập xâu nhị phân, số hay ký tự Nếu định FORM vắng mặt ngầm định ‘FORMATTED’ file ‘UNFORMATTED’ file trực tiếp * FILE = Biểu thức ký tự, * ACCESS = Biểu thức ký tự, * STATUS = Biểu thức ký tự, * FORM = Biểu thức ký tự, * IOSTAT = Biến nguyên, * RECL = Biểu thức nguyên, CHARACTER TEN *12, TEMP *70 * BLANK = Biểu thức ký tự, PRINT *, ‘GO TEN FILE’ * ERR = Nhãn lệnh chuyển điều khiển) READ (*, ‘(A12)’) TEN Biểu thức nguyên định UNIT, thường hằng, sử dụng lệnh READ WRITE để đơn vị file dùng IOSTAT dùng để khơi phục lỗi mở file Nếu khơng có lỗi mở file, biến nguyên có giá trị Nếu có lỗi, thí dụ khơng tìm thấy file với tên định, giá trị khác lưu biến Người ta thường kiểm tra giá trị biến để định hành động Thí dụ OPEN (UNIT=15, FILE=TEN, STATUS=’OLD’, IOSTAT=IERR) IF (IERR EQ 0) THEN Biểu thức ký tự định FILE tên file cần mở Hai định vừa quen dùng chương trước Biểu thức ký tự định ACCESS phải có giá trị 'DIRECT'' ‘SEQUENTIAL' dùng để file thuộc loại truy cập trực tiếp hay truy cập Nếu vắng mặt định ngầm định 'SEQUENTIAL' trước dùng Biểu thức ký tự định STATUS có giá trị ‘NEW' (để file tạo lệnh WRITE), 'OLD' (file tồn tại), ‘UNKNOWN’ (chưa rõ), 'SCRATCH' (file xuất, bị xóa chương trình kết thúc) Biểu thức ký tự định FORM có giá trị 'FORMATTED' 'UNFORMATTED' hay ‘BINARY’ Các file FORMATTED dùng với lệnh READ WRITE có định dạng dùng với lệnh nhập, xuất đơn giản Trong file UNFORMATTED ELSE PRINT*, ‘LOI MO FILE ‘,IERR END IF Đặc tả IOSTAT dùng với lệnh READ WRITE Chỉ định RECL cần cho file truy cập trực tiếp, không dùng với file truy cập Biểu thức nguyên định độ dài ghi Biểu thức ký tự định BLANK 'NULL' 'ZERO' Nếu đặc tả 'NULL' dấu trống trường số bị bỏ qua, 'ZERO' dấu trống xem số Ngầm định 'NULL' 96 Chỉ định ERR tuỳ chọn có giá trị để xử lý lỗi Nếu lỗi xảy thực lệnh OPEN hay lệnh có chứa định chương trình chuyển điều khiển tới lệnh có nhãn ghi định ERR thay tạo lỗi thực chương trình Chỉ định ERR dùng với lệnh READ WRITE • Lệnh CLOSE lệnh thực hiện, ngắt file ngoại khỏi chương trình Dạng tổng quát sau: chuyển vị trí đọc ngược lại phía trước ghi file • Lệnh ENDFILE ENDFILE (UNIT = Biểu thức nguyên, * IOSTAT = Biến nguyên, * ERR = Nhãn lệnh điều khiển) ghi vào file ghi kết thúc file file tạo CLOSE (UNIT = Biểu thức nguyên, * STATUS = Biểu thức ký tự, 11.3 Các file truy cập trực tiếp (Direct-Access Files) * IOSTAT = Biến nguyên, * ERR = Nhãn lệnh chuyển điều khiển) Các ghi file truy cập trực tiếp truy cập không theo cách tuần tự, mà theo thứ tự định chương trình Khi file trực tiếp mở, định ACCESS lệnh OPEN phải đặt ‘DIRECT’ độ dài ghi phải cho với định RECL Các lệnh READ WRITE phải chứa định REC để cung cấp số hiệu ghi cần truy cập Lệnh CLOSE định tuỳ chọn Chỉ định STATUS lệnh CLOSE có giá trị ‘KEEP’ có nghĩa file giữ lại, ‘DELETE’ có nghĩa file khơng cần nên xóa • Lệnh REWIND REWIND (UNIT = Biểu thức nguyên, * IOSTAT = Biến nguyên, * ERR = Nhãn lệnh điều khiển) Dạng tổng quát lệnh READ WRITE với file truy cập trực tiếp sau: READ (Số hiệu file, nhãn lệnh FORMAT, * dùng để chuyển vị trí ghi thứ file • Lệnh BACKSPACE BACKSPACE (UNIT = Biểu thức nguyên, * IOSTAT = Biến nguyên, * ERR = Nhãn lệnh điều khiển) REC = Biểu thứ nguyên) Danh sách biến WRITE (Số hiệu file, nhãn lệnh FORMAT, * REC = Biểu thức nguyên) Danh sách biến Biểu thức nguyên định REC dùng để số hiệu ghi cần xử lý Các định ERR IOSTAT sử dụng với lệnh READ WRITE trực tiếp Tuỳ chọn END dùng với lệnh READ Khi tổ chức file truy cập trực tiếp, người ta thường sử dụng số thứ 97 tự số hiệu phân biệt - phần ghi làm số hiệu ghi Thí dụ số hiệu phân biệt sinh viên trường đại học thường bắt đầu 00001 đến 00002 Do thơng tin sinh viên số 00210 lưu ghi 210 Đơi thực số tính tốn với trường ghi để nhận số hiệu Bảng 11.1 Các định truy vấn lệnh INQUIRE Kiểu biến Giá trị truy vấn file FILE Giá trị truy vấn đơn vị file UNIT ACCESS = CHARACTER 'SEQUENTIAL' 'DIRECT' 'SEQUENTIAL' 'DIRECT' BLANK = CHARACTER 'NULL' 'ZERO' DIRECT = CHARACTER 'YES' 'NO' 'NULL' 'ZERO' _ ERR = INTEGER Số hiệu lệnh xử lý lỗi Số hiệu lệnh xử lý lỗi EXIST = LOGICAL TRUE .FALSE .TRUE .FALSE FORM = CHARACTER FORMATTED = CHARACTER IOSTAT = INTEGER NAME = CHARACTER − NAMED + = LOGICAL _ INQUIRE (FILE = biểu thức ký tự, danh sách định truy vấn) NEXTREC = INTEGER INQUIRE (UNIT = biểu thức nguyên, danh sách định truy vấn) NUMBER + = INTEGER File truy cập trực tiếp thường tạo cách ghi thông tin vào cách tuần tự, với ghi bắt đầu tăng lên lần có ghi viết vào File xử lý theo thứ tự cách thay đổi số hiệu ghi từ đến tổng số tất ghi Tuy nhiên, ưu điểm file trực tiếp thể rõ muốn cập nhật thông tin số ghi file Thay đọc ghi cách tuần tự, tìm ghi mà ta muốn cập nhật, ta cần định số hiệu ghi ghi tự động xử lý Khi cập nhật thơng tin xong, ta ghi thông tin vào ghi Nếu lệnh READ ta định số hiệu ghi mà ghi khơng tồn xảy lỗi Để khôi phục lỗi, định ERR cần phải có mặt lệnh READ Chỉ định truy vấn 'FORMATTED' 'FORMATTED' 'UNFORMATTED' 'UNFORMATTED' 'YES' 'NO' 'UNKNOWN' − Mã lỗi Mã lỗi 11.4 Lệnh truy vấn INQUIRE Lệnh INQUIRE có hai dạng: Lệnh lệnh thực hiện, truy vấn thông tin file hay số hiệu file Bảng 9.1 liệt kê định truy vấn Thí dụ: INQUIRE (FILE = 'TSDATA', SEQUENTIAL = TRALOI) INQUIRE (UNIT = 12, SEQUENTIAL = TRALOI) Số hiệu ghi file truy cập trực tiếp Đơn vị file Số hiệu ghi file truy cập trực tiếp TRUE .FALSE OPEND = LOGICAL TRUE .FALSE RECL = INTEGER Độ dài ghi SEQUENTIAL = CHARACTER UNFORMATTED = CHARACTER Tên file file khơng phải file loại scratch TRUE .FALSE 'YES' 'NO' 'UNKNOWN' 'YES' 'NO' 'UNKNOWN' − Độ dài ghi − − 98 Thí dụ 36: Sự tương tác người dùng chương trình Giả sử chương trình yêu cầu người dùng gõ tên file liệu để mở làm việc chương trình Trường hợp file khơng tồn tại, chương trình kết thúc lỗi thực Nếu ta dùng lệnh INQUIRE, chương trình xác định file có tồn khơng khơng tồn tại, chương trình nhắc người dùng gõ tên file khác Các lệnh sau thực tương tác này: CHARACTER *70 TENFIL, TIT LOGICAL XONG, OK, CO XONG = FALSE OK = FALSE PRINT *, 'NHAP TEN FILE' READ *, TENFIL IF (.NOT XONG) THEN INQUIRE (FILE = TENFIL, EXIST = CO) IF (.NOT CO) THEN PRINT *, 'FILE KHONG TON TAI' PRINT *, 'NHAP TEN KHAC HOAC GO THOI' READ *, TENFIL IF (TENFIL EQ 'THOI') XONG = TRUE ELSE XONG = TRUE OK = TRUE ENDIF GOTO ENDIF IF (OK) THEN OPEN (UNIT = 10, FILE = TENFIL, STATUS = 'OLD') END IF END Bài tập Viết chương trình đếm in số ghi file DATA1 DATA2 Giả sử file file ghi chứa hai giá trị thực với format sau: FORMAT (F6.2, 1X, F6.2) Nếu lỗi xảy mở file, in thông báo lỗi thay in số ghi File TEM60.JAN lưu trường ba chiều nhiệt độ nước biển Đông tháng Giêng độ phân giải 1o kinh vĩ có quy cách ghi sau: Dòng gồm số nguyên cách kinh độ mép trái, kinh độ mép phải, vĩ độ mép trên, vĩ độ mép miền khơng gian số tầng sâu Dịng thứ hai ghi độ sâu (số nguyên) tầng Sau bảng giá trị nhiệt độ (số thực cách nhau) với số cột số điểm nút theo kinh tuyến, số dòng số điểm nút theo vĩ tuyến Các tầng ghi hoàn toàn tương tự Giá trị nhiệt độ khuyết rơi vào vùng đất liền ghi số 99.99 Viết chương trình tính giá trị nhiệt độ nước trung bình tồn biển Đơng Với file số liệu tập 2, viết chương trình đọc thơng tin file tạo cho điểm nút thuộc miền tính file đặt tên theo quy tắc sau: bắt đầu chữ K, sau đến chữ số kinh độ điểm, sau chữ V chữ số vĩ độ điểm, file ‘.BLN’ Trong file có 99 quy cách ghi sau, dịng có số nguyên số tầng quan trắc thực tế điểm, dấu cách chữ số Sau liệt kê liên tiếp giá trị nhiệt độ tầng sâu ứng với nhiệt độ với dấu ngược lại dạng phương trình hồi quy với tên yếu tố ghi file Giả sử có file liệu lưu giá trị quan trắc số yếu tố khí tượng thủy văn trạm hải văn, có quy cách ghi sau: File HESOA.MAT lưu giá trị hệ số hệ phương trình đại số tuyến tính theo quy cách sau: Dịng thứ có số ngun số phương trình Các dòng tiếp sau ghi giá trị hệ số, kể hệ số tự ứng với phương trình, phương trình dịng, hệ số ghi với định dạng F8.4, thí dụ: - Dịng thứ có hai số nguyên cách dấu trống - Dòng thứ hai ghi tên trạm (khơng q 100 ký tự) - Dịng thứ ba ghi hai số ngun số dịng liệu (khơng q 5000) số yếu tố quan trắc (không 12) cách dấu trống Gợi ý: Xem phương pháp thiết lập phương trình hồi quy tuyến tính nhiều biến phụ lục 4 1.1161 0.1254 0.1397 0.1490 1.5471 - Dòng thứ tư ghi tên yếu tố quan trắc, tên với định dạng A8 0.1582 1.1675 0.1768 0.1871 1.6471 - Dòng thứ ghi đơn vị đo yếu tố quan trắc, với định dạng A8 0.2368 0.2471 0.2568 1.2671 1.8471 - Mỗi dòng dòng tiếp sau ghi giá trị quan trắc yếu tố, giá trị ghi với định dạng F8.2 Viết chương trình cho phép nhập tên file từ bàn phím, đọc liệu lập phương trình hồi quy biến thứ (biến phụ thuộc) biến thứ hai (biến độc lập) In kết hình theo quy cách sau: giả sử tên biến thứ Tw, biến thứ hai Ta, phương trình phải viết có dạng: Tw = 0.915 Ta + 1.237 (Ghi chú: xem công thức phụ lục 3) 0.1968 0.2071 1.2168 0.2271 1.7471 Viết chương trình đọc file giải hệ phương trình phương pháp loại biến Gauss Kết in hình gồm: viết lại hệ phương trình, sau cách dịng ghi nghiệm dịng cuối cùng, thí dụ, ứng với ma trận hệ số phải có kết sau: 1.1161X1 + 0.1254X2 + 0.1397X3 + 0.1490X4 = 1.5471 0.1582X1 + 1.1675X2 + 0.1768X3 + 0.1871X4 = 1.6471 0.1968X1 + 0.2071X2 + 1.2168X3 + 0.2271X4 = 1.7471 0.2368X1 + 0.2471X2 + 0.2568X3 + 1.2671X4 = 1.8471 Cải tiến chương trình tập phép người dùng tuỳ ý định biến phụ thuộc biến độc lập từ bàn phím 1.04059 0.98697 0.93505 0.88130 Gợi ý: Xem phương pháp giải hệ phương trình đại số tuyến tính theo sơ đồ loại biến Gauss phụ lục Với file liệu mô tả tập 4, lập chương trình tính phương trình hồi quy nhiều biến yếu tố quan trắc thứ (biến phụ thuộc) yếu tố quan trắc 2, 3, 6, 8, In kết lên hình File HESOAB.MAT lưu giá trị hệ số hệ phương trình đại số tuyến tính theo quy cách mô tả tập Giả sử 100 ma trận a ij = a ji hệ số A = [ j ] ma trận đối xứng, tức (i, j = 1, 2, , n) Hãy viết chương trình đọc file hệ số giải hệ phương trình In kết theo quy cách tập Gợi ý: Trường hợp ma trận hệ số A ma trận đối xứng, nên dùng phương pháp bậc hai để giải hệ phương trình đại số tuyến tính (phụ lục 2) Tài liệu tham khảo Etter D M Structured Fortran 77 for engineers and scientists Fourth edition The Benjamin/Cummings Publishing Co., Inc California, 1993, 616 p Koffman Elliot B., Friedman Frank L Fortran with engineering applications Fifth Edition Addison-Wesley Publishing Co Massachusetts- , 1993, 664 p N V Kopchenova and I.A Maron Computational Mathematics Worked examples and problems with elements of theory Mir Publishers, Moscow, 1975 Васильевич О Б Современный Фортран “Диалог-Мифи” Москва, 1998, 397 c Васильевич О Б Фортран для профессионалов: Математическая библиотека IMSL “Диалог -Мифи”, Москва, 2000, 448 c Тюрин Ю Н., Макаров А А Статистический анализ данных на компьютере “ИНФРА” - Москва, 1998, 528 с 101 Tên hàm Phụ lục 1: Bảng hàm chuẩn FORTRAN Trong bảng hàm chuẩn đây, tên đối số kiểu liệu theo quy ước sau: Đối số X CHX DX CX LX IX GX → → → → → → → Tên hàm Kiểu liệu thực xâu ký tự độ xác đôi phức lôgic nguyên tự sinh (in đậm, nghiêng) Kiểu hàm Định nghĩa Kiểu hàm Định nghĩa X EXP (X) Thực e DEXP (DX) Độ xác đơi e DX CEXP (CX) Phức e CX LOG (GX) Kiểu theo GX log e GX ALOG (X) Thực log e X DOG (GX) Độ xác đơi log e DX CLOG (CX) Phức log e CX LOG10 (GX) Kiểu theo GX log10 GX ALOG10 (X) Thực log10 X DLOG10 (DX) Độ xác đơi log10 DX REA L(GX) FLOAT (IX) SNGL (DX) Thực Thực Thực Chuyển GX thành giá trị thực Chuyển IX thành giá trị thực Chuyển DX thành độ xác đơn ANINT(X) Thực Làm trịn tới số thực gần DNINT(DX) Độ xác đơi Làm trịn tới số thực gần NINT(X) Nguyên Làm tròn tới số nguyên gần IDNINT (DX) Nguyên Làm tròn tới số nguyên gần AINT (X) Thực Cắt phần thập phân X DINT (DX) Độ xác đơi Cắt phần thập phân DX SQRT(X) Thực X DSQRT (DX) Độ xác đơi DX INT (GX) Ngun Cắt GX thành số nguyên CSQRT (CX) Phức CX IFIX (X) Nguyên Cắt X thành số nguyên IDINT (DX) Nguyên Cắt DX thành số nguyên ABS (X) Thực X IABS (IX) Nguyên IX SIGN (X, Y) Thực Gán dấu Y cho X DABS (DX) Độ xác đơi DX ISIGN (IX, IY) Nguyên Gán dấu IY cho IX CABS (CX) Phức CX DSIGN (DX, DY) Độ xác đơi Gán dấu DY cho DX 102 Tên hàm Kiểu hàm Định nghĩa MOD (IX,IY) Nguyên Lấy số dư phép chia IX / IY AMOD (X,Y) Thực Lấy số dư phép chia X / Y DMOD (DX,DY) Độ xác đôi Lấy số dư phép chia DX / DY DIM (X,Y) Thực X − (cực tiểu X Y) IDIM (IX,IY) Nguyên DDIM (DX,DY) Tên hàm Kiểu hàm Định nghĩa ASIN (X) Thực arcsin X DASIN (X) Độ xác đơi arcsin DX IX − (cực tiểu IX IY) ACOS (X) Thực arccos X Độ xác đôi DX − (cực tiểu DX DY) DACOS (DX) Độ xác đơi arccos DX MAX (GX,GY, ) Kiểu theo GX, GY, Cực đại (GX, GY, ) ATAN (X) Thực arctgX MAX0 (IX,IY, ) Nguyên Cực đại (IX, IY, ) DATAN (DX) Độ xác đôi arctgDX AMAX1 (X,Y, ) Thực Cực đại (X, Y, ) DMAX1 (DX,DY, ) Độ xác đơi Cực đại (DX, DY, ) ATAN2 (X,Y) Thực arctg ( X / Y ) AMAX0 (IX,IY, ) Thực Thực, cực đại (IX, IY, ) DATAN2 (DX,DY) Độ xác đôi arctg ( DX / DY ) MAX1 (X,Y, ) Nguyên Cực đại (X, Y, ) SINH (X) Thực shX MIN (GX,GY, ) Kiểu theo GX,GY, Cực tiểu (GX, GY, ) DSINH (DX) Độ xác đôi shDX MIN0 (IX,IY, ) Nguyên Cực tiểu (IX, IY, ) COSH (X) Thực AMIN1 (X,Y, ) Thực Cực tiểu (X, Y, ) chX DMIN1 (DX,DY, ) Độ xác đơi Cực tiểu (DX, DY, ) DCOSH (DX) Độ xác đơi chDX AMIN0 (IX,IY, ) Thực Cực tiểu (IX, IY, ) TANH (X) Thực th X MIN1 (X,Y, ) Nguyên Cực tiểu (X, Y, ) DTANH (DX) Độ xác đơi thDX SIN (X) Thực sin X (X - rađian) DPROD (X, Y) Độ xác đơi Tích X Y DBLE (X) Độ xác đơi Chuyển X thành độ xác đôi CMPLX (X) Phức CMPLX (X, Y) Phức AIMAG (CX) Thực Phần ảo CX DSIN (DX) Độ xác đôi sin DX (DX - rađian) CSIN (CX) Phức sin CX COS (X) Thực cos X (X - rađian) DCOS (DX) Độ xác đơi cos DX (DX - rađian) REAL (CX) Thực Phần thực CX CCOS (CX) Phức cos CX CONJG (CX) Phức Liên hợp CX, a − bi TAN (X) Thực tgX (X - rađian) LEN (CHX) Nguyên Độ dài xâu ký tự CHX tgDX (DX - rađian) INDEX (CHX, CHY) Nguyên Vị trí xâu CHY xâu CHX DTAN (DX) Độ xác đôi X + 0i X + Yi 103 Tên hàm Kiểu hàm Định nghĩa CHAR (IX) Ký tự Ký tự ứng với vị trị thứ IX chuỗi so sánh ICHAR (CHX) Nguyên Vị trí ký tự CHX chuỗi so sánh LGE (CHX, CHY) Lôgic Giá trị biểu thức (CHX lớn CHY từ vựng) LGT (CHX, CHY) Lôgic Giá trị biểu thức (CHX lớn CHY từ vựng) LLE (CHX, CHY) Lôgic Giá trị biểu thức (CHX nhỏ CHY từ vựng) LLT (CHX, CHY) Lôgic Giá trị biểu thức (CHX nhỏ CHY từ vựng) Phụ lục 2: Phương pháp Gauss giải hệ phương trình đại số tuyến tính a11x1 + a12 x2 + + a1n xn = b1 a21x1 an1x1 + a22 x2 an2 x2 + + a2n xn ann xn = b2 bn + + hay Ax=b ⎛ ⎜ ⎜ A = aij = ⎜ ⎜ ⎜ ⎝ ( ) a11 a21 a12 a22 an1 an2 + = ⎫ ⎪ ⎪ ⎬ ⎪ ⎪⎭ (*) ⎛ a1n ⎞ ⎛ b1 ⎞ ⎜ ⎟ ⎜ ⎟ a2 n ⎟ ⎜ b2 ⎟ x = ⎜ b=⎜ ⎜ ⎟ ; ⎟ ; ⎜ ⎟ ⎜ ⎟ ⎜ ⎜ b ⎟ ann ⎟⎠ ⎝ ⎝ n ⎠ x1 ⎞ ⎟ x2 ⎟ ⎟ ⎟ xn ⎟⎠ Nếu ma trận A không suy biến, tức det A = a1n a2 n a11 a21 a12 a22 an1 an ann ≠ 104 hệ (*) có nghiệm Có thể tính nghiệm theo cơng thức Cramer xi = det Ai , det A Ai − ma trận A với cột i bị thay cột số hạng tự b Phương pháp loại biến Gauss giải hệ phương trình đại số tuyến tính: (3) aij(1) = aij − ai1b1 j (i = 2, 3, 4; j = 2, 3, 4, 5) (4) (1) Bây chia phương trình thứ hệ (3) cho phần tử a22 ta có: Thí dụ cho hệ a11 x1 + a12 x2 + a13 x3 + a14 x4 = a15 ⎫ ⎪ a21 x1 + a22 x2 + a23 x3 + a24 x4 = a25 ⎪ ⎬ a31 x1 + a32 x2 + a33 x3 + a34 x4 = a35 ⎪ a41 x1 + a42 x2 + a43 x3 + a44 x4 = a45 ⎪⎭ (1) (1) (1) x2 + b23 x3 + b24 x4 = b25 , (5) (1) b2(1j) Giả sử phần tử a11 ≠ Chia phương trình thứ cho a11 , ta có = a2(1j) (1) a22 ( j = 3, , 5) Bằng cách tương tự loại x1 , ta loại x2 khỏi phương trình thứ ba thứ tư, ta có: x1 + b12 x2 + b13 x3 + b14 x4 = b15 , với (1) (1) (1) (1) ⎫ a22 x2 + a23 x3 + a24 x4 = a25 ⎪ (1) (1) (1) (1) a32 x2 + a33 x3 + a34 x4 = a35 ⎬ ⎪ (1) (1) (1) (1) a42 x2 + a43 x3 + a44 x4 = a45 ⎭ b1 j = a1 j a11 ( 2) ( 2) ( 2) ⎫ a33 x3 + a34 x4 = a35 ⎪ ⎬ ( 2) ( 2) ( 2) ⎪⎭ a43 x3 + a44 x4 = a45 (2) ( j = 2, 3, 4, 5) Dùng phương trình (2) để loại ẩn x1 khỏi phương trình số 2, 3, hệ (1): Muốn vậy, nhân phương trình (2) với a 21 , a31 , a 41 lấy phương trình số 2, 3, trừ tích tương ứng vừa nhận được, ta có ba phương trình: (6) aij( 2) = aij(1) − ai(12) b2(1j) (i = 3, 4; j = 3, 4, 5) (7) Chia phương trình thứ hệ (6) cho phần tử a33( ) , ta có: ( 2) ( 2) x3 + b34 x4 = b35 , (8) 105 b3( 2j) = a3( 2j) ( j = 4, 5) ( 2) a33 Sau nhờ (8) ta loại x khỏi phương trình thứ hai hệ (6), nhận được: ( 3) ( 3) a44 x4 = a45 Nếu phần tử hệ khơng cần thay đổi chỗ phương trình hệ tương ứng để làm cho phần tử khác khơng Số phép tính số học N cần thực phương pháp Gauss 2n (n + 1) (n + 2) N= + n (n − 1) Vậy số phép tính số học xấp xỉ tỷ lệ với luỹ thừa bậc ba số ẩn ( 2) ( 2) a4(3j) = a4( 2j) − a43 b3 j ( j = 4, 5) (9) Như ta đưa hệ (1) hệ tương đương có ma trận hệ số ma trận tam giác x1 + b12 x + b13 x3 + b14 x = b15 ⎫ ⎪ x + b23(1) x3 + b24(1) x = b25(1) ⎪ ⎬ x3 + b34( ) x = b35( ) ⎪ ( 3) (3) ⎪ a 44 x = a 45 ⎭ Phương pháp bậc giải hệ phương trình đại số tuyến tính trường hợp ma trận A ma trận đối xứng Phương pháp thuận lợi trường hợp hệ phương trình (12) Ax=b (10) có ma trận A ma trận đối xứng, điều thường gặp toán kỹ thuật Theo phương pháp ma trận A biểu diễn thành tích hai ma trận tam giác chuyển vị A = T′T (13) Từ (10) xác định ẩn x4 = a x3 = b x2 = b (1) 25 (2) 35 − x4b (1) 24 (3) 45 a − x4b (3) 44 (2) 34 − x3b (1) 23 x1 = b15 − x b14 − x b13 − x b12 ⎫ ⎪ ⎪ ⎬ ⎪ ⎪ ⎭ (11) Vậy thủ tục giải hệ phương trình đại số tuyến tính bậc quy hai trình: ⎛ t11 ⎜ ⎜0 T =⎜ ⎜ ⎜0 ⎝ t12 t22 t1n ⎞ ⎟ t2 n ⎟ , ⎟ ⎟ tnn ⎟⎠ ⎛ t11 ⎜ ⎜t T ′ = ⎜ 12 ⎜ ⎜t ⎝ 1n t22 t2 n ⎞ ⎟ ⎟ ⎟ ⎟ tnn ⎟⎠ Nhân hai ma trận T ′ T cho tích ma trận A , ta suy cá cơng thức tính phần tử tij : a) Quá trình thuận: đưa hệ (1) dạng tam giác (10); b) Quá trình nghịch: tìm ẩn theo cơng thức (11) 106 t11 = a11 , t ii = a ii − t ij = a ij − a1 j t1 j = t11 i −1 ∑ t ki2 (1 < i ≤ n ) (14) k =1 Vậy q trình thuận gồm tính phần tử ma trận T theo công thức (14) Q trình nghịch tính ma trận cột y x theo công thức (18), (19) i −1 ∑ t ki t kj k =1 (i < j ) t ii t ij = ( j > 1) i> j Như ta thay hệ (12) hai hệ tương đương T' y = b, 15) Tx=y hay t11 y1 = b1 ⎫ ⎪ ⎪ ⎬ ⎪ ⎪⎭ (16) t11 x1 + t12 x2 + + t1n xn = y1 ⎫ ⎪ t22 x2 + + t2 n xn = y2 ⎪ ⎬ ⎪ tnn xn = yn ⎪⎭ (17) t12 y1 + t22 y2 = b2 t1n y1 + t2 n y2 + + tnn yn = bn Từ suy cơng thức tính: i−1 y1 = b1 , t11 y xn = n , tnn yi = xi = bi − ∑ tki yk k=1 tii yi − (i > 1) (18) (i < n) (19) n ∑ tik xk k=i+1 tii 107 ... 1.040 59 0 .98 697 0 .93 505 0.88130 Gợi ý: Xem phương pháp giải hệ phương trình đại số tuyến tính theo sơ đồ loại biến Gauss phụ lục Với file liệu mô tả tập 4, lập chương trình tính phương trình. .. phương trình hồi quy với tên yếu tố ghi file Giả sử có file liệu lưu giá trị quan trắc số yếu tố khí tượng thủy văn trạm hải văn, có quy cách ghi sau: File HESOA.MAT lưu giá trị hệ số hệ phương trình. .. Giá trị nhiệt độ khuyết rơi vào vùng đất liền ghi số 99 .99 Viết chương trình tính giá trị nhiệt độ nước trung bình tồn biển Đông Với file số liệu tập 2, viết chương trình đọc thơng tin file tạo

Ngày đăng: 11/05/2021, 04:00

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

TÀI LIỆU LIÊN QUAN

w