Bài t p l n môn Matlab ậ ớ

N I DUNG BÁO CÁO Ộ

• Đ bài ề

• M c Tiêu ụ

• Ch ng trình demo ươ

• Nh n xét và cho đi m ể ậ

Trang 1

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

: mã ,đ nơ ỗ ế

ố ố ậ ạ ự . Hãy l p trình th c ồ ị ạ i bao g m các thông tin sau ườ ự ơ

: ệ ụ

ườ : i

ề ượ ừ ư c tính nh sau: 1 ngày đ u m i ngày là 500000 cho 1 xe, 3 ỗ ầ

ỗ ế ế ỗ

ế ỗ

ế ắ ầ

ố ủ

ủ ả ị ổ ề

ấ ườ ậ

I.Đ 11ề Câu 1 : Nh p vào danh sách thu xe ô tô, m i ng ậ v , lo i xe, s ngày thuê, s xe . Trong đó đ n v d ng kí t ị hi n các m c sau 1. Tính ti n thuê cho t ng ng ề Ti n thuê đ 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ì. ộ ườ ở ị i khi nh p vào mã. 7. S a ch a thông tin c a m t ng ộ ủ ữ ử ng quan gi a ti n thuê và s ngày thuê. 8. V đ th bi u di n t ố ữ ề ễ ươ ẽ ồ ị ể 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 . ị ủ ừ ộ ổ ẽ ồ ị ạ ề ơ

ồ ị cho hàm s ố y=3x4 + 2x3-2x+1, x trong [-4,i] các đi m cách ể

2x+ 2cosx,

ớ ế ừ 7 đ n 17 kho ng cách là 1.7 ả

ạ ố

3x + 2sin2x + 3tg x cos x+1

ộ ồ ị ớ

d ng quen thu c ộ ị ở ạ ể

fi Câu 2 : V ẽ trên m t ộ đ th nhau là 0.2, v i i t Câu 3 : V trên m t đ th các d ng mesh,waterfall,surfc cho hàm s y= 4cos ẽ v i x:[-2.5, 8.5] v i đáy hình ch nh t và đáy hình tròn. ữ ậ ớ Câu 4: Cho hàm s f(x) = 2tg ố Tính f’(x), f”’(x), f(5)(x) và hi n th Tính tích phân b t đ nh c a f ấ ị i h n khi x Tính gi ủ 0.6 ớ ạ

Trang 2

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

II.M C TIÊU Ụ

- Làm quen v i l p trình Matlab c b n ơ ả ớ ậ

- N m rõ,hi u rõ các hàm toán h c trong Matlab ể ắ ọ

- Bi t cách l p trình giao di n b ngMatlab ế ệ ậ ằ

- Làm quen v i ph n m m Matlab và s d ng. ử ụ ề ầ ớ

Trang 3

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

i thi u v các thành viên group 11 và các menu ớ ệ ề ầ

NG TRÌNH DEMO III. CH ƯƠ 1, Giao di n chính ệ Giao di n chính là ph n gi ệ bài t p.ậ Code

% Giao dien chuong trinh h=figure('name','KIEM TRA MATLAB',... 'color',[0.1 0.7 0.8],... 'numbertitle','on',... 'units','normalized',... 'position',[0.1 0.1 0.85 0.85]); % Tao tieu de t=uicontrol(h,... 'style','text',... 'units','normalized',... 'foregroundcolor','b',... 'backgroundcolor',[0.1 0.7 0.8],... 'string','DAI HOC CHU VAN AN',... 'FontSize',21,... 'position',[0.05 0.91 0.9 0.07]); % Tao tieu de t1=uicontrol(h,... 'style','text',... 'units','normalized',... 'foregroundcolor','b',... 'backgroundcolor',[0.1 0.7 0.8],... 'string','KHOA CONG NGHE THONG TIN',... 'FontSize',20,... 'position',[0.05 0.87 0.9 0.07]); % Tao tieu de tieude=uicontrol(h,... 'style','text',... 'units','normalized',...

Trang 4

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

'foregroundcolor','b',... 'backgroundcolor',[0.1 0.7 0.8],... 'string','BAI TAP LON MATLAB ',... 'FontSize',30,... 'position',[0.05 0.7 0.9 0.07]); % Tao tieu de N=uicontrol(h,... 'style','text',... 'units','normalized',... 'foregroundcolor','b',... 'backgroundcolor',[0.1 0.7 0.8],... 'string',' ',... 'FontSize',24,... 'position',[0.05 0.64 0.9 0.07]); % Tao tieu de N1=uicontrol(h,... 'style','text',... 'units','normalized',... 'foregroundcolor','b',... 'backgroundcolor',[0.1 0.7 0.8],... 'string','Nhom 11: Nguyen Van Thanh ',... 'FontSize',20,... 'position',[0.0002 0.5 0.54 0.07]); % Tao tieu de q1=uicontrol(h,... 'style','text',... 'units','normalized',... 'foregroundcolor','b',... 'backgroundcolor',[0.1 0.7 0.8],... 'string',' Nguyen Xuan Truong ',... 'FontSize',20,... 'position',[0.0002 0.46 0.67 0.07]); % Tao tieu de N2=uicontrol(h,... 'style','text',... 'units','normalized',...

Trang 5

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

'foregroundcolor','b',... 'backgroundcolor',[0.1 0.7 0.8],... 'string',' Nguyen Chi Nhien ',... 'FontSize',20,... 'position',[0.0002 0.42 0.64 0.07]); % Tao tieu de N3=uicontrol(h,... 'style','text',... 'units','normalized',... 'foregroundcolor','b',... 'backgroundcolor',[0.1 0.7 0.8],... 'string',' Nguyen Van Viet ',... 'FontSize',20,... 'position',[0.0002 0.38 0.62 0.07]); % Tao tieu de N4=uicontrol(h,... 'style','text',... 'units','normalized',... 'BackgroundColor',[0.2 0.2 0.9],... 'foregroundcolor',[0.2 1 0.8],... 'string',' MENU ',... 'FontSize',27,... 'position',[0.009 0.28 0.98 0.07]); uicontrol('style','push','Units','Normalized',... 'BackgroundColor',[0.5 0.2 0.9],... 'foregroundcolor',[0.1 1 0.8],... 'position',[0.05 0.15 0.1 0.1],'string','Bai1','callback','bai1MatlabDe11new'); uicontrol('style','push','Units','Normalized',... 'BackgroundColor',[0.5 0.2 0.9],... 'foregroundcolor',[0.1 1 0.8],... 'position',[0.3 0.15 0.1 0.1],'string','Bai2','callback','cau2'); uicontrol('style','push','Units','Normalized',...

Trang 6

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

'BackgroundColor',[0.5 0.2 0.9],... 'foregroundcolor',[0.1 1 0.8],... 'position',[0.55 0.15 0.1 0.1],'string','Bai3','callback','cau3'); uicontrol('style','push','Units','Normalized',... 'BackgroundColor',[0.5 0.2 0.9],... 'foregroundcolor',[0.1 1 0.8],... 'position',[0.80 0.15 0.1 0.1],'string','Bai4','callback','cau4'); % Tao nut dong CT Dong=uicontrol(h,... 'style','pushbutton',... 'units','normalized',... 'BackgroundColor',[0.5 0.2 0.9],... 'foregroundcolor',[0.1 1 0.8],... 'string','Thoat',... 'foregroundcolor','b',... 'callback','close');

Trang 7

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

Hình 1 : Giao di n chính ệ

Trang 8

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

: mã ,đ nơ ỗ ế

ố ố ậ ạ ự . Hãy l p trình th c ồ ị ạ i bao g m các thông tin sau ườ ự ơ

: ệ ụ

ườ : i

ề ượ ừ ư c tính nh sau: 1 ngày đ u m i ngày là 500000 cho 1 xe, 3 ỗ ầ

ỗ ế ế ỗ

ế ỗ

ế ắ ầ

ố ủ

ủ ả ị ổ ề

ấ ườ ậ

2,Câu 1 Yêu c u:ầ Nh p vào danh sách thu xe ô tô, m i ng ậ v , lo i xe, s ngày thuê, s xe . Trong đó đ n v d ng kí t ị hi n các m c sau 11.Tính ti n thuê cho t ng ng ề Ti n thuê đ 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. 12.S p x p theo s xe gi m d n. ả 13.Tìm thông tin c a ng i khi nh p vào mã. ườ ậ 14.Tính t ng ti n thuê c a t ng đ n v , t ng ti n thuê c a c danh sách. ủ ừ ơ ề ổ i khi nh p vào mã.. 15.Xóa đi m t ng ậ ườ i v trí i b t kì. 16.Thêm vào m t ng ườ ở ị ộ i khi nh p vào mã. 17.S a ch a thông tin c a m t ng ộ ủ ữ ử ng quan gi a ti n thuê và s ngày thuê. 18.V đ th bi u di n t ố ữ ề ễ ươ ẽ ồ ị ể 19.V đ th d ng c t đ so sánh ti n thuê và s xe. ẽ ồ ị ạ ố ộ ể 20.V đ th d ng Pie cho c t t ng ti n thuê c a t ng đ n v . ị ủ ừ ộ ổ ẽ ồ ị ạ ề ơ

Code:

function bai1() global arrdonvi; fprintf('===============DE SO 11=================\n') fprintf('==============Hay chon cac chuc nang============\n') %LABEL nhan1 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')

Trang 9

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

fprintf('\t11.Ve Menu\n') fprintf('\t12.Thoat.\n\n') fprintf('\tBan chon: ') chon=input(''); while(chon~=12) switch(chon) case 0 fprintf('\tBan chon(12:thoat): ') chon=input(''); case 1 n=input('Nhap vao so nguoi: '); while(n<=0) n=input('So nguoi ban nhap khong dung, yeu cau nhap lai: '); end Nguoi = struct('Ma',{},'Donvi',{},'Loaixe',{},'Songaythue',{},'Soxe', {},'Tienthue',{}); %Nguoitam = struct('Ma',{},'Donvi',{},'Loaixe',{},'Songaythue',{},'Soxe', {},'Tienthue',{}); disp('====NHAP THONG TIN CHO TUNG NGUOI====') for i=1:n %Nguoi = struct('Ma',{},'Donvi',{},'Loaixe',{},'Songaythue',{},'Soxe', {},'Tienthue',{}); fprintf('Nhap thong tin cho nguoi thu %d',i) fprintf('\n\tNhap ma: ') Nguoi(i).Ma = input(''); while(isempty(Nguoi(i).Ma)==1) fprintf('\n\tNhap lai ma: ') Nguoi(i).Ma = input(''); end if(i>=2) for a=1:i-1 if(Nguoi(i-a).Ma==Nguoi(i).Ma) fprintf('\n\t Ma vua nhap bi trung') fprintf('\n\t Nhap lai ma: ') Nguoi(i).Ma = input('');

Trang 10

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

end % if(Nguoi(i-a).Ma==Nguoi(i).Ma) % fprintf('\n\t Ma vua nhap bi trung') % fprintf('\n\t Nhap lai ma: ') % Nguoi(i).Ma = input(''); % end end end % end cua while fprintf('\tNhap vao don vi: ') Nguoi(i).Donvi=input('','s'); % soat loi while(isempty(Nguoi(i).Donvi)==1) fprintf('\tNhap lai don vi: ') Nguoi(i).Donvi=input('','s'); end % arrdonvi(i)=Nguoi(i).Donvi; fprintf('\tNhap Loai xe: ') Nguoi(i).Loaixe=input(''); %Soat loi while((isempty(Nguoi(i).Loaixe)==1)) fprintf('\tNhap lai Loai xe: ') Nguoi(i).Loaixe=input(''); end %++++++++++++++++++++++++++++++++ fprintf('\tNhap so ngay thue: ') Nguoi(i).Songaythue=input(''); %+++++++++++++++++++++++++ while(isempty(Nguoi(i).Songaythue)==1) fprintf('\tNhap lai so ngay thue: ') Nguoi(i).Songaythue=input(''); end %+++++++++++++++++++++++++++++++

Trang 11

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

fprintf('\tNhap so xe: ') Nguoi(i).Soxe=input(''); %+++++++++++++++++++++++++++++++++++ while(isempty(Nguoi(i).Soxe)==1) fprintf('\tNhap lai so xe: ') Nguoi(i).Soxe=input(''); end %+++++++++++++++++++++++++++++++++ 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 %Cau 2 fprintf('CAU A IN RA DANH SACH ROI TINH LUON TIEN THUE\n') fprintf('Ma DonVi LoaiXe SoNgayThue SoXe TienThue\n') n=length(Nguoi); for i=1:n 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(''); %Cau 3 - Sap xep danh sach theo so xe giam dan

Trang 12

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

case 2 mang1=size(arrdonvi); if(mang1<1) fprintf('\tBan hay chon 1 truoc! \n') return end fprintf('SAP XEP THEO SO XE GIAM DAN\n') max=0; n1=length(Nguoi);%Lay ve kich thuoc de tranh sai sot for i=1:n1 max=i; for j=i+1:n1 if(Nguoi(j).Soxe>Nguoi(max).Soxe) max=j; end tam = Nguoi(i).Soxe; Nguoi(i).Soxe=Nguoi(max).Soxe; Nguoi(max).Soxe=tam; %Sap xep lai don vi tam3 = Nguoi(i).Donvi; Nguoi(i).Donvi=Nguoi(max).Donvi; Nguoi(max).Donvi=tam3; %Sap xep lai loai xe tam4 = Nguoi(i).Loaixe; Nguoi(i).Loaixe=Nguoi(max).Loaixe; Nguoi(max).Loaixe=tam4; %Sap xep lai ma tam2 = Nguoi(i).Ma; Nguoi(i).Ma=Nguoi(max).Ma; Nguoi(max).Ma=tam2; %Sap xep lai so ngay thue tam5 = Nguoi(i).Songaythue; Nguoi(i).Songaythue=Nguoi(max).Songaythue; Nguoi(max).Songaythue=tam5; %Sap xep lai tien thue tam6 = Nguoi(i).Tienthue; Nguoi(i).Tienthue=Nguoi(max).Tienthue; Nguoi(max).Tienthue=tam6;

Trang 13

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

end end n=length(Nguoi); fprintf('Ma DonVi LoaiXe SoNgayThue SoXe TienThue\n') for i=1:n 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 3 mang1=size(arrdonvi); if(mang1<1) fprintf('\tBan hay chon 1 truoc! \n') return end %cau 3 fprintf('===TIM THONG TIN CUA 1 NGUOI KHI NHAP VAO MA===\n') fprintf('Xin moi nhap vao ma can tim kiem: ') nhap=input(''); fprintf('\nBan da nhap: %d\n',nhap) fprintf('Ket qua tim kiem: \n') demnguoi=0; vitringuoi=0; n1 = length(Nguoi);%Lay ve kich thuoc se linh hoat hon neu nhu mang duoc xoa hay them for i=1:n1 if(nhap==Nguoi(i).Ma) demnguoi=demnguoi+1; vitringuoi=i; end end if(demnguoi~=0) fprintf('Da tim thay nguoi co ma %d tai vi tri thu %d\n ',Nguoi(vitringuoi).Ma,vitringuoi);

Trang 14

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

fprintf('Thong tin nguoi do nhu sau:\n') fprintf('Ma DonVi LoaiXe SoNgayThue SoXe TienThue\n') fprintf('%d %s %d %d %d %d\n', Nguoi(vitringuoi).Ma, Nguoi(vitringuoi).Donvi, Nguoi(vitringuoi).Loaixe, Nguoi(vitringuoi).Songaythue, Nguoi(vitringuoi).Soxe,Nguoi(vitringuoi).Tienthue) else fprintf('Khong tim thay ai co ma vua nhap!') end fprintf('\tBan chon tiep(12:thoat): ') chon=input(''); case 4 mang1=size(arrdonvi); if(mang1<1) fprintf('\tBan hay chon 1 truoc! \n') return end %cau 4 %tinh tong tien thue cua tung don vi,tong tien thue cua ca danh sach dem=0; tientungdvsonhieu=0; tientungdv=0; arrremoveddum=unique(arrdonvi,'first');%loai bo thanh phan trung lap trong mang arrdonvi n1=size(arrremoveddum);%lay ve kich thuoc mang arrremoveddum tam=0; %that la rac roi khi phai lay ra so nguoi trung nhau roi lai so %sanh voi chinh no for j=1:n1 for i=1:n if(Nguoi(i).Donvi==arrremoveddum(j)) dem=dem+1; end end end %neu co nhieu nguoi trung nhau thi chi in ra lan cuoi, tuc la gia %tri cuoi tinh duoc cua tien thue don vi do for j=1:n1

Trang 15

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

for i=1:n if(Nguoi(i).Donvi==arrremoveddum(j)) tientungdvsonhieu=tientungdvsonhieu+Nguoi(i).Tienthue; tam=tam+1; if(tam==dem) fprintf('Tong tien thue cua don vi %s la: %g\n',arrremoveddum(j),tientungdvsonhieu) end else tientungdv=Nguoi(i).Tienthue; fprintf('Tong tien thue cua don vi %s la: %g\n',Nguoi(i).Donvi,tientungdv) end end end %tinh tong tien thue cho tat ca danh sach tongthue=0; for i=1:n tongthue=tongthue+Nguoi(i).Tienthue; end fprintf('Tong tien cua ca danh sach: %g',tongthue) fprintf('\tBan chon tiep(12:thoat): ') chon=input(''); case 5 mang1=size(arrdonvi); if(mang1<1) fprintf('\tBan hay chon 1 truoc! \n') return end %Cau 5 %Xoa di 1 nguoi khi nhap vao ma fprintf('Hay nhap vao ma nguoi can xoa: ') nhap1 = input(''); n2=length(Nguoi); %quan ly nguoi ban linked_list % listObj = linked_list([]); % for i=1:n2

Trang 16

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

% listObj.add_element(Nguoi(i),i); % end tam2=0; t=0; for i=1:n2 if(nhap1==Nguoi(i).Ma) Nguoi(i)=[]; % t=i; % while(tam2~=(n-t)) % tam2=tam2+1; % Nguoi(i+1).Ma=Nguoi(i).Ma; % Nguoi(i+1).Donvi=Nguoi(i).Donvi; % Nguoi(i+1).Loaixe=Nguoi(i).Loaixe; % Nguoi(i+1).Songaythue=Nguoi(i).Songaythue; % Nguoi(i+1).Soxe=Nguoi(i).Soxe; % Nguoi(i+1).Tienthue=Nguoi(i).Tienthue; % i=i+1; %end break; end end fprintf('Sau khi xoa ta co danh sach\n') fprintf('Ma DonVi LoaiXe SoNgayThue SoXe TienThue\n') n3=length(Nguoi); 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('gia tri 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')

Trang 17

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

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;

Trang 18

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

% %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;

Trang 19

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

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')

Trang 20

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

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: ')

Trang 21

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

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

Trang 22

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

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')

Trang 23

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

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

Trang 24

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

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:ả

Trang 25

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

Hình 2 : Đồ th hàm s ị ố y=3x4 + 2x3-2x+1

4,Câu 3

Trang 26

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

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')

Trang 27

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

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:ả

Trang 28

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

Hình 3 : Đồ th hàm s ị ố y= 4cos2x+ 2cosx

5,Câu 4 Code:

Trang 29

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

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 ậ

Trang 30

GVHD : Đ Th M

Group 11

ị ơ

Bài t p l n môn Matlab ậ ớ

.................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. ..................................................................................................................................

2,Cho đi mể

Sinh Viên 1 Nguy n Văn Thành ng ễ Sinh Viên 2 Nguy n Xuân Tr ễ ườ

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…!!! ọ

Trang 31

GVHD : Đ Th M

Group 11

ị ơ