BÀI TẬP MÔN CÔNG CỤ MÔ HÌNH HÓA BẰNG SỐ GIẢNG VIÊN: DƯƠNG THANH QUỲNH SINH VIÊN: NGUỄN TRUNG HOÀNG ANH LỚP: 63CLC1 MSSV: 8663 BÀI 1.1 Tính bằng tay các biểu thức sau, rồi thử lại bằng Ma
Trang 1BÀI TẬP MÔN CÔNG CỤ MÔ HÌNH HÓA BẰNG SỐ GIẢNG VIÊN: DƯƠNG THANH QUỲNH
SINH VIÊN: NGUỄN TRUNG HOÀNG ANH
LỚP: 63CLC1
MSSV: 8663
BÀI 1.1 Tính bằng tay các biểu thức sau, rồi thử lại bằng Matlab:
a 2 / 2 * 3
b 6 – 2 / 5 + 7 ^ 2 – 1
c 10 / 2 \ 5 – 3 + 2 * 4
d 3 ^ 2 / 4
e 3 ^ 2 ^ 2
f 2 + round(6 / 9 + 3 * 2) / 2 – 3
g 2 + floor(6 / 9 + 3 * 2) / 2 – 3
h 2 + ceil(6 / 9 + 3 * 2) / 2 – 3
k fix(4/9)+fix(3*(5/6))
Bài làm
disp('Bai1.1')
disp('phan a')
2/2*3
disp('phan b')
6-2/5+7^2-1
disp('phan c')
10/2\5-3+2*4
disp('phan d')
3^2/4
disp('phan e')
3^2^2
disp('phan f')
2+round(6/9+3*2)/2-3
disp('phan g')
2+floor(6/9+3*2)/2-3
disp('phan h')
2+ceil(6/9+3*2)/2-3
disp('phan k')
fix(4/9)+fix(3*(5/6))
disp(' ket thuc bai 1 ')
Trang 2KẾT QUẢ phan a ans =
3 phan b
ans = 53.6000
phan c ans =
6 phan d
ans = 2.2500
phan e ans =
81 phan f
ans = 2.5000
phan g ans =
Trang 32
phan h
ans =
2.5000
phan k
ans =
2
ket thuc bai 1
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:
a x(3)
b x(1:7)
c x(1:end)
2
d x(1:end-1)
e x(6:-2:1)
f x([1 6 2 1 1])
g sum(x)
Bài làm
disp('=====================================================')
disp(' VECTO ')
disp('=====================================================')
disp('Bai 2.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)
Trang 4disp('phan c')
x(1:end)
disp('phan d')
x(1:end-1)
disp('phan e')
x(6:-2:1)
disp('phan f')
x([1 6 2 1 1])
disp('phan g')
sum(x)
===================================================== VECTO
===================================================== Bai 2.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
phan c
Trang 5ans =
3 1 5 7 9 2 6
phan d
ans =
3 1 5 7 9 2
phan e
ans =
2 7 1
phan f
ans =
3 2 1 3 3
phan g
ans =
33
BÀI 3.2: cho A = [2 7 9 7 ; 3 1 5 6 ; 8 1 2 5], dự đoán kết quả, giải thích; rồi thử lại bằng Matlab:
a A’
b A(:,[1 4])
c A([2 3], [3 1])
d reshape(A, 2, 6)
3
e A(:)
f flipud(A)
g fliplr(A)
h [A; A(end,:)]
Trang 6i A(1:3,:)
j [A; A(1:2, :)]
k sum(A)
l sum(A’)
m sum(A, 2)
n [ [ A ; sum(A) ] [ sum(A,2) ; sum(A(:)) ] ]
Bài làm
disp('=====================================') disp(' MA TRAN ') disp('=====================================') disp('Bai3.2')
disp('cho ma tran A= [2 7 9 7 ; 3 1 5 6 ; 8 1 2 5]')
A= [2 7 9 7 ; 3 1 5 6 ;8 1 2 5]
disp('phan a')
A'
disp('phan b')
A(:,[1 4])
disp('phan c')
A([2 3],[3 1])
disp('phan d')
reshape(A,2,6)
disp('phan e')
A(:)
disp('phan f')
flipud(A)
disp('phan g')
fliplr(A)
disp('phan h')
[A;A(end,:)]
disp('phan i')
A(1:3,:)
disp('phan j')
[A;A(1:2,:)]
disp('phan k')
sum(A)
disp('phan l')
sum(A')
disp('phan m')
sum(A,2)
Trang 7disp('phan n')
[[A;sum(A)] [sum(A,2);sum(A(:))]]
>> bai1
=====================================
MA TRAN
===================================== Bai3.2
cho ma tran A= [2 7 9 7 ; 3 1 5 6 ; 8 1 2 5]
A =
2 7 9 7
3 1 5 6
8 1 2 5
phan a
ans =
2 3 8
7 1 1
9 5 2
7 6 5
phan b
ans =
2 7
3 6
8 5
phan c
ans =
Trang 85 3
2 8
phan d
ans =
2 8 1 9 2 6
3 7 1 5 7 5 phan e
ans =
2
3
8
7
1
1
9
5
2
7
6
5
phan f
ans =
8 1 2 5
3 1 5 6
2 7 9 7
phan g
ans =
7 9 7 2
Trang 96 5 1 3
5 2 1 8 phan h
ans =
2 7 9 7
3 1 5 6
8 1 2 5
8 1 2 5
phan i
ans =
2 7 9 7
3 1 5 6
8 1 2 5
phan j
ans =
2 7 9 7
3 1 5 6
8 1 2 5
2 7 9 7
3 1 5 6 phan k
ans =
13 9 16 18
phan l
ans =
Trang 1025 15 16
phan m
ans =
25
15
16
phan n
ans =
2 7 9 7 25
3 1 5 6 15
8 1 2 5 16
13 9 16 18 56
Bài 4.3: Vẽ đồ thị hàm số f(x) = sin(1/x) với 0.01 < x < 0.1 Bài Làm
disp('==========================================') disp(' VE DO THI ') disp('==========================================') disp('Bai43')
disp('ve do thi ham so f(x)=sin(1/x) voi 0.01<x<0.1')
x=0.01:0.0001:0.1;
disp('do thhi ham so f(x) la :')
plot(x,sin(1./x))
==========================================
VE DO THI
==========================================
Trang 11ve do thi ham so f(x)=sin(1/x) voi 0.01<x<0.1
x=0.01:0.0001:0.1;
do thhi ham so f(x) la :
Bài 5.5: Cho ma trận X=[1 -2 8 9 ; 5 6 0 25 ; 1 -11 3 7 ; 0 4 -3 2] , tìm:
a Những phần tử dương của ma trận
b Những phần tử âm của ma trận
c Tổng các phần tử lẻ của ma trận
d Giá trị lớn nhất các phần tử chẵn của ma trận
e Gán những phần tử bằng 0 thành 1
Bài Làm
disp('=========================================') disp(' BIEU THUC LOGIC |') disp('=========================================') disp('Bai5.5')
disp('cho ma tran X')
Trang 12X=[1 -2 8 9 ; 5 6 0 25 ; 1 -11 3 7 ; 0 4 -3 2]
disp('phan a')
disp('nhung phan tu duong cua ma tran la : ')
X(X>0)
disp('phan b')
disp('nhung ohan tu am cua ma tran la : ')
X(X<0)
disp('phan c')
disp('tong cac phan tu le cua ma tran la : ')
D(1:16)=X(1:4,1:4);
G=-100:2:100;
K=setdiff(D,G);
sum(K)
disp('phan d')
disp('gia tri lon nhat cac phan tu cua ma tran la: ')
J=-101:2:101;
max(setdiff(D,J))
disp('phan e')
disp('gan nhung phan tu 0 thanh 1')
X(X==0)=1
========================================= BIEU THUC LOGIC
========================================= Bai5.5
cho ma tran X
X =
1 -2 8 9
5 6 0 25
1 -11 3 7
0 4 -3 2
phan a
nhung phan tu duong cua ma tran la :
Trang 13ans =
1
5
1
6
4
8
3
9
25
7
2
phan b
nhung ohan tu am cua ma tran la :
ans =
-2
-11
-3
phan c
tong cac phan tu le cua ma tran la :
ans =
36
phan d
gia tri lon nhat cac phan tu cua ma tran la: ans =
8
phan e
Trang 14gan nhung phan tu 0 thanh 1
X =
1 -2 8 9
5 6 1 25
1 -11 3 7
1 4 -3 2
Bài 6.1: Dự đoán kết quả và thử lại bằng Matlab:
if n > 1
m = n+1
else
m = n – 1
end
a n = 7 m = ?
b n = 0 m = ?
c n = -10 m =
?
Bài Làm
disp('==========================================') disp(' CAU LENH IF ') disp('==========================================') disp('Bai6.1')
disp(' du doan ket qua va thu lai bang matlab')
disp('tinh m:')
disp('phan a')
n=input('nhap gia tri cua n: n=')
if n>1
m=n+1
else
m=n-1
end
disp('an phim bat ki de lam phan c')
pause
n=input('nhap gia tri cua n: n=')
Trang 15if n>1
m=n+1
else
m=n-1
==========================================
CAU LENH IF
==========================================
Bai6.1
du doan ket qua va thu lai bang matlab
tinh m:
phan a
nhap gia tri cua n: n=3
n =
3
m =
4
an phim bat ki de lam phan c
nhap gia tri cua n: n=6
n =
6
m =
7
Bà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
Trang 16b 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 )
Bài Làm
disp('========================================================') disp(' VONG LAP ') disp('========================================================') 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 (i-1)+s(i-2)];
end
end
disp(' 10 so Fibonacci dau tien co gia tri lan luot la:')
disp('an phim bat ki 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 la :')
for i=2:m
A=a(i)/a(i-1)
end
Trang 17disp('nhan xet:ta thay tu so A thu 13 tro di co gia tri bang ty le vang')
Bài9.5: Vẽ hình cầu tâm O bán kính 3 bằng phương trình: x=3*sin(a)*cos(b); y=3*sin(a)*sin(b);
z=3*cos(a);
disp('=====================================================') disp(' Bai Tap symbolic math ') disp('=====================================================') disp('Bai9.5')
disp('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;