Tải bản đầy đủ (.docx) (48 trang)

Giải ngân hàng, bài tập giáo trình mô phỏng hệ thống truyền thông

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.29 MB, 48 trang )

ĐỀ CƯƠNG ÔN TẬP MÔ
PHỎNG HT TRUYỀN
THÔNG
I. CÁC HOẠT ĐỘNG PHÉP TÍNH TRONG MATLAB:................3
1. Lý thuyết:.......................................................................3
a. Phép tính vectơ và ma trận: tạo ma trận, xóa hàng
xóa cột trong ma trận, tạo vector từ ma trận, thay đổi
giá trị trong ma trận.........................................................3
b. Phép tính tốn học: các phép tính cộng ma trận, trừ
ma trận, nhân ma trận, nhân phần tử trong ma trận, chia
trái và chia phải ma trận..................................................3
c. Phép tính logic: các phép cơ bản: AND (&&), OR(||),
NOT (~), XOR và phép so sánh COMP..............................3
2. Giải bài tập giáo trình....................................................6
II. CÁCH VẼ ĐỒ THỊ 2D TRONG MATLAB.............................8
1. Lí thuyết:........................................................................8
2. Một số chương trình vẽ đơn giản.................................10
3. Giải bài tập giáo trình:.................................................15
III.
CÁCH VIẾT MỘT CHƯƠNG TRÌNH MATLAB.................18
1. Các thủ tục:..................................................................18
2. Một vài chương trình đơn giản như sau:......................18
3. Giải bài tập giáo trình..................................................18
IV. CÁCH VIẾT MỘT FUNCTION TRONG MATLAB................20
V. CÁC GIẢI THUẬT TÍNH TỐN BẰNG PHƯƠNG PHÁP SỐ
TRONG MATLAB..................................................................21
1. Tìm nghiệm bằng phương pháp chia nửa (bisection). .21
2. Tính tích phân bằng phương pháp điểm giữa..............23
3. Giải phương trình vi phân bậc 1, sử dụng phương pháp
Euler.................................................................................24
1. Lý thuyết:.....................................................................27


2. Các ví dụ về tạo chuỗi xung:.......................................27
VI. CÁCH TẠO VÀ BIỂU DIỄN DẠNG SÓNG VÀ PHỔ TRONG
MATLAB...............................................................................29
1. Tạo và biểu diễn dạng sóng của tín hiệu(xem phần 8,
điều chế tín hiệu tương tự và điều chế số).......................29
P.To1Lã Quang


2. Tạo và biểu diễn dạng phổ (tính tốn PSD của một tín
hiệu).................................................................................29
VII. CÁCH ĐIỀU CHẾ TÍN HIỆU SỬ DỤNG MATLAB............30
1. Điều chế tín hiệu tương tự(điều chế AM, PM, FM là chủ
yếu)..................................................................................31
2. Điều chế tín hiệu số (Điều chế ASK, PSK, QAM, FSK)...33
VIII. KÊNH AWGN: TẠO NHIỄU VÀ CỘNG VÀO TÍN HIỆU
(THỰC HOẶC PHỨC)...........................................................36
1. Lý thuyết:.....................................................................36
PHỤ LỤC A: GIẢI ĐỀ THI D09..............................................37
PHỤ LỤC B: CHỮA BÀI THỰC HÀNH....................................43
2. Bài thực hành 2:...........................................................46

P.To2Lã Quang


CÁC HOẠT ĐỘNG PHÉP TÍNH TRONG MATLAB:
1.Lý thuyết:
a.Phép tính vectơ và ma trận: tạo ma trận, xóa hàng
xóa cột trong ma trận, tạo vector từ ma trận, thay đổi
giá trị trong ma trận
Ví dụ đoạn chương trình đơn giản như sau:

% bai tap 1, 2 chuong 2(slide 33)
M=[1 0 0;0 j 1;j j+1 -3]; % tao ma tran M
V=[M M;M M]; %tao ma tran V tu ma tran M
V(:,3)=[];% xóa c?t 3 cua ma tran
V(2,:)=[];% xoa hang 2 cua ma tran
Y=V';% ma tran Y la ma tran chuyen vi cua ma tran V
Z=V(4,:); % tao vecto Z tu hang 4 cua ma tran V
V(4,2)=j+5; % doi gia tri V(4,2) thanh j+5
b. Phép tính tốn học: các phép tính cộng ma trận, trừ
ma trận, nhân ma trận, nhân phần tử trong ma trận,
chia trái và chia phải ma trận
Chú ý khi thực hiện các phép tính ma trận phải chú ý đến
kích thước ma trận
Ví dụ đoạn chương trình đơn giản sau:
M=[1 2 3;4 -1 -2]; % tao ma tran M
N=[1 -1 0; 2 1 -1]; % tao ma tran N
Tong=M+N; % thuc hien cong hai ma tran cung cap
Hieu=M-N;% thuc hien tru hai ma tran cung cap
P=M*N'; % thuc hien nhan ma tran M voi nghich dao cua
N
Q=M.*N; % nhan tung phan tu tuong ung cua M voi N
M(3,:)=[1 2 3]; % tao hang 3 cua ma tran M
N(3,:)=[2 -1 1]; % tao hang 3 cua ma tran N
CT=M/N; % chia trai M/N=M*N^-1
CP=M\N; %chia phai M\N= M^-1*N
c. Phép tính logic: các phép cơ bản: AND (&&), OR(||),
NOT (~), XOR và phép so sánh COMP
Ví dụ đoạn chương trình đơn giản sau:
x=[1 -3 3 14 -10 12]; %Tao vecto x
y=[12 6 0 -1 -10 2]; %Tao vecto y

P.To3Lã Quang


AND=x&y; %Hop cua x và y
OR=x|y; % phep OR
NOT=~x;% phep NOT, dao cua x
% phep so sanh
comp1=x>y; %So sanh x lon hon y
comp2=xcomp3=x==y; %So sanh x bang y
z=x(comp3);% loc gia tri cua x thoa man phep logic
comp3
Một số hàm và phép toán thường sử dụng với ma trận

P.To4Lã Quang


P.To5Lã Quang


Các lệnh và hàm:
Det
Định thức của ma trận
Diag
Tạo ma trận đường chéo
Eye
Ma trận đơn vị
Inv
Nghịch đảo của 1 ma trận
Length Chiều dài của vector

Max
Hàm giá trị lớn nhất
Min
Hàm giá trị nhỏ nhất
Ones
Ma trận toàn 1
Rand
Ma trận ngẫu nhiên với các thành phần phân
bố đều trên (0,1)
randn
Ma trận ngãu nhiên với các thành phần phân
bố chuẩn
Size
Kích thước của ma trận
Rank
Hạng của ma trận
Sum
Hàm tính tổng
Zeros
Ma trận tồn zero
2.Giải bài tập giáo trình
% bai tap 3 chuong 2(slide 38)
% tinh tich 2 ma tran
A=[-1 3.5 2; 0 1 -1.3; 1.1 2 1.9];% tao ma tran A
B=[1 0 -1; -1.5 1.5 -3;1 1 1]; % tao ma tran B
C=A*B;% thuc hien nhan 2 ma tran A*B
P.To6Lã Quang


D=B*A;% thuc hien nhan 2 ma tran B*A

E=A.*B;% thuc hien nhan tung phan tu
% trong hai ma tran A va B
% bai tap 4, chuong 2, trang 38
A=[-1 3.5 2;0 1 -1.3;1.1 2 1.9];%tao ma tran A
I=eye(3,3);
%tao ma tran don vi kich
thuoc 3x3
C=A.*I
%bien doi ma tran A thanh ma
tran C
%chua cac gia tri duong cheo cua A,
%cac gia tri con lai bang 0
% bai tap 5, chuong 2, trang 38
M=[1 1 1;1 0 1;-1 0 0] % tao ma tran M
I=eye(3,3); %tao ma tran don vi kich thuoc 3x3
InvM=I/M; % ma tran nghich dao cua ma tran M
% bai tap 6, chuong 2, trang 42
A=[-1 3.5 2; 0 1 -1.3; 1.1 2 1.9];% tao ma tran A
B=[1 0 -1; -1.5 1.5 -3;1 1 1]; % tao ma tran
AND=and(A,B)
% ma tran ma neu gia tri tuong ung
% cua A va B deu khac 0 thi hien gia tri 1
OR=or(A,B);
% ma tran ma neu hoac gia tri tuong
ung
% cua A hoac cua B khac 0 thi hien gia tri 1
% bai tap 7, chuong 2, trang 42
x=[1 -3 3 14 -10 12];% tao vector x
y=[12 6 0 -1 -10 2]; % tao vector y
AND=and (x,y); % quan he x&&y, tra ve gia tri 0,1

OR=or(x,y); % quan he x|y, tra ve gia tri 0,1
COMPARE1=x>y; % quan he x>y, tra ve gia tri 1 neu
x>y
COMPARE2=xxCOMPARE3=x==y;% quan he x=y, tra ve gia tri 1 neu
x=y
x(COMPARE3); % loc ra gia tri trong x thoa man
COMPARE3
P.To7Lã Quang


% bai tap 8, chuong 2, trang 42
C=[1 2 3 4 10;-22 1 11 -12 4;8 1 6 -11 5;18 1 11 6 4];
% ma tran C
D=(C<=10)&(C>=-10); % ma tran logic ma neu gia tri
tuong ung
% cua C<=10 va >=-10 thi no bang 1
E=C.*D;
% cac gia tri >10,<-10 cua C bang 0
I.

CÁCH VẼ ĐỒ THỊ 2D TRONG MATLAB
1. Lí thuyết:
Sử dụng help graph2d, help graphics
a.Các lệnh vẽ cơ bản trong MATLAB
 Plot: vẽ tuyến tính: khi tạo ra phân bố trục x,
matlab tính tốn các giá trị trục y tương ứng với
các giá trị rời rạc đó, sau đó nối chúng lại với nhau
bằng đường thẳng => x càng được chia nhỏ thì

càng sát với đồ thị đúng
 Semilog:
- Semilogx: tương tự như plot nhưng trục x được tính
theo logarithm cơ số 10.
- Semilogy: tương tự như plot nhưng trục y được tính
theo logarithm cơ số 10.
- Loglog: tương tự như plot nhưng cả trục x và y
được tính theo logarithm cơ số 10.
 Scatter:để vẽ biểu đồ chòm sao
 Stem: vẽ đồ thị lấy mẫu
 Stairs: vẽ đồ thị xung chữ nhật

b.Các kí hiệu màu và kiểu vẽ của đồ thị

Màu

Kiểu vẽ
hiệu
hiệu
r
red
./o
Đánh dấu các điểm bằng
dấu ‘.’/ ‘o’
g
green
*
Đánh dấu các điểm bằng
dấu ‘*’
b

blue
x,+
Đánh dấu các điểm bằng
dấu ‘x’, ’+’
y
yellow Vẽ bằng đường nét liền
P.To8Lã Quang


m
c

Magent -a
Cyan
:

k

Black

P.To9Lã Quang

-.

Vẽ bằng đường nét đứt dài
Vẽ bằng đường nét đứt
ngắn
Vẽ bằng đường nét đứt
chấm gạch



c. Một số lệnh thao tác với đồ thị:
Grid on
Hiển thị lưới ô vuông
Grid of
Không hiển thị lưới ô vuông
Axis[xmin xmax
Giới hạn trục x, y cho đồ thị
ymin ymax]
Box of
Xóa đường viền khung đồ thị
Box on
Hiển thị đường viền khung đồ thị
Xlabel(‘text’)
Nhãn của trục x
Ylabel(‘text’)
Nhãn của trục y
Title(‘text’)
Tựa đề trên đồ thị
Text (x,y,’text’)
Cộng dịng kí tự vào điểm (x,y)
Gtext(‘text)
Cộng dịng kí tự vào vị trí xác định bởi
chuột
Legend(‘fun1’,’fun2’ Cộng vào tên của các hàm
)
Legend of
Xóa tên của các hàm
clf
Xóa cửa sổ hình hiện tại

sublot
Tạo cửa sổ hình con
2. Một số chương trình vẽ đơn giản
Ví dụ 1: sử dụng lệnh plot
% ve do thi 2D voi lenh plot
t=(0:0.01:2);
sinfct=sin(2*pi*5*t);
cosfct=2*cos(2*pi*3*t);
expfct=exp(-2*t);
% ve tren cung mot he truc toa do
figure(1)
plot(t,sinfct,'k-',t,cosfct,'b--',t,expfct,'m.')
xlabel('time/s') % ten truc x
ylabel('Amplitude') % ten truc y
title('vi du ve 2D bang lenh plot') % tieu de cua hinh ve
axis([0, 2, -2.5, 2.5]) % gioi han truc x va truc y
% ve tren 3 truc toa do khac nhau
figure(2)
% ve do thi ham sinfct
subplot(311)
P.To
10Lã Quang


plot(t,sinfct)
xlabel('time/s')
ylabel('Amplitude')
title('do thi ham sinfct')
% ve do thi ham cosfct
subplot(312)

plot(t,cosfct)
xlabel('time/s')
ylabel('Amplitude')
title('do thi ham cosfct')
% ve do thi ham expfct
subplot(313)
plot(t,expfct)
xlabel('time/s')
ylabel('Amplitude')
title('do thi ham expfct')

P.To
11Lã Quang


Chạy chương trình ta thu được figure(1) và figure(2) như
sau:

Figure 1

Figure2
Ví dụ 2: sử dụng lệnh stem
% ve do thi 2D voi lenh stem
t=0:0.05:2;
cosfct=2*cos(2*pi*t);
stem(t,cosfct)
xlabel('time/s')
ylabel('Amplitude')
axis([0, 2, -2.5, 2.5])
box of% bo duong vien khung do thi

P.To
12Lã Quang


Chạy chương trình ta được hình vẽ sau:

Ví dụ 3: sử dụng lệnh stair
% ve do thi 2D voi lenh stairs
t=0:0.05:2;
cosfct=2*cos(2*pi*t);
stairs(t,cosfct)
xlabel('time/s')
ylabel('Amplitude')
axis([0, 2, -2.5, 2.5])
box on% hien thi duong vien khung do thi
Chạy chương trình ta được hình vẽ sau:

Ví dụ 4: sử dụng lệnh scatterplot, eyediagram
P.To
13Lã Quang


% ve do thi 2D voi lenh scatterplot, eyediagram
% chuong trinh dieu che QPSK don gian
M=4; % dieu che 4 muc
x=randint(2000,1,M); % tao 2000 ki hieu ngau nhien
y=pskmod(x,M);% dieu che PSK chuoi ki hieu
ynoisy=awgn(y,20);% truyen tin hieu qua kenh Gauss,
SNR=20
% ve bieu do chom sao

figure(1)
scatterplot(ynoisy,1)
title('bieu do chom sao dieu che QPSK')
% ve mau mat
figure (2)
eyediagram(ynoisy,16)
title('bieu do mau mat dieu che QPSK')
Chạy chương trình, ta được hình vẽ sau:

Figure1

P.To
14Lã Quang


Figure2
3.Giải bài tập giáo trình:
% bai tap 13, trang 53, chuong 2
% written by Vu Thi Thu
w=(0.01:0.01:5); % vector tan so [rad/s]
H1=1./(j*w); % ham truyen dat cua bo tich phan
H2=1./(1+j*w); % ham truyen dat cua phan tu tre
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%
%ve hinh bang lenh plot
figure(1)
subplot(211)
plot(w,abs(H1))% ve H1
title('su dung lenh plot de ve')
legend('bien do cua ham truyen H1')

xlabel('tan so goc w[rad/s]')
ylabel('bien do ham truyen H1')
subplot(212)
plot(w,abs(H2))% ve H2
legend('bien do cua ham truyen H2')
xlabel('tan so goc w[rad/s]')
ylabel('bien do ham truyen H2')
P.To
15Lã Quang


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%
% ve hinh bang lenh semilogx
figure(2)
subplot(211)
semilogx(w,abs(H1))% ve H1
title('su dung lenh semilogx de ve')
legend('bien do cua ham truyen H1')
xlabel('tan so goc')
ylabel('bien do ham truyen H1')
subplot(212)
semilogx(w,abs(H2))
legend('bien do cua ham truyen H2')
xlabel('tan so goc')
ylabel('bien do ham truyen H2')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%
% ve hinh bang lenh semilogy
figure(3)

subplot(211)
semilogy(w,abs(H1))% ve H1
title('su dung lenh semilogy de ve')
legend('bien do cua ham truyen H1')
xlabel('tan so goc')
ylabel('bien do ham truyen H1')
subplot(212)
semilogy(w,abs(H2))
legend('bien do cua ham truyen H2')
xlabel('tan so goc')
ylabel('bien do ham truyen H2')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%
% ve hinh bang lenh loglog
figure(4)
subplot(211)
loglog(w,abs(H1))% ve H1
title('su dung lenh loglog de ve')
legend('bien do cua ham truyen H1')
xlabel('tan so goc')
P.To
16Lã Quang


ylabel('bien do ham truyen H1')
subplot(212)
loglog(w,abs(H2))
legend('bien do cua ham truyen H2')
xlabel('tan so goc')
ylabel('bien do ham truyen H2')

% bai tap 14, trang 53, chuong 2
% written by Vu Thi Thu
w=(0.01:0.01:5); % vector tan so [rad/s]
H1=1./(j*w); % ham truyen dat cua bo tich phan
H2=1./(1+j*w); % ham truyen dat cua phan tu tre
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%
%ve hinh bang lenh plot
% ve bien do va pha cua H1
figure(1)
subplot(211)
plot(w,abs(H1))% ve bien do H1
title('bien do va pha cua H1')
legend('bien do cua ham truyen H1')
xlabel('tan so goc w[rad/s]')
ylabel('bien do ham truyen H1')
subplot(212)
plot(w,angle(H1))% ve pha cua H1
legend('pha cua ham truyen H1')
xlabel('tan so goc w[rad/s]')
ylabel('pha ham truyen H1')
% ve bien do va pha cua H2
figure(2)
subplot(211)
plot(w,abs(H2))% ve bien do H2
title('bien do va pha cua H2')
legend('bien do cua ham truyen H2')
xlabel('tan so goc w[rad/s]')
ylabel('bien do ham truyen H2')
subplot(212)

plot(w,angle(H2))% ve pha cua H2
legend('pha cua ham truyen H2')
P.To
17Lã Quang


xlabel('tan so goc w[rad/s]')
ylabel('pha ham truyen H2')
II. CÁCH VIẾT MỘT CHƯƠNG TRÌNH MATLAB
1.Các thủ tục:
- Cung cấp các tập lệnh được thực hiện trong cửa sổ
lệnh bằng một lệnh đơn giản
- Các chuỗi lệnh được viết bằng Editor và được lưu
trong một m-file với tên sẽ được sử dụng để chạy
trong cửa sổ lệnh
- Sử dụng lệnh help để kiểm tra sự tồn tại của hàm
2.Một vài chương trình đơn giản như sau:
% vi du don gian ve viet mot chuong trinh Matlab
% written by Nguyen Duc Nhan
% PTIT_D10VT
t=(0:0.01:2);
sinfct=sin(2*pi*5*t);
cosfct=2*cos(2*pi*3*t);
expfct=exp(-2*t);
plot(t,[sinfct;cosfct;expfct])
xlabel('time/s')
ylabel('Amplitude')
title('do thi cua 3 tin hieu')
3.Giải bài tập giáo trình
% bai tap 19, chuong 2, trang 65

% written by Vu Thi Thu
r=3;% ban kinh duong tron
anpha=linspace(-2*pi,2*pi,360);% vecto anpha co 360
diem phan
% bo deu tren doan [-2*pi,2*pi]
x=r*cos(anpha);
y=r*sin(anpha);
plot(x,y,'r')
title('duong tron ban kinh bang 3')
axis([-3.5,3.5,-3.5,3.5])
grid on% tao luoi do thi
% tinh chu vi hinh tron
P.To
18Lã Quang


disp('chu vi hinh tron la:')
P=2*pi*r
% tinh dien tich hinh tron
disp('dien tich hinh tron la:')
S=pi*r^2
Chạy chương trình ta thu được kết q hiển thị và hình vẽ
sau:

Hình: vẽ đường trịn bán kính bằng 3
% Bài 20, chuong 2, trang 65
% written by Vu Thi Thu
r = 3; % Bán kính hinh tron
anpha = linspace(-2*pi,2*pi,3600);%bieu dien trong toa
do cuc

x = r*cos(anpha); % Bi?u di?n x trong t?a ?? c?c
y = r*sin(anpha); % Bi?u di?n y trong t?a ?? c?c
P.To
19Lã Quang


plot(x,y)
title('duong tron ban kinh bang 3')
box on% hien thi duong vien khung
grid on% hien thi luoi do thi
axis equal
%tinh dien tich, de sau dau phay 5 chu so
dt = pi*r^2;
sprintf('dien tich hinh tron la: %0.5f',dt)
%tinh chu vi, de sau dau phay 5 chu so
chuvi=2*pi*r;
sprintf('chu vi hinh tron la: %0.5f', chuvi)
III. CÁCH VIẾT MỘT FUNCTION TRONG MATLAB
1.Cấu trúc:
Function [out1, out2,...]=funname(in1, in2,…)
- Out1, out2: các tham số đầu ra
- In1, in2: các tham số đầu vào
- Funname: tên hàm
Note: tên hàm phải trùng với tên m-file chứa hàm
2.Một vài chương trình cơ bản như sau:
function [sinfct, cosfct, expfct]= vidu2(f1, f2, damp)
% Function vidu2
% written by Nguyen Duc Nhan
% call: [sinfct, cosfct, expfct] = vidu2(f1, f2, damp)
% or vidu2(f1, f2, damp)

t=(0:0.01:2);% Tao ra vecto thoi gian
% Tinh toan cac ham
sinfct=sin(2*pi*f1*t); % Tinh cac gia tri ham sin
cosfct=2*cos(2*pi*f2*t); % Tinh cac gia tri ham cos
expfct=exp(-damp*t);
% Tinh cac gia tri ham exp
plot(t,[sinfct;cosfct; expfct])
xlabel ('time / s')
ylabel('Amplitude')
title('three gorgeous signals')

P.To
20Lã Quang


IV.

CÁC GIẢI THUẬT TÍNH TỐN BẰNG PHƯƠNG
PHÁP SỐ TRONG MATLAB
1.Tìm nghiệm bằng phương pháp chia nửa
(bisection)
a.Lý thuyết:Sử dụng câu lệnh while tạo vịng lặp để
đốn nghiệm
b.Giải bài tập giáo trình
% bai 21 chuong 2, trang 72
% written by Vu Thi Thu
a=input('a='); % nhap vao gia tri a ung v?i x bac 3
b=input('b='); % nhap vao gia tri b ung v?i x bac 2
c=input('c='); % nhap vao gia tri c ung v?i x bac 1
d=input('d='); % nhap vao gia tri d ung voi x bac 0

x1=input('x1='); % nhap khoang du doan x1:x2
x2=input('x2='); % nhap khoang du doan x1:x2
fx1=-inf; % dat gia tri fx1 la am vo cung
fx2=inf; % dat gia tri fx2 la duong vo cung
% hoac co the tinh gia tri fx1, fx2
% sau dong tinh gia tri fx nhu sau:
% fx1=a*x1^3+b*x1^2+c*x1+d;
% fx2=a*x2^3+b*x2^2+c*x2+d;
while x2-x1>0.00001 % lay nghiem dung den 5 so sau
dau phay
x=(x1+x2)/2; % x la diem o giua, la nghiem
fx=a*x^3+b*x^2+c*x+d;
if fx1*fx>0
x1=x;
fx1=fx;
else
x2=x;
fx2=fx;
end
end
x
Lưu đồ thuật toán:
Bắt đầu

P.To
21Lã Quang

Nhập khoảng chứa nghiệm
x1:x2



x2-x1>sai số ɛ

x=(x1+x2)/2;
fx1.fx>0
fx=f(x=x);

Kết thúc
Print x

fx1=f(x=x1);
fx2=f(x=x2);

x1=x1;
x1=x;

x2=x0;

x2=x2;

fx2=fx
0;

fx1=fx;

Chú ý:
 Nếu điều kiện đúng:
 Nếu điều kiện sai:
2.Tính tích phân bằng phương pháp điểm giữa
a.Lí thuyết: Chia nhỏ khoảng tính tích phân thành N

khoảng bằng nhau, độ rộng h. Cộng giá trị diện tích
các phần nhỏ đó lại với nhau. Diện tích mỗi phần Si
P.To
22Lã Quang


được xác định bằng h*Fi(average), ở đ ây, Fi(average)
là giá trị hàm F tính ở điểm chính giữa khoảng nhỏ đó.
Bắt đầu

Nhập
a,b,N
h=(b-

Lưu đồ thuật tốn

i=0;
Sum=0;

i<=N

dun
g

i=i+1

xi=a+(i1/2)*h;
fxi=f(x=xi);
Sum=Sum+


Intergral=Su
m*h;

Kết thúc
Print Intergral

P.To
23Lã Quang

sai


% tinh tich phan bang pp midpoint (diem giua)
% vi du tinh tich phan su dung function
% written by Nguyen Duc Nhan
% fixed by Vu Thi Thu
function[integral]=midpoint(a,b,F,N)
h=(b-a)/N;
% do rong cua tung doan nho
Sum=F(a+h/2);
% tao gia tri ban dau cho Sum
for k=2:N
xi=a+(k-1/2)h; % vecto x=a+h/2:h:b-h/2
Sum=Sum+F(xi);
end;
intergral=Sum*h;
disp('gia tri tich phan la: ')
intergral
b.Giải bài tập giáo trình:
% bai 22, chuong 2, trang 72

% tinh tich phan bang pp midpoint (diem giua)
% written by Vu Thi Thu
a=-1.5;
b=1.5;
N=100;
h=(b-a)/N;
Sum=0; % khoi tao gia tri ban dau cho Sum
for i=1:N
xi=a+(i-1/2)*h;
fxi=4*xi^3*2*exp(xi)*cos(xi);
Sum=Sum+fxi;
end;
intergral=h*Sum;% gia tri tich phan
disp('gia tri tich phan tinh theo pp midpoint la:')
intergral
3.Giải phương trình vi phân bậc 1, sử dụng phương
pháp Euler
a.Lí thuyết
P.To
24Lã Quang


P.To
25Lã Quang


×