Tính 10 số Fibonacci đầu tiên... Bài làm của em đến đây đã kết thúc Cảm ơn thầy đã xem!.
Trang 1ĐẠI HỌC XÂY DỰNG
BAN KỸ SƯ CHẤT LƯỢNG CAO PFIEV
BÀI TẬP LỚN
CÔNG CỤ MÔ HÌNH HÓA BẰNG SỐ
GVHD : DƯƠNG THANH QUỲNH
HỌ VÀ TÊN : LÊ VĂN CAO
MSSV : 16163
LỚP : 63CLC1
Trang 2I.LÀM QUEN VỚI MATLAB
Bài 1.1: Tính bằng tay rồi thử lại bằng Matlab
disp('|===========================================================|')
disp('| | | /\ | | /\ | ) |')
dips('| |\ /| / _\ | | /_ \ | - |')
dips('| | \/ |/ \| |_ _/ \| ) |')
disp('|===========================================================|') dish('| ***** |')
disp('| TRUONG DAI HOC XAY DUNG |')
dish('| BAN KY SU CHAT LUONG CAO |')
disp('| MON THI : CONG CU MO HINH HOA BANG SO |')
disp('| HO VA TEN : LE VAN CAO |')
disp('| MSSV : 16163 |')
disp('| LOP : 63CLC1 |')
disp('| GVHD : DUONG THANH QUYNH |')
disp('| DE THI SO : |')
disp('| BAI : |')
disp('| ***** |')
disp('|===========================================================|') disp('| | | | | / ` | |')
disp('| |\ | | | | | |')
disp('| | \| | | \ ; | |')
disp('|===========================================================|') disp('| 0o0 |')
function bai11
disp('Tinh roi thu lai voi Matlab')
disp('Cau a')
2/2*3
disp('Cau c')
10/2\5-3+2*4
ĐÁP ÁN
Cau a
ans =
3
Cau c
ans =
6
Trang 3II. Vector
Bài 2.2: Cho x= [3 1 5 7 9 2 6] dự đoán kết quả các dòng lệnh sau và thử lại bằng matlab
function Bai22
disp('Bai2.2')
disp('cho x=[ 3 1 5 7 9 2 6]')
x=[ 3 1 5 7 9 2 6]
disp('phan a')
x(3)
disp('phan b')
x(1:7)
disp('ket thuc bai 2.2')
ĐÁP ÁN
Bai2.2
cho x=[ 3 1 5 7 9 2 6]
x =
3 1 5 7 9 2 6
phan a
ans =
5
phan b
ans =
3 1 5 7 9 2 6
ket thuc bai 2
III. MA TRẬN
Bai 3.5:Cho vecto x=[2 4 1 6],y=[5 9 1 0]
Trang 4Cau c: Hay tao ra ma tran C co tinh chat: cot 1 va 3 co gia tri la vecto x, cot 2 va 4
co gia tri la vecto y
funtion 35
disp('Bai 3.5:Cho vecto x=[2 4 1 6],y=[5 9 1 0]')
disp('Cau c: Hay tao ra ma tran C co tinh chat: cot 1 va 3
x=[2 4 1 6];
y=[5 9 1 0];
M=[x;y;x;y];
disp('Ket qua:')
disp(M.')
disp('ket thuc bai 3.5')
ĐÁP ÁN
Bai 3.5:Cho vecto x=[2 4 1 6],y=[5 9 1 0]
Cau c: Hay tao ra ma tran C co tinh chat: cot 1 va 3 co gia tri la vecto x, cot 2 va 4 co gia tri la vecto y
Ket qua:
2 5 2 5
4 9 4 9
1 1 1 1
6 0 6 0
ket thuc bai 3.5
IV V ẽ đồ th ị
Bài 4.4: Vẽ lại đồ thị hàm số ex (0 < x < 4) nhưng với đường đứt nét, màu đỏ và dấu (marker) là dấu +
function Bai44
disp ('Ve do thi ham so')
disp ('Khoang gia tri cua x la')
x=0:4
disp ('Do thi ham so can ve la')
plot(x,exp(x),' r+')
ĐÁP ÁN
disp ('Ve do thi ham so')
disp ('Khoang gia tri cua x la')
Trang 5disp ('Do thi ham so can ve la') plot(x,exp(x),' r+')
Ve do thi ham so
Khoang gia tri cua x la
x =
0 1 2 3 4
Do thi ham so can ve la
Trang 6V. Bi u th c logic ể ứ
function Bai55
disp('Bai5.5')
disp(' Cho ma tran X')
X=[1 -2 8 9;5 6 0 25;1 -11 3 7;0 4 -3 2]
disp(' nhung phan tu duong cua ma tran:') X(X>0)
disp(' nhung phan tu am cua ma tran:')
X(X<0)
disp('ket thuc bai 5')
ĐÁP ÁN
Bai5.5
Cho ma tran X
X =
1 -2 8 9
5 6 0 25
1 -11 3 7
0 4 -3 2
nhung phan tu duong cua ma tran:
ans =
1
5
Trang 71
6
4
8
3
9
25
7
2
nhung phan tu am cua ma tran: ans =
-2
-11
-3
ket thuc bai 5
VI. Câu l nh IF ệ
Trang 8function bai 67
disp('Bai 6.7')
disp('Chon 1 gia tri cua y: 5000; 17000; 25000; 75000') y=input('y=:')
if y<=10000
t(y)=200;
elseif (10000<y)&&(y<=20000)
t(y)=200+0.1*(y-10000);
elseif (20000<y)&&(y<=50000)
t(y)=1200+0.15*(y-20000);
elseif y>50000
t(y)=5700+0.25*(y-50000);
end
disp('Gia tri cua ham t(y) la')
disp(t(y))
disp('ket thuc bai 6.7')
ĐÁP ÁN
Bai 6.7
Chon 1 gia tri cua y: 5000; 17000; 25000; 75000
y=:5000
y =
5000
Gia tri cua ham t(y) la
200
ket thuc bai 6.7
Trang 9VII. Vòng l p ặ
function Bai78
disp('Bai7.8')
disp(' Co bao nhieu phan tu dung truoc 1 phan tu co gia tri
x=rand(1,10);
n=1;
while (x(n)<0.8)|(x(n)>0.85)
n=n+1;
if n>10
break
end
end
if n>10
disp('Vo nghiem')
else
ketqua=n-1
end
disp(' an tiep de lam phan b')
pause
disp('co bao nhieu phan tu nam trong khoang [0.01, 0.5] dung
disp(' tri trung binh cua vector to ')
x=rand(1,10)
n=1;
x
TrungBinh=mean(x)
while x(n)<=mean(x)
n=n+1;
end
strcat('so thu : ',num2str(n),' la so dau tien co gia tri
Trang 10if n==1
disp('Ko co so nao thuoc khoang [0.1 0.4] truoc gia tri dau
else
y= x((x(1:n-1)>=0.1)&(x(1:n-1)<=0.4));
if isempty(y)==1
disp('Ko co so nao thuoc khoang [0.1 0.4] truoc gia tri
else
strcat('co :',num2str(length(y)),' so thuoc khoang [0.1
end
disp('ket thuc bai 7.8')
ĐÁP ÁN
Bai7.8
Co bao nhieu phan tu dung truoc 1 phan tu co gia tri 0.8 den 0.85
ketqua =
0
an tiep de lam phan b
co bao nhieu phan tu nam trong khoang [0.01, 0.5] dung truoc gia
tri trung binh cua vector to
x =
0.1576 0.9706 0.9572 0.4854 0.8003 0.1419 0.4218 0.9157 0.7922 0.9595
x =
0.1576 0.9706 0.9572 0.4854 0.8003 0.1419 0.4218 0.9157 0.7922 0.9595
TrungBinh =
0.6602
ans =
'so thu :2 la so dau tien co gia tri lon hon trung binh'
VIII. L p Trình ậ
Trang 11Bài 8.5: Dãy số Fibonacci có mối quan hệ sau: Fn = Fn-1 + Fn-2, với F0 = F1 = 1 a Tính 10 số Fibonacci đầu tiên b Trong 50 số Fibonacci đầu tiên, tính tỷ lệ Fn / Fn-1.
N hận xét gì các giá tỷ lệ này so với “tỷ lệ vàng” ( (1 + sqrt(5))/2 ).
function bai85
disp('Bai8.5')
n=input('nhap Do lon:');
s=[];
if n==1|n==2
s=1;
else
s=[1 1]
for i=3:n
s= [s (s(i-1)+s(i-2))];
end
end
disp(' 10 so Fibonacci dau tien co gia tri lan luot la:') s
disp('an phim bat ky de lam tiep phan b')
pause
m=input('nhap Do lon:');
a=[];
if m==1|m==2
a=1;
else
a=[1 1]
for i=3:m
a= [a (a(i-1)+a(i-2))];
end
end
disp(' 50 so Fibonacci dau tien co gia tri lan luot la:') a
disp('ti so giua Fn/Fn-1 cua day so tren la:')
for i=2:m
A=a(i)/a(i-1)
end
A
disp('Nhan xet: Ta thay tu so A thu 13 tro di co gia tri
ĐÁP ÁN
nhap Do lon:10
s =
Trang 121 1
10 so Fibonacci dau tien co gia tri lan luot la:
s =
1 1 2 3 5 8 13 21 34 55
an phim bat ky de lam tiep phan b
nhap Do lon:10
a =
1 1
50 so Fibonacci dau tien co gia tri lan luot la:
a =
1 1 2 3 5 8 13 21 34 55
ti so giua Fn/Fn-1 cua day so tren la:
A =
1
A =
2
A =
1.500
A =
1.6667
A =
1.6000
A =
1.6250
A =
1.6154
A =
1.6190
A =
1.6176
A =
1.6176
Nhan xet: Ta thay tu so A thu 13 tro di co gia tri bang voi ty le vang
Trang 13IX.Bài t p Symbolic math ậ
function bai 95
disp('Bai 9.5: Hinh cau tam O ban kinh bang 3') syms a b;
x=3*sin(a)*cos(b);
y=3*sin(a)*sin(b);
z=3*cos(a);
ezsurf(x,y,z);
axis tight ;
colorbar;
end
ĐÁP ÁN
Trang 14Bài làm của em đến đây đã kết thúc Cảm ơn thầy đã xem!