A Đồ thị hai chiều 1 Lệnh vẽ đồ thị trong mặt phẳng Để vẽ đồ thị trong mặt phẳng, sử dụng lệnh plot Ví dụ x=linspace(0,2pi,30); y=sin(x); plot(x,y),title(Hinh 1) % Vẽ 2 đồ thị cùng 1 hình x=linspace(0,2pi,30); z=cos(x); plot(x,y,x,z), title(Hinh 2) % Vẽ 2 đồ thị cùng 1 hình, cách 2 x=linspace(0,2pi,30); W=y;z; plot(x,W), title(Hinh 3) Ví dụ x=linspace(0,2pi,30); y=sin(x); z=cos(x); plot(x,y,b p,x,z,r ,x,y+z,m+), title(Plot) xlabel(Bien doc lap) ylabel(Bien phu thuoc) lege.
A Đồ thị hai chiều Lệnh vẽ đồ thị mặt phẳng Để vẽ đồ thị mặt phẳng, sử dụng lệnh plot Ví dụ: x=linspace(0,2*pi,30); y=sin(x); plot(x,y),title('Hinh 1') % Vẽ đồ thị hình x=linspace(0,2*pi,30); z=cos(x); plot(x,y,x,z), title('Hinh 2') % Vẽ đồ thị hình, cách x=linspace(0,2*pi,30); W=[y;z]; plot(x,W), title('Hinh 3') Ví dụ: x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,'b:p',x,z,'r-',x,y+z,'m+'), title('Plot') xlabel('Bien doc lap') ylabel('Bien phu thuoc') legend('y=sin(x)', 'z=cos(x)', 'y+z') text(3,1,'Plot charts') axis equal % Tỉ lệ trục grid on % Hiển thị lưới % Vẽ nhiều đồ thị nhiều lệnh plot kết hợp lệnh hold on x=linspace(0,2*pi,30); y=sin(x); plot(x,y) z=cos(x); hold on plot(x,z,'m') Điều khiển cửa sổ figure ∙ Vẽ nhiều đồ thị nhiều hình lệnh figure figure % Cửa sổ hình thứ x=linspace(0,2*pi,30); y=sin(x); plot(x,y) figure % Cửa sổ hình thứ z=cos(x); hold on plot(x,z,'m') ∙ Vẽ nhiều đồ thị hình lệnh subplot x=linspace(0,2*pi,30); y=sin(x); z=cos(x); a=2*sin(x).*cos(x); b=sin(x)./(cos(x)+eps); subplot(2,2,1) % Chia cửa sổ thành x ô, vẽ ô plot(x,y,'b'),axis([0 2*pi -1 1]) subplot(2,2,2) % Chia cửa sổ thành x ô, vẽ ô plot(x,z,'r'),axis([0 2*pi -1 1]) subplot(2,2,3) plot(x,a,'k'),axis([0 2*pi -1 1]) subplot(2,2,4) plot(x,b,'g'),axis([0 2*pi -20 20]) B Đồ thị ba chiều Đồ thị đường Để vẽ đồ thị 3D dạng đường, sử dụng lệnh: plot3(x1, y1, z1, S1, x2, y2, z2, S2…) Ví dụ: t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t) xlabel('sin(t)'),ylabel('cos(t)'),zlabel('t') axis square; grid on; text(0,0,0,'Origin') Vẽ nhiều đường 3D đồ thị x=linspace(0,3*pi); ∙ z1=sin(x); z2=sin(2*x); z3=sin(3*x); y1=zeros(size(x)); y3=ones(size(x)); y2=y3/2; plot3(x,y1,z1,x,y2,z2,x,y3,z3) xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis') grid on Vẽ ma trận liệu [X,Y] = meshgrid([-2:0.1:2]); ∙ Z = X.*exp(-X.^2-Y.^2); plot3(X,Y,Z) xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis') grid on Đồ thị dạng lưới Để vẽ đồ thị 3D dạng lưới, sử dụng lệnh mesh(X,Y,Z) Ví dụ: [X,Y] = meshgrid(-8:.5:8); R = sqrt(X.^2 + Y.^2) + eps; Z = sin(R)./R; mesh(X,Y,Z) xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis') % hidden off % Lệnh vẽ lưới suốt meshc(X,Y,Z) % hiển thị đường mức meshz(X,Y,Z) % hiển thị đường x,y=const Đồ thị 3D dạng mặt Để vẽ đồ thị 3D dạng mặt, sử dụng lệnh surf(X,Y,Z) Ví dụ: [X,Y] = meshgrid(-8:.5:8); R = sqrt(X.^2 + Y.^2) + eps; Z = sin(R)./R; surf(X,Y,Z) shading flat % Bỏ đường lưới shading interp % Làm mịn màu surfc(X,Y,Z) % Đồ thị mặt có đường mức surfl(X,Y,Z) % Đồ thị mặt có hiệu ứng ánh sáng surfnorm(X,Y,Z) % Đồ thị mặt có pháp tuyến [X,Y,Z] = peaks(30); surfl(X,Y,Z) shading interp colormap pink Đồ thị đường mức Các cú pháp vẽ đồ thị đường mức: contour(X,Y,Z,N) %Đồ thị đường mức chiều contour3(X,Y,Z,N) %Đồ thị đường mức chiều pcolor(X,Y,Z) %Đồ thị chuyển cao độ tỉ lệ với màu contourf(X,Y,Z,N) %Đồ thị đường mức chiều có màu Ví dụ: % Đường mức chiều [X,Y,Z] =peaks; contour(X,Y,Z,20) % Đường mức chiều [X,Y,Z] =peaks; contour3(X,Y,Z,20) % Đồ thị màu cao độ pcolor(X,Y,Z) shading interp contourf(X,Y,Z,20) % Vẽ đồ thị đường mức có thêm cao độ C = contour(X,Y,Z,20); % tương tự cho contour3 contourf clabel(C) Phổ màu đồ thị Matlab cung cấp nhiều phổ màu đặc biệt Ví dụ: % Chọn đoạn màu cho phổ màu hot hot(8) [x,y,z]=peaks; mesh(x,y,z); colormap(hsv) axis([-3 -3 -6 8]) colorbar % hiển thị phổ màu Sử dụng nhiều phổ màu mymap=[hsv(32);copper(32)]; ∙ colormap(mymap) mesh(peaks+8); view(90,0) hold on mesh(peaks-8); colorbar C Đồ thị động ∙ Dùng lệnh pause để làm chậm tốc độ vẽ chương trình ∙ Nếu cần thiết, dùng lệnh hold on để vẽ đồ thị sau mà giữ đồ thị trước ∙ Cú pháp: pause(n) % n: 0.01 giây Ví dụ: x=linspace(0,2*pi); y=sin(x); for i=1:100 plot(x(i),y(i),'*','markersize',10) pause(0.2) end clear all x=linspace(0,2*pi); y=sin(x); for i=1:100 plot(x(i),y(i), '*','markersize',10) axis([0 2*pi+.2 -1.2 1.2]) hold on pause(0.2) end ... cú pháp vẽ đồ thị đường mức: contour(X,Y,Z,N) %Đồ thị đường mức chiều contour3(X,Y,Z,N) %Đồ thị đường mức chiều pcolor(X,Y,Z) %Đồ thị chuyển cao độ tỉ lệ với màu contourf(X,Y,Z,N) %Đồ thị đường... surfc(X,Y,Z) % Đồ thị mặt có đường mức surfl(X,Y,Z) % Đồ thị mặt có hiệu ứng ánh sáng surfnorm(X,Y,Z) % Đồ thị mặt có pháp tuyến [X,Y,Z] = peaks(30); surfl(X,Y,Z) shading interp colormap pink Đồ thị... contour3(X,Y,Z,20) % Đồ thị màu cao độ pcolor(X,Y,Z) shading interp contourf(X,Y,Z,20) % Vẽ đồ thị đường mức có thêm cao độ C = contour(X,Y,Z,20); % tương tự cho contour3 contourf clabel(C) Phổ màu đồ thị Matlab