Bài tập nhỏ Matlab

Nhập vào danh sách thuế xe ô tô, mỗi người bao gồm các thông tin sau : mã ,đơn vị, loại xe, số ngày thuê, số xe . Trong đó đơn vị dạng kí tự. Hãy lập trình thực hiện các mục sau :

1. Tính tiền thuê cho từng người :

Tiền thuê được tính như sau: 1 ngày đầu mỗi ngày là 500000 cho 1 xe, 3 ngày tiếp theo mỗi ngày là 400000 cho 1 xe, 4 tiếp theo mỗi ngày là 300000 cho 1 xe, các ngày tiếp theo mỗi ngày là 200000 cho 1 xe.

2. Sắp xếp theo số xe giảm dần.

3. Tìm thông tin của người khi nhập vào mã.

4. Tính tổng tiền thuê của từng đơn vị, tổng tiền thuê của cả danh sách.

5. Xóa đi một người khi nhập vào mã.

6. Thêm vào một người ở vị trí i bất kì.

7. Sửa chữa thông tin của một người khi nhập vào mã.

8. Vẽ đồ thị biểu diễn tương quan giữa tiền thuê và số ngày thuê.

9. Vẽ đồ thị dạng cột để so sánh tiền thuê và số xe.

10. Vẽ đồ thị dạng Pie cho cột tổng tiền thuê của từng đơn vị.

 

doc31 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 2649 | Lượt tải: 3download
Tóm tắt nội dung Bài tập nhỏ Matlab, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 n1 %d\n',n1)
 fprintf('\tBan chon tiep(12:thoat): ')
 chon=input('');
 case 6
 mang1=size(arrdonvi);
 if(mang1<1)
 fprintf('\tBan hay chon 1 truoc! \n')
 return
 end
 %Cau 6
 %Them vao 1 nguoi o vi tri bat ky
 n2=length(Nguoi);
 fprintf('Ban muon them nguoi vao vi tri nao: ')
 nhap2 = input('');
 while(nhap2>n2)
 fprintf('Vi tri ban them ngoai khoang cho phep, Yeu cau nhap lai: ')
 nhap2 = input('');
 end
 %Chuan bi truoc khi them nguoi moi
 tam1=0;
 tam2='A';
 tam3=0;
 tam4=0;
 tam5=0;
 tam6=0;
% n=length(Nguoi);
% fprintf('kich thuoc truoc %d',n);
% Nguoi=Nguoi([2:end 1]);
 n2=length(Nguoi);
 %fprintf('kich thuoc sau %d',n2);
% for i =1:n+1
% if(nhap2==i)
% for j=nhap2:n
% %doi cho Ma
% tam1=Nguoi(j).Ma;
% Nguoi(j).Ma=Nguoi(j+1).Ma;
% Nguoi(j+1).Ma=tam1;
% %Doi cho don vi
% tam2=Nguoi(j).Donvi;
% Nguoi(j).Donvi=Nguoi(j+1).Donvi;
% Nguoi(j+1).Donvi=tam2;
% %doi cho loai xe
% tam3=Nguoi(j).Loaixe;
% Nguoi(j).Loaixe=Nguoi(j+1).Loaixe;
% Nguoi(j+1).Loaixe=tam3;
% %doi cho so ngay thue
% tam4=Nguoi(j).Songaythue;
% Nguoi(j).Songaythue=Nguoi(j+1).Songaythue;
% Nguoi(j+1).Songaythue=tam4;
% %doi cho so xe
% tam5=Nguoi(j).Soxe;
% Nguoi(j).Soxe=Nguoi(j+1).Soxe;
% Nguoi(j+1).Soxe=tam5;
% %doi cho tien thue
% tam6=Nguoi(j).Tienthue;
% Nguoi(j).Tienthue=Nguoi(j+1).Tienthue;
% Nguoi(j+1).Tienthue=tam6;
% 
% end
% end
% end
 %Ket thuc chua bi truoc khi them nguoi moi
 %Them thong tin cho nguoi moi
 fprintf('Nhap thong tin cho nguoi moi\n')
 fprintf('\tNhap ma: ')
 Nguoi(n2+1).Ma = input('');
 fprintf('\tNhap vao don vi: ')
 Nguoi(n2+1).Donvi=input('','s');
 fprintf('\tNhap Loai xe: ')
 Nguoi(n2+1).Loaixe=input('');
 fprintf('\tNhap so ngay thue: ')
 Nguoi(n2+1).Songaythue=input('');
 fprintf('\tNhap so xe: ')
 Nguoi(n2+1).Soxe=input('');
 if(Nguoi(n2+1).Songaythue==1)
 Nguoi(n2+1).Tienthue=500000;
 else if(Nguoi(n2+1).Songaythue<=4)
 Nguoi(n2+1).Tienthue=500000+(Nguoi(n2+1).Songaythue-1)*400000;
 else if(Nguoi(n2+1).Songaythue<=8)
 Nguoi(n2+1).Tienthue=500000 + 3*400000 +(Nguoi(n2+1).Songaythue-4)*300000;
 else
 Nguoi(n2+1).Tienthue= 500000 + 3*400000 +4*300000+(Nguoi(n2+1).Songaythue-8)*200000;
 end
 end
 end
 %Ket thuc them thong tin cho nguoi moi
 %Sau do se doi cho nguoi moi them va nguoi thu nhap vao
 %doi cho Ma
 for i=n2+1:-1:nhap2+1
 tam1=Nguoi(i).Ma; 
 Nguoi(i).Ma=Nguoi(i-1).Ma;
 Nguoi(i-1).Ma=tam1; 
 %Doi cho don vi
 tam2=Nguoi(i).Donvi;
 Nguoi(i).Donvi=Nguoi(i-1).Donvi;
 Nguoi(i-1).Donvi=tam2; 
 %doi cho loai xe
 tam3=Nguoi(i).Loaixe;
 Nguoi(i).Loaixe=Nguoi(i-1).Loaixe;
 Nguoi(i-1).Loaixe=tam3; 
 %doi cho so ngay thue
 tam4=Nguoi(i).Songaythue;
 Nguoi(i).Songaythue=Nguoi(i-1).Songaythue;
 Nguoi(i-1).Songaythue=tam4; 
 %doi cho so xe
 tam5=Nguoi(i).Soxe; 
 Nguoi(i).Soxe=Nguoi(i-1).Soxe;
 Nguoi(i-1).Soxe=tam5; 
 %doi cho tien thue
 tam6=Nguoi(i).Tienthue;
 Nguoi(i).Tienthue=Nguoi(i-1).Tienthue;
 Nguoi(i-1).Tienthue=tam6;
 end
 n2=length(Nguoi);
 fprintf('Sau khi them nguoi ta co \n')
 fprintf('Ma DonVi LoaiXe SoNgayThue SoXe TienThue\n')
 for i=1:n2
 fprintf('%d %s %d %d %d %d\n', Nguoi(i).Ma, Nguoi(i).Donvi, Nguoi(i).Loaixe, Nguoi(i).Songaythue, Nguoi(i).Soxe,Nguoi(i).Tienthue)
 end
 fprintf('\tBan chon tiep(12:thoat): ')
 chon=input('');
 case 7
 mang1=size(arrdonvi);
 if(mang1<1)
 fprintf('\tBan hay chon 1 truoc! \n')
 return
 end
 %Cau 7
 %Sua thong tin cua 1 nguoi khi nhap vao ma
 fprintf('Ban muon sua thong tin nguoi co ma la gi? ')
 nhap3 = input('');
 n3= length(Nguoi);
 vitri=0;
 dvtam='A';
 lxtam=0;
 snttam=0;
 sxtam=0;
 tttam=0;
 for i=1:n3
 if(nhap3==Nguoi(i).Ma)
 vitri=i;
 dvtam=Nguoi(i).Donvi;
 lxtam=Nguoi(i).Loaixe;
 snttam=Nguoi(i).Songaythue;
 sxtam=Nguoi(i).Soxe;
 tttam=Nguoi(i).Tienthue;
 fprintf('\n\tNhap vao don vi: ')
 Nguoi(i).Donvi=input('','s');
 fprintf('\tNhap Loai xe: ')
 Nguoi(i).Loaixe=input('');
 fprintf('\tNhap so ngay thue: ')
 Nguoi(i).Songaythue=input('');
 fprintf('\tNhap so xe: ')
 Nguoi(i).Soxe=input('');
 if(Nguoi(i).Songaythue==1)
 Nguoi(i).Tienthue=500000;
 else if(Nguoi(i).Songaythue<=4)
 Nguoi(i).Tienthue=500000+(Nguoi(i).Songaythue-1)*400000;
 else if(Nguoi(i).Songaythue<=8)
 Nguoi(i).Tienthue=500000 + 3*400000 +(Nguoi(i).Songaythue-4)*300000;
 else
 Nguoi(i).Tienthue= 500000 + 3*400000 +4*300000+(Nguoi(i).Songaythue-8)*200000;
 end
 end
 end
 end
 end
 n3=length(Nguoi);
 fprintf('TRUOC KHI SUA THONG TIN NGUOI CO MA %d TAI VI TRI %d NHU SAU \n',nhap3,vitri);
 fprintf('Ma DonVi LoaiXe SoNgayThue SoXe TienThue\n')
 fprintf('%d %s %d %d %d %d\n', Nguoi(vitri).Ma,dvtam,lxtam, snttam, sxtam, tttam)
 fprintf('Sau khi sua thong nguoi ta co ma %d tai vi tri %d tro thanh\n',nhap3,vitri)
 fprintf('Ma DonVi LoaiXe SoNgayThue SoXe TienThue\n')
 fprintf('%d %s %d %d %d %d\n', Nguoi(vitri).Ma, Nguoi(vitri).Donvi, Nguoi(vitri).Loaixe, Nguoi(vitri).Songaythue, Nguoi(vitri).Soxe,Nguoi(vitri).Tienthue)
 fprintf('CA DANH SACH SAU KHI SUA THONG TIN NHU SAU\n')
 fprintf('Ma DonVi LoaiXe SoNgayThue SoXe TienThue\n')
 for i=1:n3
 fprintf('%d %s %d %d %d %d\n', Nguoi(i).Ma, Nguoi(i).Donvi, Nguoi(i).Loaixe, Nguoi(i).Songaythue, Nguoi(i).Soxe,Nguoi(i).Tienthue)
 end
 fprintf('\tBan chon tiep(12:thoat): ')
 chon=input('');
 case 8
 mang1=size(arrdonvi);
 if(mang1<1)
 fprintf('\tBan hay chon 1 truoc: ')
 return
 end
 %Cau 8
 %Ve do thi bieu dien tuong quan giua tien thue va so ngay thue
 n=length(Nguoi);
 for i=1:n
 ngaythue(i)=Nguoi(i).Songaythue;
 tienthue(i)=Nguoi(i).Tienthue;
 end
 figure
 plot(ngaythue,tienthue,'r*-')
 xlabel('Ngay thue')
 ylabel('Tien thue')
 title('Tuong quan giua ngay thue va tien thue')
 fprintf('\tBan chon tiep(12:thoat): ')
 chon=input('');
 case 9
 %cau 9
 %Ve do thi dang cot de so sanh tien thue va so xe
 n=length(Nguoi);
 for i=1:n
 soxe(i)=Nguoi(i).Soxe;
 tienthue1(i)=Nguoi(i).Tienthue;
 end
 figure
 bar(soxe,tienthue1)
 xlabel('So Xe')
 ylabel('Tien Thue')
 title('Tuong quan giua ngay thue va so xe')
 fprintf('\tBan chon tiep(12:thoat): ')
 chon=input('');
 case 10
 %cau 10
 %Ve do thi dang pie Cho cot tien thue cua tung don vi
 n=length(Nguoi);
 for i=1:n
 tienthue2(i)=Nguoi(i).Tienthue;
 end
 figure
 pie(tienthue2)
 fprintf('\tBan chon tiep(12:thoat): ')
 chon=input('');
 case 11
 fprintf('====================================================\n')
 fprintf('\t1.Nhap Du Lieu va tinh tien thue cho tung nguoi.\n')
 fprintf('\t2.Sap xep theo so xe giam dan.\n')
 fprintf('\t3.Tim thong tin tung nguoi khi nhap vao ma.\n')
 fprintf('\t4.Tinh tong tien thue cua tung don vi va ca danh sach.\n')
 fprintf('\t5.Xoa nguoi khi nhap va ma.\n')
 fprintf('\t6.Them nguoi o vi tri bat ky.\n')
 fprintf('\t7.Sua thong tin nguoi khi nhap ma.\n')
 fprintf('\t8.Do thi tuong quan tien thue so ngay thue.\n')
 fprintf('\t9.Do thi danh cot so sanh tien thue so ngay thue.\n')
 fprintf('\t10.Do thi dang pie cho cot tong tien thue.\n')
 fprintf('\t11.Ve Menu\n')
 fprintf('\t12.Thoat.\n\n')
 fprintf('====================================================\n')
 fprintf('\tBan chon: ')
 chon=input('');
 end
 end
end%ket thuc function
3,Câu 2
Code:
function Bai2()
dem=1;
for i=7:1.7:17
 x=[-4:0.2:i];
 y=3*x.^4 + 2*x.^3-2*x+1;
 Xlabel('truc x')
 Ylabel('truc y')
 title('y=3*x^4 + 2*x^3-2*x+1')
 subplot(3,2,dem)
 plot(x,y,'r.-')
 dem=dem+1;
 Xlabel('truc x')
 Ylabel('truc y')
 title('y=3*x^4 + 2*x^3-2*x+1')
 grid on
end
end
Hình ảnh:
Hình 2 : Đồ thị hàm số y=3x4 + 2x3-2x+1
4,Câu 3
Code:
function Bai3()
x=[-2.5:8.5]
y=x;
[X1,Y1]=meshgrid(x,y);
r=X1+Y1;
z=4*(cos(r)).^2+2*cos(r);%ve day hinh vuong
subplot(2,3,1),mesh(X1,Y1,z)
title('Meshgrid day hinh vuong')
xlabel('truc x')
ylabel('truc y')
zlabel('truc z')
y=x;
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;%ve day hinh tron
z=4*(cos(R)).^2+2*cos(R);
subplot(2,3,4),mesh(X,Y,z)
title('Meshgrid day hinh tron')
xlabel('truc x')
ylabel('truc y')
zlabel('truc z')
[X1,Y1]=meshgrid(x,y);
r=X1+Y1;
z=4*(cos(r)).^2+2*cos(r);%ve day hinh vuong
subplot(2,3,2),surfc(X1,Y1,z)
title('Surfc day hinh vuong')
xlabel('truc x')
ylabel('truc y')
zlabel('truc z')
y=x;
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;%ve day hinh tron
z=4*(cos(R)).^2+2*cos(R);
subplot(2,3,5),surfc(X,Y,z)
title('Surfc day hinh tron')
xlabel('truc x')
ylabel('truc y')
zlabel('truc z')
[X1,Y1]=meshgrid(x,y);
r=X1+Y1;
z=4*(cos(r)).^2+2*cos(r);%ve day hinh vuong
subplot(2,3,3),waterfall(X1,Y1,z)
title('Waterfall day hinh vuong')
xlabel('truc x')
ylabel('truc y')
zlabel('truc z')
y=x;
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;%ve day hinh tron
z=4*(cos(R)).^2+2*cos(R);
subplot(2,3,6),waterfall(X1,Y1,z)
title('Waterfall day hinh tron')
xlabel('truc x')
ylabel('truc y')
zlabel('truc z')
Hinh ảnh:
Hình 3 : Đồ thị hàm số y= 4cos2x+ 2cosx
 5,Câu 4
Code:
function Bai4()
syms x y
%Tinh Dao ham
y=2*tan(x).^3+2*sin(x).^2+3*tan(x)*cos(x)+1;
fprintf('Hien thi o dang quen thuoc c?a ham so: y=')
pretty(y)
fprintf('Dao ham cap 1:')
y1 = diff(y,x)
fprintf('Hien thi o dang quen thuoc c?a Dao ham cap 1: y1=:')
pretty(y1)
fprintf('Dao ham cap 2:')
y2 = diff(y,x,2)
fprintf('Hien thi o dang quen thuoc cua Dao ham cap 2: y2= :')
pretty(y2)
fprintf('Dao ham cap 5:')
y5 = diff(y,x,5)
fprintf('Hien thi o dang quen thuoc cua Dao ham cap 5: y5=')
pretty(y5)
%Tinh tich phan bat dinh cua ham y
fprintf('Tinh tich phan bat dinh theo bien x')
t=int(y,x)
fprintf('Hien thi o dang quen thuoc cua cua tich phan: S=')
pretty(t)
%Tinh gioi han khi x->0.6
fprintf('Tinh gioi han cua y khi x->0.6:')
L=limit(y,x,0.6)
end
IV,PHIẾU CHO ĐIỂM
1,Nhận xét
2,Cho điểm
Sinh Viên 1
Nguyễn Văn Thành
Sinh Viên 2
Nguyễn Xuân Trường
Sinh Viên 3
Nguyễn Chí Nhiên 
Sinh Viên 4
Nguyễn Văn Việt
 Chúng em xin cám ơn cô trong thời gian qua đã giúp chúng em hoàn thành môn học…!!!

File đính kèm:

  • docBài tập nhỏ Matlab.doc
Tài liệu liên quan