LÀM QUEN MATLAB Bài 1.2: Dự đoán kết quả xuất ra màn hình: a... LẬP TRÌNHBài 8.1: Đơn giá tính tiền điện trong tháng của công ty điện lực đối với hộ gia đình như sau: • Nếu lượng điện sử
Trang 1I LÀM QUEN MATLAB
Bài 1.2: Dự đoán kết quả xuất ra màn hình:
a 2;4
Đoạn lệnh:
function chuong1
disp(' bai 1.2 ') disp(' cau a ') disp(' nhap 2;4 ') 2;4
end
Kết quả:
chuong1
bai 1.2
cau a
nhap 2;4
ans =
4
Trang 2II 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:
g sum(x)
Đoạn lệnh:
function chuong2
disp(' bai 2.2 ')
disp(' cau g ')
disp(' cho x ')
x=[3 1 5 7 9 2 6]
sum(x)
end
Kết quả:
chuong2
bai 2.2
cau g
cho x
x =
3 1 5 7 9 2 6
ans =
33
Trang 3III MA TRẬN
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:
d reshape(A, 2, 6)
Đoạn lệnh:
function chuong3
disp(' bai 3.2 ')
disp(' cau d ')
disp(' cho ma tran A ')
A=[2 7 9 7;3 1 5 6;8 1 2 5]
reshape(A,2,6)
end
Kết quả:
chuong3
bai 3.2
cau d
cho ma tran A
A =
2 7 9 7
3 1 5 6
8 1 2 5
ans =
2 8 1 9 2 6
3 7 1 5 7 5
Trang 4IV VẼ ĐỒ THỊ
Bài 4.7: Vẽ hai hàm y = x2 và y = sin3x trên cùng một đồ thị
Đoạn lệnh:
function chuong4
disp(' bai 4.7 ')
x = -4:0.01:4
plot(x,x.^2,'r')
hold on
plot(x,sin(x),'g')
end
Kết quả:
Trang 5V BIỂU THỨC LOGIC
Bài 5.5: Cho x = [1 5 2 8 9 0 1] và y = [5 2 2 6 0 0 2], giải thích kết quả các dòng lệnh sau:
a.x>y
Đoạn lệnh:
function chuong5
disp(' bai 5.5 ')
disp(' cau a ')
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 la: ')
X(X>0)
End
Kết quả:
chuong5
bai 5.5
cau a
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 la:
ans =
1
5
1
6
4
8
3
9
25
7
2
Trang 7VI CÂU LỆNH IF
Bài 6.2:
c.z=60 w=?
Đoạn lệnh:
function chuong6
disp(' bai 6.2 ')
disp(' cau c ')
disp(' Em xin du doan ket qua xuat ra man hinh la w = sqrt(60) ')
disp(' Nhap vao z: ')
z = input('z = ')
if z<5
w = 2*z
elseif z<10
w = 9-z
elseif z<100
w = sqrt(z)
else w = z
end
Kết quả:
chuong6
bai 6.2
cau c
Em xin du doan ket qua xuat ra man hinh la w =
sqrt(60)
Nhap vao z:
z = 60
z =
60
w =
7.7460
Trang 8VII VÒNG LẶP
Bài 7.6: Cho x = [4 1 6] và y = [6 2 7], tính các mảng/vector/ma trận sau
a aij = xiyj
Đoạn lệnh:
function chuong7
disp(' bai 7.6 ')
disp(' Cau a ')
disp(' Nhap vao x ')
x = [4 1 6]
disp(' Nhap vao y ')
y = [6 2 7]
for i=1:3
for j=1:3
a(i,j)=x(i)*y(j)
end
end
a
end
Kết quả:
chuong7
bai 7.6
Cau a
Nhap vao x
x =
4 1 6
Nhap vao y
y =
6 2 7
a =
24
Trang 9a =
24 8
a =
24 8 28
a =
24 8 28
6 0 0
a =
24 8 28
6 2 0
a =
24 8 28
6 2 7
a =
24 8 28
6 2 7
36 0 0
a =
24 8 28
6 2 7
36 12 0
Trang 10a =
24 8 28
6 2 7
36 12 42
a =
24 8 28
6 2 7
36 12 42
Trang 11VIII LẬP TRÌNH
Bài 8.1: Đơn giá tính tiền điện trong tháng của công ty điện lực đối với hộ gia đình như sau:
• Nếu lượng điện sử dụng <= 100 KW thì tính 550 đ / 1KW
• Nếu sử dụng <= 200 KW thì 100KW đầu được tính theo đơn giá như trên, từ
101 trở đi là 1.200 đ / 1KW
• Từ 201 đến 300 KW được tính là 1.800 đ / 1KW
• Trên 300 KW thì 2.000 đ / 1KW
Tổng số tiền mà một hộ gia đình phải trả là tổng số tiền sử dụng điện + 10% thuế VAT Lượng điện sử dụng trong tháng của 3 hộ gia đình trong 1 khu dân
cư lần lượt là 120, 320, 480 KW Hãy viết hàm để tính số tiền các gia đình này phải trả
Đoạn lệnh:
function chuong8
disp(' Bai 8.1 ')
X=input('So dien tieu thu cua cac ho gia dinh: '); T=zeros(1,length(X));
for i=1:length(X)
if X(i)<=100
T(i)=X(i)*550;
elseif X(i)<=200
T(i)=55000+(X(i)-100)*1200;
elseif X(i)<=300
T(i)=55000+ 120000+(X(i)-200)*1800;
else T(i)=55000+ 120000+180000+(X(i)-300)*2000;
end
T(i)=T(i)*1.1;
end
for i=1:length(X)
fprintf('Tien dien cua ho gia dinh thu %d la:
%d\n',i,T(i))
end
Kết quả:
So dien tieu thu cua cac ho gia dinh: 270
Tien dien cua ho gia dinh thu 1 la: 331100
Trang 12IX BÀI TẬP SYMBOLIC MATH
Bài 9.5:
Đoạn lệnh:
function chuong9
disp(' Bai 9.5 ')
syms a b
disp(' Nhap vao 3 phuong trinh ') x=3*sin(a)*cos(b)
y=3*sin(a)*sin(b)
z=3*cos(a)
ezsurf(x,y,z)
end
Kết quả: