Tải bản đầy đủ (.doc) (34 trang)

Báo cáo thực hành tin học ứng dụ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 (325.63 KB, 34 trang )

Mẫu 1

BỘ MÔN ĐIỆN TỬ – VIỄN THÔNG
Lớp ĐTV 50 - ĐH
-o0o-

BÁO CÁO THỰC HÀNH

TIN HỌC ỨNG DỤNG
Họ và tên sinh viên:

ĐỖ TRỌNG BÁCH
Giáo viên hướng dẫn:

NGUYỄN MẠNH CƯỜNG

Hải phòng, tháng 11 năm 2011


NỘI DUNG

Bài 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
Trả lời:
Thực hiện phép tính trên matlab:


a. 2 / 2 * 3 =3

b. 6 – 2 / 5 + 7 ^ 2 – 1 =53.6000
c. 10 / 2 \ 5 – 3 + 2 * 4 =6
d. 3 ^ 2 / 4 =2.2500
e. 3 ^ 2 ^ 2 =81
f. 2 + round(6 / 9 + 3 * 2) / 2 – 3 =2.500
Bài 2: Dùng Matlab tính các biểu thức sau:
3+ 4
5+ 2
b. 2π 2
2
1−
3+ 2
c.
2
1+
3− 2
d. 1000(1 + 0.15 /12)60

a.

Trả lời:
a. (3+4)/(5+sqrt(2))=1.0943
b. 2*pi*pi=19.7392
c.(1-(2/(3+2)))/(1+(2/(3-2)))=0.2
d.1000*(1+0.15/12)^60=2.1072e+0.03
Bài 3:Giải phương trình bậc hai sau bằng cách thực hiện từng bước, sau
đó kiểm tra với hàm trong Matlab?
x 2 − 3 x + 2 =0;

Trả lời:
>> a=input('nhap a=')
b=input('nhap b=')
c=input('nhap c=')
if a==0 & b==0
disp('pt co vo so no')
elseif a==0 & b~=0
disp('pt co no la')
x=-c/b
elseif a~=0
d=b*b-4*a*c;
if d<0


disp('pt vo no')
elseif d==0
disp('pt co no kep')
x1=-b/(4*a)
x2=-b/(4*a)
elseif d>0
x1=(-b+sqrt(d))/(2*a)
x2=(-b-sqrt(d))/(2*a)
end
end( ấn enter)
nhap a=1
a=
1
nhap b=-3
b=
-3

nhap c=2
c=
2
x1 =
2
x2 =
1
Bài 4: Tạo một số ngẫu nhiên có giá trị từ 0 đến 10?
Trả lời:
x=randint(1,1,[0 10]) ( ấn enter)


x =2

Bài 5:

Tạo một số ngẫu nhiên có giá trị từ 0 đến 100?

Trả lời:
x=randint(1,1,[0 100]) ( ấn enter)
x=

49

Bài 6: Tạo một vector chứa các số nguyên từ 31 đến 75?
Trả lời:
a=[31:1:75] ( ấn enter)
a=
Columns 1 through 16
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

Columns 17 through 32
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
Columns 33 through 45
63 64 65 66 67 68 69 70 71 72 73 74 75

Bài 7: 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)
d. x(1:end-1)
e. x(6:-2:1)
f. x([1 6 2 1 1])
g. sum(x)
Trả lời:
>> x=[3 1 5 7 9 2 6] ( ấn enter)
x=
3

1

5

7

>> x(3) ( ấn enter)

9

2


6


ans =
5
>> x(1:7) ( ấn enter)
ans =
3

1

5

7

9

2

6

2

6

>> x(1:end) ( ấn enter)
ans =
3


1

5

7

9

>> x(1:end-1) ( ấn enter)
ans =
3

1

5

7

9

2

>> x(6:-2:1) ( ấn enter)
ans =
2

7

1


>> x([1 6 2 1 1]) ( ấn enter)
ans =
3

2

1

3

3

>> sum(x) ( ấn enter)
ans =
33

Bài 8: Cho x = [2 5 1 6].
a. Cộng thêm 16 vào tất cả các phần tử.
b. Cộng thêm 3 vào các phần tử ở vị trí lẻ.
c. Lấy căn bậc 2 tất cả các phần tử.
d. Bình phương tất cả các phần tử.
Trả lời:
>> x=[2 5 1 6] ( ấn enter)
x=
2

5

1


6

>> x+16( ấn enter)


ans =
18 21 17 22
>> x([1 3])+3( ấn enter)
ans =
5

4

>> sqrt(x) ( ấn enter)
ans =
1.4142 2.2361 1.0000 2.4495
>> x.^2( ấn enter)
ans =
4 25

1 36

Bài 9: Cho x, y lần lượt là các vector cột. x = [3 2 6 8]’, y = [4 1 3 5]’.

a. Lấy tổng các phần tử của x cộng thêm vào từng phần tử của y.
b. Luỹ thừa mỗi phần tử của x với số mũ tương ứng là các phần tử của y.
c. Chia các phần tử của y với các phần tử tương ứng của x.
d. Nhân các phần tử của x với các phần tử tương ứng của y, đặt trong
vector z.
e. Tính tổng các phần tử của z, gán cho w.

f. Tính x.* y – w.
g.Tích vô hướng của x và y
Lưu ý: x’ là ma trận chuyển vị của x
Trả lời:
>> x=[3;2;6;8] ( ấn enter)
x=
3
2
6
8
>> y=[4;1;3;5] ( ấn enter)
y=
4
1


3
5
>> sum(x)+y( ấn enter)
ans =
23
20
22
24
>> x.^y( ấn enter)
ans =
81
2
216
32768

>> y./x( ấn enter)
ans =
1.3333
0.5000
0.5000
0.6250
>> z=x.*y
z=
12
2
18
40
>> w=sum(z)
w=
72
>> x.*y-w
ans =
-60
-70
-54
-32


>> sum(x.*y)
ans =
72
>> n=input('nhap n=')
nhap n=4
n=
4

>> a=[2:2:2*n]
a=
2

4

6

8

>> b=[10:-2:-2*n] ( ấn enter)
b=
10

8

6

4

2

0 -2 -4 -6 -8

>> c=[1/1 1/2 1/3 1/4] ( ấn enter)
c=
1.0000 0.5000 0.3333 0.2500
>> d=[0 1/2 2/3 3/4] ( ấn enter)
d=
0 0.5000 0.6667 0.7500


Bài 10: Cho x = [1 4 8], y = [2 1 5] và A = [3 1 6 ; 5 2 7]. Xét xem dòng
lệnh nào hợp lệ, dự đoán kết quả, giải thích; rồi thử lại bằng Matlab :
a. x + y
b. x + A
c. x’ + y
d. A – [x’ y’]
e. [x ; y’]
f. [x ; y]
g. A – 3
h. x*A; x.*A; A*x; A.*x
i. A/y; A./y
Trả lời:
>> x=[1 4 8] ( ấn enter)


x=
1

4

8

>> y=[2 1 5] ( ấn enter)
y=
2

1

5


>> A=[3 1 6;5 2 7] ( ấn enter)
A=
3
5

1
2

6
7

>> x+y( ấn enter)
ans =
3 5 13
>> x+A( ấn enter)
??? Error using ==> plus
Matrix dimensions must agree.
>> x'+y( ấn enter)
??? Error using ==> plus
Matrix dimensions must agree.
>> A-[x' y'] ( ấn enter)
??? Error using ==> minus
Matrix dimensions must agree.
>> [x,y'] ( ấn enter)
??? Error using ==> horzcat
CAT arguments dimensions are not consistent.
>> [x;y] ( ấn enter)
ans =
1

2

4
1

8
5

>> A-3( ấn enter)
ans =
0 -2
2 -1

3
4


Bài 11: 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)
e. A(:)
f. flipud(A)
g. fliplr(A)
h. [A; A(end,:)]
i. 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(:)) ] ]
Trả lời:
>> a=[2 7 9 7;3 1 5 6;8 1 2 5] ( ấn enter)
a=
2
3
8

7
1
1

9
5
2

7
6
5

>> a'( ấn enter)
ans =
2
7
9
7

3

1
5
6

8
1
2
5

>> a(:,[1 4]) ( ấn enter)
ans =
2
3
8

7
6
5

>> a([2 3],[3 1]) ( ấn enter)
ans =
5
2

3
8


>> reshape(a,2,6) ( ấn enter)
ans =

2
3

8
7

1
1

9
5

2
7

6
5

>> flipud(a) ( ấn enter)
ans =
8
3
2

1
1
7

2
5

9

5
6
7

>> fliplr(a) ( ấn enter)
ans =
7
6
5

9
5
2

7
1
1

2
3
8

>> [a;a(end,:)] ( ấn enter)
ans =
2
3
8
8


7
1
1
1

9
5
2
2

7
6
5
5

>> a(1:3,:) ( ấn enter)
ans =
2
3
8

7
1
1

9
5
2


7
6
5

>> [a;a(1:2,:)] ( ấn enter)
ans =
2
3
8
2
3

7
1
1
7
1

9
5
2
9
5

7
6
5
7
6


>> sum(a) ( ấn enter)
ans =


13

9 16 18

>> sum(a') ( ấn enter)
ans =
25 15 16
>> sum(a,2) ( ấn enter)
ans =
25
15
16
>> [[a;sum(a)][sum(a,2);sum(a(:))]]
??? [[a;sum(a)][sum(a,2);sum(a(:))]]
|
Error: Unbalanced or unexpected parenthesis or bracket.

Bài 12: Cho ma trận A = [2 4 1 ; 6 7 2 ; 3 5 9], viết lệnh Matlab để
a. Gán cho vector x là dòng thứ nhất của A.
b. Gán cho ma trận y là hai dòng còn lại (cuối) của A.
c. Tính tổng theo dòng ma trận A.
d. Tính tổng theo cột ma trận A.
e. Tìm giá trị lớn nhất và nhỏ nhất của ma trận.
f. Tính tổng các phần tử của A
Trả lời:
>> a=[2 4 1;6 7 2;3 5 9] ( ấn enter)

a=
2
6
3

4
7
5

1
2
9

>> x=a(1,:) ( ấn enter)
x=
2

4

1

>> y=a([2 3],:) ( ấn enter)
y=
6
3

7
5

2

9

>> sum(a,2) ( ấn enter)


ans =
7
15
17
>> sum(a) ( ấn enter)
ans =
11 16 12
>> sum(a(:))( ấn enter)
ans =
39
>> [r,c]=size(a) ( ấn enter)
r=
3
c=
3
>> min=a(1,1) ( ấn enter)
min =
2
>> for i=1:r( ấn enter)
for j=1:c( ấn enter)
if min>a(i,j) ( ấn enter)
min=a(i,j); ( ấn enter)
end( ấn enter)
end( ấn enter)
end( ấn enter)

>> min
min =
1

Bài 13:Tạo các véc tơ sau:
a.[2,4,6,8,….,2n]
b.[10,8,6,4,….,-2n]


c.[1,1/2.1/3,1/4,1/5,….,1/n]
Trả lời
a. >> n=input('nhap n =') ( ấn enter)
disp(2:2:2*n) ( ấn enter)nhap n =5( ấn enter)
n=
5
2 4 6 8 10
b. >> n=input('nhap n =') ( ấn enter)
disp(10:-2:-2*n) ( ấn enter)
nhap n =5( ấn enter)
n=
5
10 8 6 4 2 0 -2 -4
c. >> n=input('nhap n =') ( ấn enter)
for i=1:n( ấn enter)
a(i)=1/i( ấn enter)
end( ấn enter)
disp('a') (ấn enter)

-6


-8 -10

nhap n =5( ấn enter)
n=
5
a=
1

2

3

4

4

a=
1.0000
a=

0.5000

3.0000

4.0000

4.0000


1.0000


0.5000

0.3333

4.0000

4.0000

0.5000

0.3333

0.2500

4.0000

0.5000

0.3333

0.2500

0.2000

a=
1.0000
a=
1.0000
a


Bài 14:Tìm số lớn nhất và nhỏ nhất của một dãy số?
Trả lời:
>> n=input('nhap so phan tu n =')
while n<=0 | n>20
n=input('n =')
end( ấn enter)
for i=1:n
a(i)=input('a(i)=')
end
for i=1:(n-1)
for j=(i+1):n
if a(i)>a(j)
tg=a(i)
a(i)=a(j)
a(j)=tg
end
end
end
max=a(n)
min=a(1) ( ấn enter)
nhap so phan tu n =5
n=
5
a(i)=3
a=


3
a(i)=4

a=
3

4

a(i)=2
a=
3

4

2

4

2

1

4

2

1

5

4

2


1

5

4

3

1

5

a(i)=1
a=
3
a(i)=5
a=
3
tg =
3
a=
2
a=
2


tg =
2
a=

1

4

3

1

5

4

3

2

5

3

3

2

5

3

4


2

5

2

4

2

5

2

4

3

5

a=
1
tg =
4
a=
1
a=
1
tg =
3

a=
1
a=
1


tg =
4
a=
1

2

3

3

5

2

3

4

5

a=
1
max =

5
min =
1

Bài 15: Giải phương trình sau:

X^3 - 3*x + 1=0; 3*x^4 – 3*x^2 + x – 1=0
Trả lời:
>> roots([1 0 -3 1])
ans =
-1.8794
1.5321
0.3473
>> roots([3 0 -3 1 -1])
ans =
-1.2229
1.0000
0.1114 + 0.5101i


0.1114 - 0.5101i

Bài 16:Vẽ đồ thị y=sin(x)?
Trả lời:

x=linspace(0,2*pi,30)
y=sin(x)
plot(x,y) ( ấn enter)
x=
Columns 1 through 7

0

0.2167

0.4333

0.6500

0.8666

1.0833

1.3000

Columns 8 through 14
1.5166

1.7333

1.9500

2.1666

2.3833

2.5999

2.8166

3.6832


3.8999

4.1166

4.3332

5.1999

5.4165

5.6332

5.8499

Columns 15 through 21
3.0333

3.2499

3.4666

Columns 22 through 28
4.5499

4.7666

4.9832

Columns 29 through 30

6.0665

6.2832

y=
Columns 1 through 7
0

0.2150

0.4199

0.6052

0.7622

0.8835

0.9635

Columns 8 through 14
0.9985

0.9868

0.9290

0.8277

0.6877


0.5156

0.3193

Columns 15 through 21
0.1081 -0.1081 -0.3193 -0.5156 -0.6877 -0.8277 -0.9290
Columns 22 through 28


-0.9868 -0.9985 -0.9635 -0.8835 -0.7622 -0.6052 -0.4199
Columns 29 through 30
-0.2150 -0.0000

Bài 17:Vẽ 2 đồ thị hình sin vói điều kiện là điểm đầu đồ thị này là điểm
cuối đồ thị kia?
Trả lời:
>> x=linspace(0,2*pi,30)
y=sin(x)
plot(x,y)
hold on
x=linspace(2*pi,4*pi,30)
z=sin((pi/4)*x)
plot(x,z) ( ấn enter)
x=


Columns 1 through 7
0


0.2167

0.4333

0.6500

0.8666

1.0833

1.3000

Columns 8 through 14
1.5166

1.7333

1.9500

2.1666

2.3833

2.5999

2.8166

3.6832

3.8999


4.1166

4.3332

5.1999

5.4165

5.6332

5.8499

Columns 15 through 21
3.0333

3.2499

3.4666

Columns 22 through 28
4.5499

4.7666

4.9832

Columns 29 through 30
6.0665


6.2832

y=
Columns 1 through 7
0

0.2150

0.4199

0.6052

0.7622

0.8835

0.9635

Columns 8 through 14
0.9985

0.9868

0.9290

0.8277

0.6877

0.5156


0.3193

Columns 15 through 21
0.1081 -0.1081 -0.3193 -0.5156 -0.6877 -0.8277 -0.9290
Columns 22 through 28
-0.9868 -0.9985 -0.9635 -0.8835 -0.7622 -0.6052 -0.4199
Columns 29 through 30
-0.2150 -0.0000


x=
Columns 1 through 7
6.2832

6.4998

6.7165

6.9332

7.1498

7.3665

7.5832

8.4498

8.6665


8.8831

9.0998

Columns 8 through 14
7.7998

8.0165

8.2331

Columns 15 through 21
9.3164

9.5331

9.7498

9.9664 10.1831 10.3998 10.6164

Columns 22 through 28
10.8331 11.0497 11.2664 11.4831 11.6997 11.9164 12.1330
Columns 29 through 30
12.3497 12.5664
z=
Columns 1 through 7
-0.9754 -0.9239 -0.8458 -0.7432 -0.6192 -0.4773 -0.3216
Columns 8 through 14
-0.1566


0.0129

0.1821

0.3460

0.4999

0.6393

0.7603

0.9997

0.9897

0.9511

0.8851

0.3949

0.2337

0.0656 -0.1043

Columns 15 through 21
0.8593


0.9335

0.9808

Columns 22 through 28
0.7935

0.6790

0.5448

Columns 29 through 30


-0.2712 -0.4303

Bài 18:Vẽ biểu đồ hình tròn và biểu đồ hình cột biểu diễn số học sinh khá,
giỏi , trung bình và yếu kém trong lớp:
Xếp loại
Giỏi
Khá
Trung bình
Yếu kém
Trả lời
+Vẽ biểu đồ hình tròn
>> a=[2 26 27 15];
pie(a,a==max(a));
title('xep loai'); ( ấn enter)

Số học sinh

2
26
27
15


+Vẽ biểu đồ hình cột
>> a=[4 26 27 15];
pareto(a)
title('xep loai'); ( ấn enter)


Bài 19:Vẽ tam giác bất kì với các đỉnh nhập từ bàn phím?
Trả lời:
ya=input('Nhap tung do diem A ya = ' );
xb=input('Nhap hoanh do diem B xb = ');
yb=input('Nhap tung do diem B yb = ');
xc=input('Nhap hoanh do diem C xc = ');
yc=input('Nhap tung do diem C yc = ');
if xa==xb
x1=ya:yb;
y1=((xb-xa)*x1+yb*xa-xb*ya)/(yb-ya);
x2=xa:xc;
y2=((yc-ya)*x2+xc*ya-xa*yc)/(xc-xa);
x3=xb:xc;
y3=((yc-yb)*x3+xc*yb-xb*yc)/(xc-xb);
plot(y1,x1,x2,y2,x3,y3)
else



×