You are on page 1of 12

Bài tập lớn Matlab

BÀI TẬP LỚN MATLAB


Mã số SV: B1609352
Câu 1:
a.
+ Chương trình:
function d = distance(r,h)
%Chuong trinh tim khoang cach duong chan troi
disp('Chuong trinh tinh khoang cach den duong chan troi'); %in ra man hinh
%nhap ngo vao
r = input('Nhap r = '); %don vi miles
h = input('Nhap h= '); %don vi miles
if( r <0 | h<0) %kiem tra ngo vao bang ham if
disp('Moi ban nhap lai'); %in ra man hinh
d = distance(r,h);
else
d = sqrt((2*r*h) +(h.^2));
disp('Khoang cach den duong chan troi: '); %in ra man hinh

end
end
+Kết quả:

b.
+ Chương trình:
function d= distance(r,h)
%Chuong trinh tim khoang cach duong chan troi
disp ('chuong trinh tim khoang cach duong chan troi'); %in ra man hinh
r1 = input(' Nhap ban kinh cua trai dat :'); %don vi miles r2 = input('
Nhap ban kinh cua sao hoa :'); %don vi miles

Trang 1
Bài tập lớn Matlab

h= 0:1:10000 %do cao ngon doi tu 0 den 10000feet buoc nhay 1

if (r1<0|r2<0) %kiem tra ngo vao bang ham if


disp (' ban can nhap lai'); %in ra man hinh
d= distance(r,h);
else
d1= sqrt ((2*r1*h)+(h.^2));
d2= sqrt ((2*r2*h)+(h.^2));
plot(d1,h,'--g',d2,h,'r'); %ve do thi
grid on; %bat luoi cho do thi
legend('tren Trai Dat','tren Sao Hoa') %chu thich
%ten cua do thi
title(' Do thi bieu dien khoang cach den duong chan troi cua trai dat va sao
hoa'); xlabel('khoang cach toi duong chan troi'); %ten truc x
ylabel('do cao ngon doi'); %ten truc y

end

end

+ Kết quả:

Trang 2
Bài tập lớn Matlab

Câu 2:
a.
+ Chương trình:
function h = height(thoigian)
%Chuong tinh tim do cao cua ten lua.
disp('Chuong trinh tim do cao cua ten lua');
v0 = 193; %don vi m/s
h0 = 552; %don vi m
thoigian = input('Nhap t= '); %don vi giay(s)
if thoigian<0 %kiem tra ngo vao bang ham if
disp('Moi ban nhap lai'); %in ra man hinh
else
h = ((((-9.8)/2)*(thoigian.^2)) + (thoigian*v0) +
h0 ); disp('do cao cua ten lua: '); %in ra man hinh
end
+ Kết quả:

Trang 3
Bài tập lớn Matlab

bc.
+ Chương trình:
function h = height1(thoigian,v,h0)
%Chuong tinh tim do cao cua ten lua
disp('Chuong trinh tim do cao cua ten lua'); %hien thi ra man hinh
%Nhap ngo vao
v0 = input('hay nhap van toc v0= ');
h0 = input('hay nhap do cao h0= ');
thoigian = input('hay nhap thoi gian voi buoc nhay 0.5: t= ');
%Kiem tra ngo vao bang ham if if thoigian<0

disp('Moi ban nhap lai');


h = height1(thoigian,v0,h0);
%Phan tinh toan + tra ket qua thong so ngo
ra else
h = ((((-9.8)/2)*(thoigian.^2)) + (thoigian*v0) + h0 );
p =[-4.9 v0 h0];%Tim nghiem da thuc z =
polyder(p); %dao ham
t = roots(z);
hmax = ((-4.9)*(t^2)) + 193*t + 552;
fprintf('Thoi diem khi ten lua roi tro ve mat dat = %.2f\n',t); %xuat ket
qua fprintf('Do cao h = %.2f\n',h); %xuat ket qua max1=max(hmax);
%gia tri lon nhat cua (hmax)
plot(thoigian,h,'r',t,hmax,'--'); %ham ve do thi voi x la truc thoi gian, y là truc hmax
xlim([0 30]); %do dai truc x tu 0 den 30
ylim([500 3000]); %do dai truc y tu 500 den 3000
title('Do Thi Bieu Dien Do Cao Cua Ten Lua '); %ten cua do thi
xlabel('Thoi Gian (s)'); %ten truc x ylabel('Do Cao(m)'); %ten
truc y
line([10 25],[max1 max1]) %ham ve duong qua diem max
text(t,2550,'Thoi Diem Ten Lua Bat Dau Quay Ve Mat Dat'); %chu thich tai diem
max
end
grid on; %ham bat luoi cho do thi

Trang 4
Bài tập lớn Matlab

end
+ Kết quả:

Câu 3:
+ Chương trình:
function t = Pendulum(g,L,t)
%Chuong trinh ve do thi goc theta theo thoi gian
disp('Chuong trinh ve do thi goc theo ham thoi gian'); %hien thi ra man
hinh g=9.81;
disp('gia toc trong truong g =9.81 (m/s^2)
'); L=0.252;
disp(' do dai thanh L= 0.252(m) '); %in ra man hinh
t = input('hay nhap thoi gian t(s)= '); if t<0 %kiem
tra ngo vao bang ham if
disp('Moi ban nhap lai');

Trang 5
Bài tập lớn Matlab

t = Pendulum(g,L,t);
else
T = (2*pi)*sqrt(L/g);
w = sqrt(g/L);
fprintf('Chu ki cua con lac: %.3f(s)\n ',T); %xuat ket qua
% tai thoi diem t=0 thi
theta=45 alpha = pi/4;
A = alpha*L;
v = (1 - (w^2))*(1 + 3*(w^2));
u1 = (1 - (w^2))*cos(w.*t);
u2 = 2*w*sqrt(1 - (w^2))*sin(w.*t);
sigma_u = u1 + u2; %gan gia tri cho tong u1 va
u2 PT = (A*sigma_u)/v ;
plot(t,PT,'g'); %ve do thi
title('do thi bieu dien goc theta theo thoi gian.'); %ten do
thi xlabel('thoi gian t(s)'); %ten truc x ylabel('goc
theta(radian)'); %ten truc y
end
grid on;
end

+ Kết quả:

Trang 6
Bài tập lớn Matlab

Câu 4:
a.
+ Chương trình:
+ Kết quả:
function I = kirchhoff(R,L,C) %ten chuong trinh
R =160;
L=1.93*10^(-4); %doi ve don vi(H)
C = 2.52*10^(-10); %doi ve don vi(F)
disp('Gia tri hieu dung dien ap: 120 (u)'); %in len man hinh
U=120;
disp('Goc lech cua dien ap: 0'); %in len man
hinh phi = 0;
radian = phi*(pi/180);
phan_thuc = U*cos(radian);
phan_ao = U*sin(radian);
fprintf('Phan thuc = %.2f(radian)\n',phan_thuc); %xuat ket qua
fprintf('Phan ao = %.2f(radian)\n',phan_ao); %xuat ket qua
disp('Dang phuc cua dien ap: '); zU= 120+0i;

Trang 7
Bài tập lớn Matlab

disp('Tan so la: tu 100kHz den 10MHz ');


f= 100000:100:10000000; %doi ve don vi (Hz)
zL = i*2*pi*f*L;
disp(['Dang phuc cua Tro Khang L: '
num2str(zL)]); zC = -i /2*pi*f*C;
disp(['Dang phuc cua Dung Khang C: ' num2str(zC)]);
I = (zU)./(R + zL + zC);
Modun = abs(I); %tri tuyet doi
BiendoI = Modun*sqrt(2); %sqrt la ham can bac hai
subplot(1,2,1); % lenh ve chia man hinh
plot(f,BiendoI,'--'); %ve do thi title('ti le tuyen
tinh');
xlabel('Tan so'); %ten truc x
ylabel('Bien do I'); %ten truc y
grid on; %bat luoi cho do thi
subplot(1,2,2);
semilogx(f,BiendoI,'g');
title('ti le log-linear');
xlabel('Tan so');
ylabel('Bien do I');
grid on;
+ Kết quả:

Trang 8
Bài tập lớn Matlab

b.
+ Chương trình:
function I = kirchhoff(R,L,C) %ten chuong trinh
R =160;
L=1.93*10^(-4); %doi ve don vi(H)
C = 2.52*10^(-10); %doi ve don vi(F)
disp('Gia tri hieu dung dien ap: 120 (u)'); %in len man hinh
U=120;
disp('Goc lech cua dien ap: 0');
phi = 0;
radian = phi*(pi/180);
phan_thuc = U*cos(radian);
phan_ao = U*sin(radian);
fprintf('Phan thuc = %.2f(radian)\n',phan_thuc); %xuat ket qua
fprintf('Phan ao = %.2f(radian)\n',phan_ao); %xuat ket qua
disp('Dang phuc cua dien ap: '); zU= 120+0i;

disp('Tan so la: tu 100kHz den 10MHz ');


f= 100000:100:10000000; %doi ve don vi (Hz)
zL = i*2*pi*f*L;
disp(['Dang phuc cua Tro Khang L: '
num2str(zL)]); zC = -i /2*pi*f*C;
disp(['Dang phuc cua Dung Khang C: ' num2str(zC)]);
I = (zU)./(R + zL + zC);
P = angle(I); %tinh goc cua I
Deg = P*(180/pi);
subplot(1,2,1); %lenh ve chia man hinh
plot(f,Deg,'r'); %ve do thi
title('ti le tuyen tinh'); %ten do thi
xlabel('Tan so'); %ten truc x
ylabel('Goc pha'); %ten truc y
grid on; %bat luoi cho do thi
subplot(1,2,2);
semilogx(f,Deg,'--');
title('ti le log-linear');
xlabel('Tan so');
ylabel('Goc pha');

Trang 9
Bài tập lớn Matlab

grid on;

+ Kết quả:

c.
+ Chương trình:
function I = kirchhoff(R,L,C) %ten chuong trinh
R =160;
L=1.93*10^(-4); %doi ve don vi(H)
C = 2.52*10^(-10); %doi ve don vi(F)
disp('Gia tri hieu dung dien ap: 120 (u)'); %in len man hinh
U=120;
disp('Goc lech cua dien ap: 0');
phi = 0;
radian = phi*(pi/180);
phan_thuc = U*cos(radian);
phan_ao = U*sin(radian);

Trang 10
Bài tập lớn Matlab

fprintf('Phan thuc = %.2f(radian)\n',phan_thuc); %xuat ket qua


fprintf('Phan ao = %.2f(radian)\n',phan_ao); %xuat ket qua
disp('Dang phuc cua dien ap: '); zU= 120+0i;

disp('Tan so la: tu 100kHz den 10MHz ');


f= 100000:100:10000000; %doi ve don vi (Hz)
zL = i*2*pi*f*L;
disp(['Dang phuc cua Tro Khang L: '
num2str(zL)]); zC = -i /2*pi*f*C;
disp(['Dang phuc cua Dung Khang C: ' num2str(zC)]);
I = (zU)./(R + zL + zC);
Modun = abs(I); %tri tuyet doi
BiendoI = Modun*sqrt(2); %sqrt la ham can bac hai
P = angle(I); %tinh goc cua I Deg = P*(180/pi);

subplot(1,2,1); %lenh ve chia man hinh


semilogx(f,BiendoI,'--g');
title('ti le log-linear');
xlabel('Tan so');
ylabel('Bien do I');
grid on;
subplot(1,2,2);
semilogx(f,Deg,'y');
title('ti le log-linear');
xlabel('Tan so');
ylabel('Goc pha');
grid on;
+ Kết quả:

Trang 11
Bài tập lớn Matlab

Trang 12

You might also like