Tài liệu tham khảo Giáo trình cơ sở Matlab v5.2-1 - Phần 2 Bài tập ứng dụng I
Phần bi tập ví dụ v lời giải Bi tập ứng dụng phần B i Xây dựng hm bËc nhÊt y = ax + b víi c¸c tham số a,b đợc đa vo từ bn phím Truy xuất kết lên mn hình đồ hoạ Bi giải: %A.1 Vẽ theo phơng trình hm bậc % y = ax + b clg a=0;b=0;c=0;d=0;e=0; disp('Khong gian hai chieu') disp('Ve thi ham bac nhat y = ax + b'); a=input('Vao he so bac nhat ; a = '); b=input('Vao he so tu : b = '); x=-5:0.1:5; y=a*x+b; hold on plot(x,y,'m-') plot(y,zeros(x),'c-') plot(zeros(x),x,'c-') text(-1,-1.5,'O') text(-0.05,max(y),'^') text(max(x),0,'>') title('Ham bac nhat') hold off clc Bμ i X©y dùng hμm bËc hai y = ax^2 + bx + c víi tham số a, b, c đợc đa vo từ bn phím Truy xuất kết lên mn hình đồ hoạ Phần - Cơ sở 120 Phần bi tập vÝ dơ vμ lêi gi¶i Bμi gi¶i: %B.1 VÏ theo phơng trình hm bậc % y = ax^2 + bx + c disp('Next : Ham so bac hai') pause clg disp('Ve thi ham bac hai y = ax^2 + bx +c'); a=input('Vao he so bac hai ; a = '); b=input('Vao he so bac nhat : b = '); c=input('Vao he so tu c = '); x=-3:0.1:3; y=a*(x.^2)+b*x+c; hold on plot(x,y,'m-') plot(y,zeros(x),'c-') plot(zeros(x),x,'c-') text(-1,-1.5,'O') text(-0.05,max(y),'^') text(max(x),0,'>') title('Ham bac hai') hold off clc Bμ i X©y dùng hμm bËc hai y = 1/( ax + b ) với tham số a, b đợc đa vo từ bn phím Truy xuất kết lên mn hình đồ hoạ % Vẽ theo phơng trình hm Ham so % y = 1/( ax + b ) disp('Next : Ham so y=1/(ax+b)') pause clg disp('Ve thi ham y =1/(ax + b)'); a=input('Vao he so bac nhat ; a = '); b=input('Vao he so tu : b = '); x=-5:0.1:5; y=1./(a*x+b); Phần - Cơ sở 121 Phần bi tËp vÝ dơ vμ lêi gi¶i hold on plot(x,y,'m-') plot(y,zeros(x),'c-') plot(zeros(x),x,'c-') text(-1,-1.5,'O') text(-0.05,max(y),'^') text(max(x),0,'>') title('Ham y=1/(ax+b)') hold off clc Bμ i X©y dùng hμm r = a* phi víi tham số a đợc đa vo từ bn phím Truy xuất kết lên mn hình đồ hoạ với hệ toạ độ dùng l hệ toạ độ cực Bi giải: % Ví dụ hệ toạ độ cực disp('Next : He toa cuc') pause clg % D.1 VÏ ®−êng xoan èc % r = a* phi disp('Ve duong xoan oc : r = a*tt') pause clg a=input('Vao he so a = '); tt=0:0.1:8*pi; r=a*tt; axis('equal','off') polar(tt,r) title('Duong xoan oc') disp('Ve nhieu lan') pause axis('equal','off') for m=1:8 hold on r1=r*m; polar(tt,r1) hold off end Phần - Cơ sở 122 Phần bi tập ví dụ v lời giải B i X©y dùng hμm r = a*cos ( phi ) + b với tham số a,b đợc đa vo từ bn phím Truy xuất kết lên mn hình đồ hoạ với hệ toạ độ dùng l hệ toạ độ cực Bi giải: %D.2 Đờng ốc sên r = a*cos ( phi ) + b disp('Next :duong oc sen r=a*cos(tt)+b') pause clg a=input('Vao he so a = '); b=input('Vao he so b = '); tt=0:0.1:8*pi; r=a*cos(tt)+b; axis('equal','off') polar(tt,r) title('Duong oc sen') disp('Ve nhieu lan') pause for m=1:8 hold on r1=r*m; polar(tt,r1) hold off end Bμ i X©y dựng hm Astroit với tham số a đợc đa vo từ bn phím Truy xuất kết lên mn hình đồ hoạ với hệ toạ độ dùng l hệ toạ độ cực Bi giải: %D.3 Đờng astroit disp('Next :duong Astroit ') pause clg a=input('Vao he so a = '); tt=0:0.1:8*pi; r=a*sqrt(abs(1-sin(3*tt)/4)); polar(tt,r) title('Duong Astroit') disp('Ve nhieu lan') pause PhÇn - Cơ sở 123 Phần bi tập ví dụ vμ lêi gi¶i for m=1:8 hold on r1=r*m; polar(tt,r1) hold off end B i Xây dựng phơng trình đờng Lemniscat Becnulli với tham số a đợc đa vo từ bn phím Truy xuất kết lên mn hình ®å ho¹ víi hƯ to¹ ®é dïng lμ hƯ to¹ độ cực Bi giải: % D.4 Đờng Lemniscat Becnulli disp('Next :duong Lemniscat Becnulli') pause clg a=input('Vao he so a = '); tt=0:0.1:8*pi; r=a*sqrt(abs(2*cos(2*tt))); axis('equal','off') polar(tt,r) title('Duong xoan oc') disp('Ve nhieu lan') pause for m=1:8 hold on r1=r*m; polar(tt,r1) hold off end B i Dùng hm bucky để xây dựng hình giả 3chiều Truy xuất kết lên mn hình đồ hoạ Bi giải: %Không gian 3D Phần - Cơ sở 124 Phần bi tập ví dụ v lời gi¶i disp('Khong gian ba chieu ') pause clg %e.1 VÏ hình bóng disp('Ve qua bong da') [B,V]=bucky; H=sparse(60,60); k=31:60; H(k,k)=B(k,k); x=V(:,1); y=V(:,2); gplot(H,V,'m-') axis('equal','off'); hold on gplot(B-H,V,'c-') hold off B i Vẽ hm đồ thị không gian chiều Dùng plot3() Bi giải %e.2 Vẽ đờng có hình ảnh không gian disp('Ve duong co hinh anh khong gian') pause clg t=0:pi/50:8*pi; plot3(sin(t),cos(t),t); Bμi 10 VÏ mét sè bề mặt ví dụ không gian chiều với tham số tuỳ chọn Mặt parabolloit, mặt trụ Bi giải %e.3 Vẽ mặt không gian 3D disp('Next: Ve mat khong gian ba chieu') disp('Ve Parabolloit') pause clg PhÇn - Cơ sở 125 Phần bi tập ví dụ v lêi gi¶i t=-5:0.1:5; [x,y]=meshdom(t,t); z=x.^2+y.^2; mesh(z) title('Paraboloit') disp('Next: Mat tru sinh boi y=x^2') pause clg z=sqrt(x.^4+y.^2); mesh(z) title('Mat tru') pause Bi 11 Xây dựng menu môi trờng Matlab v thực số thao tác xây dựng hm đồ hoạ đơn giản Bao gồm: Vẽ hình cầu, phơng trình đờng sin(x)^2, sin(x^2)*exp(-x), sin(1/x)^2/x v tich phân xác định hm Bi giải function Thuctap(action); %Thuctap Chuong trinh ve mot hoa bao gom chuc % nang ve mot so ham va tich phan %Nhung viec can lam: % Nut1 :Sphere (Hinh cau) % Nut2,3,4 : Phuong trinh cac ham co ban % Nut : Tich phan xac dinh if nargin1 s1=s1+1; s=input('Neu tiep tuc thi s