Tải bản đầy đủ

Báo cáo phương pháp phần tử hữu hạn

BẢNG PHÂN CÔNG NHIỆM VỤ NHÓM 6
ST
T
1

Họ và tên

Nhiệm vụ

xxx

Lập trình giải bài tập bằng FEM và vẽ đồ thị

2

xxx

Lập trình và công thức Simpson

3


xxx

Lập trình, viết công thức nghiệm yếu,
phương pháp hình thang

4

xxx

Giải PT tìm nghiệm chính xác, lập trình và
phương pháp Gauss-gegendre

5

xxx

Tính ma trận và vectơ phần tử, lập trình

1


MỤC LỤC
Mở đầu.........................................................................................................................3
Chương 1: Giới thiệu Matlab...................................................................................4
1.1. Khái niệm về Matlab.....................................................................................4
1.2. Ứng dụng của MatLab.................................................................................. 5
1.3. Vẽ đồ thị trong Matlab..................................................................................7
Chương 2: Lập trình phần tử hữu hạn.................................................................21
2.1. Tổng quan về lập trình phần tử hữu hạn......................................................21
2.2. Thực hành lập trình......................................................................................21
Kết luận....................................................................................................................36
Tài liệu tham khảo..................................................................................................37

2


MỞ ĐẦU
Ngày nay, nhiều phương pháp tính số đã và đang phát triển mạnh mẽ và trở thành
một công cụ hữu hiệu không thể thiếu được khi giải quyết các bài toán Khoa học –
Kỹ thuật ( phương pháp sai phân hữu hạn, phương pháp phần tử hữu hạn, phương
pháp phần tử biên,…). Trong đó, phương pháp phần tử hữu hạn đã trở thành công
nghệ phần mềm phổ biến và hiệu quả.
Nhiều phần mềm ứng dụng ra đời dựa trên cơ sở phương pháp phần tử hữu hạn
như: SAP, NASTRAN, ABAQUS,SAMCEF, MIDAS, ANSYS … Trong bản báo
cáo này, chúng em sử dụng Matlab - một công cụ phần mềm có lợi thế trong kỹ
thuật lập trình phần tử hữu hạn, đáp ứng được nhiều bài toán.
MATLAB là một môi trường tính toán số và lập trình, được thiết kế bởi công ty
MathWorks.
MATLAB (Matrix Laboratory) vừa là một ngôn ngữ lập trình vừa là một phần
mềm ứng dụng tính toán rất hiệu quả
MATLAB cho phép tính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông
tin, thực hiện thuật toán, tạo các giao diện người dùng và liên kết với những
chương trình máy tính viết trên nhiều ngôn ngữ lập trình khác. MATLAB giúp đơn
giản hóa việc giải quyết các bài toán tính toán kĩ thuật so với các ngôn ngữ lập
trình truyền thống như C, C++, và Fortran.
MATLAB là ngôn ngữ của tính toán khoa học.
Bản báo cáo của nhóm chúng em bao gồm các nội dung: giới thiệu về phần mềm
Matlab, tóm tắt một số lệnh cơ bản trong Matlab nhằm phục vụ cho lập trình phần
tử hữu hạn và thực hiện lập trình phần tử hữu hạn để giải bài toán cụ thể. Do trình
độ và thời gian nghiên cứu còn hạn chế nên những vấn đề mà nhóm tôi trình bày sẽ
không tránh khỏi thiếu sót. Chúng em kính mong nhận được sự chỉ bảo, góp ý của
thầy và các bạn để bài báo cáo được hoàn thiện hơn.

3


CHƯƠNG I: GIỚI THIỆU VỀ MATLAB
1.1.

Lịch sử phát triển Matlab

MATLAB, nguyên sơ được viết bởi ngôn ngữ Fortran, cho đến 1980 nó vẫn
chỉ là một bộ phận được dùng nội bộ của Đại học Stanford.
Năm 1983, Jack Little, một người đã học ở MIT và Stanford, đã viết lại
MATLAB bằng ngôn ngữ C và nó được xây dựng thêm các thư viện phục vụ cho
thiết kế hệ thống điều khiển, hệ thống hộp công cụ (tool box), mô phỏng... Jack
xây dựng MATLAB trở thành mô hình ngôn ngữ lập trình trên cơ sở ma
trận (matrix-based programming language).
Steve Bangert là người đã viết trình thông dịch cho MATLAB.
Năm 1984, Jack Little kết hợp với Moler và Steve Bangert quyết định đưa
MATLAB thành dự án thương mại - công ty The MathWorks ra đời thời gian này.
Phiên bản đầu tiên MATLAB 1.0 ra dời năm 1984 viết bằng C cho MSDOS PC.
Ban đầu Matlab được phát triển để hỗ trợ sinh viên sử dụng hai thư
viện LINPACK và EISPACK dùng cho đại số tuyến tính (viết bằng Fortran) mà
không cần biết lập trình Fortran.
Năm 1986, MATLAB 2 ra đời trong đó hỗ trợ UNIX.
Năm 1987, MATLAB 3 phát hành.
Năm 1990 Simulink 1.0 được phát hành gói chung với MATLAB.
Năm 1992 MATLAB 4 thêm vào hỗ trợ 2-D và 3-D đồ họa màu và các ma
trận truy tìm. Năm này cũng cho phát hành phiên bản MATLAB Student
Edition(MATLAB ấn bản cho học sinh).
Năm 1993 MATLAB cho MS Windows ra đời. Đồng thời công ty này có
trang web là www.mathworks.com
Năm 1995 MATLAB cho Linux ra đời. Trình dịch MATLAB có khả năng
chuyển dịch từ ngôn ngữ MATLAB sang ngôn ngữ C cũng được phát hành trong
dịp này.
Năm 1996 MATLAB 5 bao gồm thêm các kiểu dữ liệu, hình ảnh hóa, bộ
truy sửa lỗi (debugger), và bộ tạo dựng GUI.
Năm 2000 MATLAB 6 cho đổi mới môi trường làm việc MATLAB, thay thế
LINPACK và EISPACK bằng LAPACK và BLAS.[1]
Năm 2002 MATLAB 6.5 phát hành đã cải thiện tốc độ tính toán, sử dụng
4


phương pháp dịch JIT (Just in Time) và tái hỗ trợ MAC.
Năm 2004 MATLAB 7 phát hành, có khả năng chính xác đơn và kiểu
nguyên, hỗ trợ hàm lồng nhau, công cụ vẽ điểm, và có môi trường phân tích số
liệu tương tác.
Đến tháng 12, 2008, phiên bản 7.7 được phát hành với SP3 cải thiện
Simulink cùng với hơn 75 sản phẩm khác.
Năm 2009 cho ra đời 2 phiên bản 7.8 (R2009a) và 7.9 (R2009b).
Năm 2010 phiên bản 7.10 (R2010a) cũng đã được phát hành.
Matlab được dùng rộng rãi trong giáo dục, phổ biến nhất là giải các bài toán
số trị (cả đại số tuyến tính lẫn giải tích) trong nhiều lĩnh vực kĩ thuật.
1.2. Vài nét về thao tác trong Matlab
Các lệnh vẽ đồ họa trong matlab: matlab cung cấp một loạt hàm để vẽ biểu diễn
các vecto số liệu cũng như giải thích và in các đường cong này.
Plot
đồ họa 2-D với số liệu 2 trục vô hướng và tuyến tính
Plot3

đồ họa 3-D với số liệu 2 trục vô hướng và tuyến tính

Polar

đồ họa trong hệ tọa độ cực

Loglog

đồ họa với các trục logarit

Semilogx

đồ họa với các trục x logarit và trục y tuyến tính

Semilogy

đồ họa với trục y logarit và trục x tuyến tính

Plotyy

đồ họa với trục y có nhãn ở bên trái và bên phải

Đặc tả màu và kích thước đường vẽ: Để đặt tả màu và kích thước
đường vẽ ta dùng các tham số sau:
Linewidth:
độ rộng đường thẳng tính bằng điểm.
MarkerEdgeColor: màu của các cạnh của khối đánh dấu
MarkerFaceColor: màu của khối đánh dấu
MarkerSize:

kích thước của khối đánh dấu

Các phép toán logic và quan hệ:

Lệnh

Giải thích
5


==
=
< = (> =)
<(>)
&

Hai biểu thức bằng nhau
Hai biểu thức không bằng nhau
Một biểu thức nhỏ hơn (lớn hơn) hoặc bằng biểu thức khác
Một biểu thức nhỏ hơn (lớn hơn) biểu thức khác
Phép toán logic “and”
Phép toán logic “not”
Phép toán logic “or”

|
Các hàm ma trận:
Lệnh
inv
Det
Rank
Cond
Eye(n)
Trace
Zeros(n,m)
Bảng dấu:
BT
b
g
r
c
m
y
k
w

Giải thích
Ma trận nghịch đảo của 1 ma trận
Định thức của 1 ma trận
Hạng của 1 ma trận
Số điều kiện của 1 ma trận
Ma trận đơn vị cấp n
Tổng các phần tử trên đường chéo chính của ma trận
Ma trận không cỡ n × m

Màu
xanh da trời
xanh lá cây
đỏ

BT
.
O
X

Ðánh dấu
chấm
vòng tròn
dấu x

BT
:
-.

Kiểu nét vẽ
nét liền
nét chấm
nét gạch chấm

xanh da trời
nhạt
đỏ tím
vàng
đen
trắng

+

dấu +

--

nét đứt

*
S
D


dấu hoa thị
hình vuông
hình thoi
tam giác hướng
xuống
tam giác hướng
lên
tam giác hướng


<

6


>

phải
tam giác hướng
trái

P
H

sao năm cánh
sao sáu cánh

1.3. Ứng dụng của Matlab
 Thư viện dựng sẵn to lớn rất phong phú nhiều lĩnh vực



Giải quyết các vấn đề một cách số học



Matlab ứng dụng những thuật toán đã kiểm chứng nên kết quả đáng tin
cậy



Lệnh và hàm sử dụng rất đơn giản



Có thể xây dựng những hàm riêng cho những ứng dụng đặc biệt



Cung cấp thư viện hàm đồ họa rất mạnh



Cung cấp gói ứng dụng Simulink đầy đủ để mô phỏng
Nhìn chung, Matlab là công cụ hữu ích cho các thao tác tính toán như

ma trận, vectơ, tính tích phân, đạo hào, vẽ đồ thị,v.v…. Các thao tác này là
phần cơ bản trong phương pháp phần tử hữu hạn. Sau đây chúng tôi xin giới
thiệu tóm tắt các lệnh cơ bản trong Matlab nhằm phục vụ cho việc lập trình
phần tử hữu hạn.
1.4.

Ma trận trong Matlab.

1.3.1. Các cách nhập ma trận trong Matlab.
Matlab cung cấp một vài phương tiện cho người sử dụng để tạo ra một
ma trận, mỗi phương tiện có những ưu điểm của nó và được sử dụng tùy theo
từng yêu cầu bài toán. Nói chung Matlab cung cấp ba phương tiện.
- Nhập ma trận trực tiếp từ cửa sổ Command Window.
- Nhập ma trận từ m-file.
7


- Nhập ma trận từ những hàm có sẵn trong Matlab.
a. Nhập ma trận trực tiếp từ cửa sổ Command Winodow.
Trong môn học toán cao cấp chúng ta đã biết nhập một ma trận như sau:
2 7 0
A= 4 8 6
Đây là5 một3 ma1trận có số hàng m=3 và số cột n=3. Để nhập ma trận trên
trong Matlab ta nhập trực tiếp như sau:
Từ dòng nhắc lệnh trong cửa sổ command Window ta nhập
>> A=[2,7,0;4,8,6;5,3,1] và nhấn Enter sẽ cho kết quả là:
A= 2
4

7
8

0
6

52
Hoặc >> A = 4

37
8

10
6

5

3

1

2
4

7
8

0
6

5

3

1

A=

Trong trường hợp số phần tử trên một hàng quá dài ta có thể xuống dòng
bằng dấu ba chấm …
Ví dụ:
>> A=[1,2,3,4,...,5,6,7,8,9]
A=1

2

3

4

5

6

7

8

9

b. Nhập ma trận từ m-file.
Ta có thể nhập một ma trận bằng cửa sổ soạn thảo M-file, mở cửa sổ này
bằng cách vào File New M-file. Một cửa số soạn thảo sẽ được thực hiện ra
cho phép bạn soạn thảo dưới dạng text, do là cửa sổ soạn thảo dạng text cho nên
bạn có thể soạn thảo từ file word sau đó sau đó copy vào cửa sổ M-file. Để nhập
8


ma trận ta soạn thảo tương tự như trong cửa sổ command window sau đó lưu
vào file như sau:
Ví dụ: A=[2,7,0;4,8,6;5,3,1]; %không có dấu chấm phẩy sẽ in ra kết quả
Cũng tương tư như trên nếu số phần tử trên một hàng quá nhiều thì ta có
thể xuống dòng
>> A=[1,2,3,4,...5,6,7,8,9];
Sau khi kết thúc soạn thảo ta lưu vào tên_file.
Để thực thi các lệnh nhập trong M-file ta dùng lệnh sau trong command
window như sau:
>> ten_file;
c. Nhập ma trận từ những hàm có sẵn trong Matlab.
Matlab có một thư viện các hàm cho phép tạo ma trận. Sau đây là một số
hàm:
- ones(m,n) tạo ma trận kích thước m x n, với các phần tử đều bằng 1,
ones(m) tạo ma trận vuông cấp m, với các phần tử đều nhau là 1.
- zeros(m,n) tạo ma trận kích thước m x n, với các phần tử đều bằng 0,
zeros(m) tạo ma trận vuông cấp m.
- eyes(m) tạo ma trận đơn vị cấp m.
Ví dụ:
>>ones(2,3)
ans =
1 1 1
1 1
>> eye(2)
ans =
1 0

1

0 1
>> zeros(2,3)
ans =
0 0
0

0

0
0

9


1.3.2. Một số phép tính ma trận.
Kích cỡ ma trận: Kích cỡ của ma trận được kiểm tra với lệnh sau:
>> A=[2,7,0;4,8,6;5,3,1]
A=

2

7

0

4

8

6

5

3

1

>> size(A)
ans =
3 3
Ma trận chuyển vị: Để tìm chuyển vị của ma trận A, chúng ta nhập:
>> A'
ans =
2

4

5

7

8

3

0

6

1

Các hàng và cột: Matlab cung cấp các phép toán về hàng và cột của một ma
trận. Biểu thức sau:
>> A=[2,7,0;4,8,6;5,3,1]
A=

2

7

0

4

8

6

5

3

1

>> A(:,3)
ans =
0
6
1
là cột thứ ba của ma trận A. Thêm nữa, lệnh
10


>> A(1,:)
ans =
2

7

0

là hàng đầu tiên của ma trận A.
Cộng ma trận: Cộng hai ma trận được thực hiện như sau:
>> A=[2,7,0;4,8,6;5,3,1]
A= 2
4

7

0

8

6

5

3

1

>> B=[8,9,6;3,4,5;7,2,0]
B= 8 9 6
3

4

5

7

2

0

>> C=A+B C
= 10 16 6
7 12

11

12 5 1
Hiệu hai ma trận: Hiệu hai ma trận A-B được thực hiện như sau:
>> C=A-B C
=

-6

-2

-6

1

4

1

-2 1 1
Chú ý rằng, C là một ma trận mới, không còn là tổng của hai ma trận A và B
Nhân hai ma trận: Tích hai ma trận A và B được thực hiện như sau:
>> C=A*B C
= 37
98
56

46 47
80

64

59

45

Ma trận nghịch đảo: Ma trận nghịch đảo của ma trận A nhận được bởi
11


lệnh. inv(A)
ans =
-0.0617 -0.0432 0.2593
0.1605

0.0123 -0.0741

-0.1728

0.1790 -0.0741

Định thức của một ma trận: Định thức của ma trận vuông A nhận được bởi lệnh
>> d=det(A)
d = 162
Hạng của một ma trận: trả về hạng của ma trận A, tức là số hàng(số cột) độc lập
tuyến tính.
>> rank(A)
ans =3
Ma trận đơn vị: tạo ra một ma trận đơn vị cấp ba
>> eye(3)
ans =
1 0 0
0

1

0

0

0

1

1.5.

Tính tích phân

Lệnh: int
1.Cú pháp và ý nghĩa:
a) int (S): trả về tích phân không xác định của biểu thức đối với biến đặc trưng
b) int (S, v): trả về tích phân không xác định của biểu thức đối với biến v.
c) int (S, a, b):trả về tích phân xác định từ a đến b của biểu thức đối với biến đặc
trưng
d)int (S, v, a, b): trả về tích phân xác định của biểu thức đối với biến v từ a đến b
Trong đó:
S

: biểu thức lấy tích phân

v

: tên biến lấy tích phân
12


a,b

: khoảng lấy tích phân

2.Mô tả cách thức hoạt động:
Bước 1:Khai báo các biến
Ví dụ: syms x y ;
Bước 2:Định nghĩa hàm S là biểu thức chứa biến
Bước 3:Gõ các cú pháp lệnh
Ví dụ 1:
2

x

2

Tính

4  x 2 dx

0

1.6. Vẽ đồ thị trong Matlab
PLOT
1.Cú pháp :
 Cú pháp: Plot(tên biến, tên hàm)
 Ý nghĩa:

Vẽ đồ thị hàm 1 biến bằng cách nối các điểm dữ liệu.

 Các bước vẽ:
 Bước 1 : Khai báo biến
 Bước 2 : Chia miền đồ thị
13


 Bước 3 : Nhập hàm
 Bước 4 : plot(tên biến, tên hàm)

CHÚ
Ý:
Điểm
dữ liệu
càng
nhiều
(hay
chia
khoảng
càng
nhỏ) thì
hình vẽ
càng
đúng
với đồ thị hàm số liên tục (đường cong trơn liên tục)
 Cách 1 : x=[ xmin: bước : xmax]
 Ví dụ: x=[-10:1:10]
Nghĩa là x chạy từ -10 đến 10 bước 1 (bước nhỏ)
 Cách 2 : linespace(điểm đầu,điểm cuối,số điểm cần vẽ)
 Ví dụ : x=linspace(-10,10,100)
Nghĩa là Chia x từ -10 đến 10 thành 100 điểm

14


 CHÚ Ý: Nếu y là hàm phức thì ta có cú pháp:
Plot(real(y),imag(y))
Với real (y) là phần thực, imag(y) là phần ảo
2. Đặt tiêu đề, tạo nhãn, vẽ lưới cho đồ thị :
Title(‘tên đồ thị’)
: tạo tiêu đề đồ thị
Xlabel(‘nhãn trục x’) : tạo nhãn cho trục x
Ylabel(‘nhãn trục y’) : tạo nhãn cho trục y
Grid on
: Vẽ lưới
Grid off
: tắt lưới
 Ví dụ :
 syms x y;
 x=[-10:1:10]
 y=x.^2
 plot(x,y)
 title('do thi y=x^2')
 xlabel('truc x')
 ylabel('truc y')
 grid on
3. Tùy chỉnh đồ thị
Plot(tên biến,tên hàm,’nét
vẽ_dấu_màu sắc’)
 Ví dụ : Vẽ đồ thị y
nét đứt màu đỏ đánh

bằng
dấu +

Plot(x,y,’--+r’)
 Ví du :
 syms x y;
 x=[-10:1:10]
 y=(x+1).^3
 plot(x,y,'--+r')

15


 CHÚ Ý: Để biết được nhiều dạng hơn ta làm như sau Helpàplotàấn vào chữ
linespec. Tùy chỉnh các đối tượng của đồ thị ngoài cách dùng các lệnh, có
thể tùy chỉnh trực tiếp trên đồ thị bằng cách sau :
 Tại cửa sổ Figure
 Click vào View trên thanh công cụ
 Chọn Property Editor
 Chọn đối tượng cần tùy chỉnh và thay đổi

 Tùy chỉnh độ rộng của nét vẽ
Plot(x,y,’linewidth’,độ rộng)
Plot(tên biến,tên hàm,’nét vẽ_dấu_màu sắc’,’linewidth’, độ rộng)
Độ rộng tính bằng pt
Ví dụ:
syms x y;
x=linspace(-2,2,100)
y=x.^4-2.*(x.^2)+1
plot(x,y,'--+r','linewidth',4)

16


4. Vẽ nhiều đồ thị trên cùng một trục tọa độ
 Cách 1: plot(tên biến, tên hàm 1,tên biến, tên hàm 2)
 Ví dụ:
syms x y y1;
x=linspace(0,2*pi,30)
y=sin(x)
y1=cos(x)
plot(x,y,'r',x,y1,'b')
 Cách 2: dùng lệnh hold on để giữ lại đồ thị trước








Plot(tên biến,tên hàm 1)
Hold on
Plot(tên biến, tên hàm 2)
Ví dụ:
syms x y y1;
x=linspace(0,2*pi,30)
y=sin(x)
y1=cos(x)
plot(x,y,'r')
17


 hold on
 plot(x,y1,'b')

5. Chú thích cho đồ thị
 Legend( ‘tên hàm ‘)


Ý nghĩa :


Dòng ghi chú được đưa vào đồ thị với màu và kiểu của mỗi loại
đường phù hợp với đường đó trên đồ thị.


Hiệu quả tốt trong khi vẽ nhiều đồ thị
Legend(‘tên hàm 1’,’tên hàm 2’,…)









Ví dụ:
syms x y y1;
x=linspace(0,2*pi,30)
y=sin(x)
y1=cos(x)
plot(x,y,'r')
hold on
plot(x,y1,'b')
18


 legend('y=sin(x)','y=cos(x)')

o

6. Vẽ nhiều đồ
thị trong cùng
1 cửa sổ

subpl
t(m,n,p)

Trong đó : m : số hàng
được chia
- n : số cột
được chia
- p : vùng hiển
thị của đồ thị
 Ý nghĩa : Chia đồ thị thành các vùng để vẽ nhiều đồ thị trong cùng 1
cửa sổ
 Ví dụ:
syms x;
x=linspace(-2*pi,2*pi,30)
subplot(2,2,1)
plot(x,sin(x))
title('y=sin(x)')
subplot(2,2,2)
plot(x,cos(x))
title('y=cos(x)')
subplot(2,2,3)
plot(x,tan(x))
title('y=tan(x)')
subplot(2,2,4)
plot(x,cot(x))
title('y=cot(x)')
19


20


CHƯƠNG 2: LẬP TRÌNH PHẦN TỬ HỮU HẠN
2.1.

Tổng quan về lập trình phần tử hữu hạn
Trình bày cách viết các chương trình trong môi trường Matlab để giải

phương trình vi phân tuyến tính cấp hai bằng phương pháp phần tử hữu hạn.Tìm
hiểu các bước cơ bản trong lập trình phần tử hữu hạn, sau đó minh họa các bước
này thông qua một ví dụ cụ thể.
Một cách tổng quát, có thể tóm tắt các bước lập trình giải phương trình vi
phân bằng phương pháp phần tử hữu hạn như sau:
1. Đọc dữ liệu đầu vào và xây dựng cơ sở dữ liệu để lưu thông tin các phần
tử hữu hạn.
2. Tính toán ma trận và vector trên mỗi phần tử hữu hạn.
3. Lắp ghép các ma trận và vector phần tử để nhận được ma trận toàn cục A
và vector toàn cục F.
4. Tích hợp điều kiện biên vào ma trận A và vector F để nhận được hệ
phương trình tuyến tính = �.
5. Giải hệ phương trình tuyến tính để nhận được nghiệm xấp xỉ U
2.2. Thực hành lập trình.
Cho PTVP cấp 2 tuyến tính hệ số không phải là hàm hằng cùng với điều kiện biên
Dirichlet hoặc Newman hoặc điều kiện hỗn hợp.
1. Giải phương trình tìm nghiệm chính xác
2. Viết công thức nghiệm yếu
3. Tính ma trận và vectơ phần tử
4. Lập trình giải bài toán bằng FEM
5. Vẽ đồ thị nghiệm chính xác và các nghiệm gần đúng
(n=3, n=10, n=20, n=30)
Đề toán cần xây dựng là:

1. Giải và tìm nghiệm chính xác:
Ta có:

(*)
21




Xét PTTN:

(1)
với p(x)=


Sử dụng pp biến thiên hằng số ta tiến hành tìm nghiệm riêng của phương trình dưới
dạng:
Ta có hệ:
(2) ⟺
Thế vào (3) ta được:

Ngiệm tổng quát của phương trình đã cho tìm được dưới dạng:
Xử lí điều kiện biên:

2. Công thức nghiệm yếu:
Ta có:
vdx,
⇒,
Giả sử v ta có:
vdx
Lấy TPTP số hạng đầu tiên ta được



22


3. Ma trận và vector phần tử:

a) Tính chính xác ma trận và vec tơ trên phần tử thứ i:
Từ công thức nghiệm yếu ta có được ma trận trên phần tử thứ i là:

• Fi =
Với
= ; = - ; =1+



b) Tính gần đúng ma trận và vec tơ trên phần tử thứ i
Để tính gần đúng ma trận và vecto phần tử ta dùng 3 qui tắc:
 QUY TẮC HÌNH THANG HAI ĐIỂM:

với


Đặt
; ;
Áp dụng quy tắc hình thang hai điểm, ta có:





Vậy:

Đặt
23


Vậy:
 QUY TẮC SIMPSON BA ĐIỂM :

với
Đặt
Áp dụng quy tắc Simpson ba điểm, ta có:

Tính
 =
=
=

=

 , với :
 =
=
=


=

=
=
Vậy :


=
Tính
24


=


=
=


Với:

=
=
=

Vậy :

 QUY TẮC GAUSS GEGENDRE MỘT ĐIỂM:

với


Đặt ;
Áp dụng quy tắc Gauss-Gegendre một điểm, ta có:

+6

với

Vậy: +6
25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×

×