Tải bản đầy đủ - 0 (trang)
B5: GIẢI HỆ PHƯƠNG TRÌNH Ở B4 TA NHẬN ĐƯỢC NGHIỆM XẤP xỉ

B5: GIẢI HỆ PHƯƠNG TRÌNH Ở B4 TA NHẬN ĐƯỢC NGHIỆM XẤP xỉ

Tải bản đầy đủ - 0trang

TÍNH GẦN ĐÚNG

B1: ĐỌC DỮ LIỆU ĐẦU VÀO VÀ CHIA MIỀN BÀI TẬP THÀNH CÁC

PHẦN TỬ HỮU HẠN

function[p e]=gen_mesh(a,b,n)

h=(b-a)/n;

p=a:h:b; %vecto cỡ 1×(n+1) chứa tọa độ

các điểm chia

e=[1:n;2:n+1]; %ma trận cơ 2×n chứa

thơng tin các phần tử hữu hạn

end

B2: TÍNH TỐN MA TRẬN VÀ VECTO CHO MỖI PHẦN TỬ HỮU HẠN

function[Ae1 Fe1]=element1_matrice(x1,x2)

%Ma tran phan tu thu i

Ae1=[(-5*x1^4-x2^4+8*x1^3*x2-4*x1^2*x2^2)./(8*(x2x1)),(x1^4+x2^4)./(8*(x2-x1));(x1^4+x2^4)./(8*(x2-x1)),

(-5*x2^4-x1^4+8*x2^3*x1-4*x2^2*x1^2)./(8*(x2-x1))];

%Vecto phan tu thu i

Fe1=[(x1*x2-x1^2+x2-x1)./2;(x2^2-x1*x2+x2-x1)./2];

end

B3: LẮP GHÉP CÁC MA TRẬN VÀ VECTO PHẦN TỬ ĐỂ NHẬN ĐƯỢC

MA TRẬN A VÀ VECTO F TOÀN CỤC

function [A1 F1]=Global1_matrice(a,b,n)

%Tinh chinh xác ma tran va veto toan cuc

30



% Kich thuoc ma tran e

n=size(e,2);

% Dinh nghia ma tran toan cuc A

A1=zeros(n+1,n+1);

% Dinh nghia vecto toan cuc F

F1=zeros(n+1,1);

for i=1:n

id1=e(1,i;);

id2=e(2,i);

x1=p(id1);

x2=p(id2);

[Ae1 Fe1]=element1_matrice(x1,x2);

%Ghep cac ma tran va vecto phan tu vao ma tran va

vec to toan cuc

A1([id1 id2],[id1 id2])=A1([id1 id2],[id1 id2])

+Ae1;

F1([id1 id2])=F1([id1 id2])+Fe1;

end

B4: TÍCH HỢP ĐIỀU KIỆN BIÊN

function[u1]=Solver1(A1,F1)

N=size(F1,1);

%xu ly dieu kien bien

A1(1,:)=0;

A1(1,1)=1;

F1(1)=0;

A1(N,:)=0;

A1(N,N)=1;

F1(N)=1;

%Giai he phuong trinh tuyen tinh

U1=A1\F1;

End

B5: GIẢI HỆ PHƯƠNG TRÌNH Ở B4 TA NHẬN ĐƯỢC NGHIỆM GẦN ĐÚNG

%(-x^4/4)u''+x^3u'-x^2u=x+1 trong (1,2)

31



%dieu kien bien u(1)=0 va u(2)=1

% sinh mesh

a=1;b=2;

n=input(‘Nhap n = ‘);

[p e]=gen_mesh(a,b,n);

%tinh ma tran va vecto toan cuc

[A1 F1]=Global1_matrice(a,b,n);

%tinh nghiem xap xi

[u1]=Solver1(A1,F1);

%ve do thi

x=[1:1/n:2];

y=(68*x/93+56/(93*x.^4)-2/(3*x)-2/(3*x.^2));

plot(p,u1,'-sb',x,y,'black');

legend('u1','u2');

ĐỒ THỊ SO SÁNH

n=3

n=5



32



KẾT LUẬN

MatLab là chương trình hỗ trợ rất mạnh về Toán, tất cả các phép toán về

Ma trận, vẽ đồ thị, ngoại suy, nội suy ...

+ Được tích hợp sẵn rất nhiều các toolbox và các hàm tính tốn phức tạp, ta chỉ

việc áp dụng

+ Thời gian tính tốn tương đối nhanh (nếu biết tối ưu chương trình: MatLab

tính tốn dựa trên dạng Matrận nên nếu biết đưa các vòng lặp về dạng Matrận sẽ

rút ngắn được nhiều về thời gian tính tốn)

+ Có thể tự học, tự mày mò để áp dụng (MatLab có rất nhiều Toolbox do nó hỗ

trợ cho rất nhiều lĩnh vực khác nhau, tùy theo nhu cầu của bản thân mà ta tìm

hiểu phần nào cần thiết, đừng để bị choáng trước sự "khổng lồ" của MatLab).

+ Muốn thành thạo sử dụng MATLAB bạn cần phải tự mình gõ các câu lệnh và

xem kết quả câu lệnh, mắc lỗi và tìm cách sửa lỗi. Cách học "trial and error"

này theo tôi là cách tốt nhất để học lập trình. Thời gian và cơng sức bạn bỏ ra

bao nhiêu sẽ mang lại cho bạn nhiều kiến thức bấy nhiêu.

+ Tài liệu về MATLAB hiện nay đã có rất nhiều, cả tiếng Việt và tiếng Anh. Để

sử dụng MATLAB, không nhất thiết phải đọc nhiều sách. Bạn hãy chọn một

cuốn bất kì liên quan đến lĩnh vực ứng dụng của MATLAB mà bạn quan tâm để

đọc, làm theo các ví dụ và suy nghĩ. Tài liệu quan trọng nhất chính là Help của

MATLAB, nếu như bạn có khả năng tự học tốt, Help là tài liệu duy nhất bạn cần

và nó đã có sẵn khi cài MATLAB.

Xét cho cùng MATLAB chỉ là công cụ để thực hiện ý tưởng, MATLAB có thể

cho ta kết quả nhưng nó khơng thay ta suy nghĩ, khơng mang cho ta kiến thức.

Nắm chắc kiến thức chun mơn là chìa khóa để sử dụng MATLAB có hiệu

quả.



TÀI LIỆU THAM KHẢO

[1].



Phương pháp phần tử hữu hạn, TS.Phạm Quí Mười (Chủ



biên) – TS. Phan Đức Tuấn, Nhà xuất bản thông tin và truyền thơng.

[2].



Giáo trình phương pháp tính, TS.Nguyễn Phú Vinh



(Chủ biên)

[3].



Một số tài liệu tham khảo khác.



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

B5: GIẢI HỆ PHƯƠNG TRÌNH Ở B4 TA NHẬN ĐƯỢC NGHIỆM XẤP xỉ

Tải bản đầy đủ ngay(0 tr)

×