hung22minh

New Member

Download miễn phí Giáo trình Matlab cơ bản





a.Các lệnh cơ bản: Lệnh mesh và surf tạo ra lưới và mặt 3D từ ma trận 
số liệu. Gọi ma trận số liệu là z mà mỗi phần tử của nó z(i, j) xác định tung độ 
của mặt thì mesh(z) tạo ra một lưới có màu thể hiện mặt z còn surf(z) tạo ra 
một mặt có màu z. 
  b. Đồ thị các hàm hai biến: Bước thứ nhất để thể hiện hàm 2 biến 
z=f(x,y) là tạo ma trận x và y chứa các toạ độ trong miền xác định của hàm. 
Hàm meshgrid sẽ biến đổi vùng xác định bởi 2 vec tơ x và y thành ma trận x 
và y. Sau đó ta dùng ma trận này để đánh giá hàm. 
Ta khảo sát hàm sin(r)/r. Để tính hàm trong khoảng ‐8 và 8 theo x và y 
ta chỉ cần chuyển một vec tơ đối số cho meshgrid: 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

 tạo trục thứ 2 ở vị trí trục thứ nhất trước nhất vẽ bộ số liệu thứ 2: 
  h2 = axes(ʹPositionʹ,get(h1,ʹPositionʹ)); 
20
  plot(days,TCE,ʹLineWidthʹ,3) 
Để trục thứ 2 không gây trở ngại cho trục thứ nhất ta viết: 
  set(h2,ʹYAxisLocationʹ,ʹrightʹ,ʹColorʹ,ʹnoneʹ,ʹXTickLabelʹ,[]) 
set(h2,ʹXLimʹ,get(h1,ʹXLimʹ),ʹLayerʹ,ʹtopʹ) 
Để ghi chú lên đồ thị ta viết: 
  text(11,380,ʹMat doʹ,ʹRotationʹ,‐‐55,ʹFontSizeʹ,16) 
  ylabel(ʹTCE Mat do (PPM)ʹ) 
  title(ʹXep chong do thiʹ,ʹFontSizeʹ,16) 
(lưu trong ct1_19.m) 
  d. Đồ hoạ vùng: Hàm area hiển thị đường cong tạo từ một vec tơ hay từ 
một  cột  của ma  trận. Nó vẽ  các giá  trị  của một  cột  của ma  trận  thành một 
đường cong riêng và tô đầy vùng không gian giữa các đường cong và trục x. 
ta xét chương trình ct1_20.m: 
 Y =   [5 1 2 
    8 3 7 
    9 6 8 
    5 5 5 
    4 2 3]; 
  area(Y) 
hiển thị đồ thị có 3 vùng, mỗi vùng một cột. Độ cao của mỗi đồ thị vùng  là 
tổng các phần tử trong một hàng. Mỗi đường cong sau sử dụng đường cong 
trước làm cơ sở. Để hiển thị đường chia lưới ta dùng lệnh: 
  set(gca,ʹLayerʹ,ʹtopʹ) 
  set(gca,ʹXTickʹ,1:5) 
  grid on 
  f. Đồ thị pie: Đồ  thị pie hiển  thị  theo  tỉ  lệ phần  trăm của một phần  tử 
của một vec tơ hay một ma trận so với tổng các phần tử. Các lệnh pie và pie3 
tạo ra đồ thị 2D và 3D. ta xét chương trình ct1_21.m: 
  X =   [19.3   22.1   51.6; 
    34.2   70.3   82.4; 
    61.4   82.9   90.8; 
21
    50.5   54.9   59.1; 
    29.4   36.3   47.0]; 
  x = sum(X); 
  explode = zeros(size(x)); 
  [c,offset] = max(x); 
  explode(offset) = 1; 
  h = pie(x,explode) 
  %A = [ 1 3 6]; 
      %pie3(A) 
Khi  tổng các phần  tử  trong đối số  thứ nhất bằng hay  lớn hơn 1, pie và pie3 
chuẩn hoá các giá trị. Như vậy cho vec tơ x, mỗi phần có diện tích  )x(sum/x ii  
với xi là  một phần tử của x. Giá trị được chuẩn hoá mô tả phần nguyên của 
mỗi vùng. Khi tổng các phần tử trong đối số thứ nhất nhỏ hơn 1, pie và pie3 
không chuẩn hoá các phần tử của vec tơ x. Chúng vẽ một phần pie. 
x = [.19 .22 .41]; 
  pie(x) 
  g. Làm hình chuyển động: Ta có thể tạo ra hình chuyển động bằng 2 cách
  • tạo và lưu nhiều hình khác nhau và lần lượt hiển thị chúng 
  • vẽ và xoá  liên  tục một đối  tượng  trên màn hình,mỗi  lần vẽ  lại có sự 
thay đổi. 
Với cách thứ nhất  ta thực hiện hình chuyển động qua 3 bước: 
  • dùng hàm moviein để dành bộ nhớ cho một ma trận đủ lớn nhằm lưu 
các khung hình. 
  • dùng hàm getframes để tạo các khung hình.  
  • dùng hàm movie để hiển thị các khung hình. 
Sau đây  là ví dụ sử dụng movie để quan sát hàm  fft(eye(n)).Ta  tạo chương 
trình ct1_22.m như sau : 
axis equal 
  M = moviein(16, gcf); 
  set(gca, ʹNextPlotʹ, ʹreplacechildrenʹ) 
  h = uicontrol(ʹstyleʹ, ʹsliderʹ, ʹpositionʹ,[100 10 500 20], ʹMinʹ, 1, ʹMaxʹ, 16) 
  for j = 1:16 
       plot(fft(eye(j + 16))) 
22
       set(h, ʹValueʹ, j) 
     M:), j) = getframe(gcf); 
  end 
  clf; 
  axes(ʹPositionʹ, [0 0 1 1]); 
  movie(M, 30) 
Bước đầu tiên để tạo hình ảnh chuyển động  là khởi gán ma trận. Tuy nhiên 
trước khi gọi hàm moviein,  ta cần  tạo ra các  trục  toạ độ có cùng kích  thước 
với kích thước mà ta muốn hiển thị hình. Do trong ví dụ này ta hiển thị các số 
liệu cách đều trên vòng tròn đơn vị nên ta dùng lệnh axis equal để xác định tỉ 
lệ các trục. Hàm moviein tạo ra ma trận đủ lớn để chứa 16 khung hình. Phát 
biểu: 
  set(gca, ʹNextPlotʹ, ʹreplacechildrenʹ) 
ngăn hàm plot đưa  tỉ  lệ các  trục về axis normal mỗi khi nó được gọi. Hàm 
getframe không đối số trả lại các điểm ảnh của trục hiện hành ở hình hiện có. 
Mỗi khung hình gồm các số liệu trong một vec tơ cột. Hàm getframe(gcf) chụp 
toàn bộ phần trong của một cửa sổ hiện hành. Sau khi tạo ra hình ảnh ta có 
thể chạy chúng một số lần nhất định  ví dụ 30 lần nhờ hàm movie(M, 30) .  
Một phương pháp nữa để tạo hình chuyển động là vẽ và xoá, nghĩa là 
vẽ một đối tượng đồ hoạ rồi thay đổi vị trí của nó bằng cách thay đổi toạ độ x, 
y và z một lượng nhỏ nhờ một vòng lặp. Ta có thể tạo ra các hiệu ứng khác 
nhau nhờ các cách xoá hình khác nhau. Chúng gồm: 
  • none      MATLAB không xoá đối tượng khi nó di chuyển 
• background  MATLAB xoá đối tượng bằng cách vẽ nó có màu  
nền 
  • xor        MATLAB chỉ xoá đối tượng  
Ta tạo ra M‐file có tên là ct1_23.m như sau: 
  A = [ ‐8/3 0 0; 0 ‐10 10; 0 28 ‐1 ]; 
  y = [35 ‐10 ‐7]ʹ; 
  h = 0.01; 
  p = plot3(y(1), y(2), y(3),ʹ.ʹ, ... 
  ʹEraseModeʹ, ʹnoneʹ, ʹMarkerSizeʹ, 5);  
  axis([0 50 ‐25 25 ‐25 25]) 
23
  hold on 
  for i = 1:4000 
    A(1,3) = y(2); 
    A(3,1) = ‐y(2); 
    ydot = A*y; 
    y = y + h*ydot; 
    set(p, ʹXDataʹ, y(1), ʹYDataʹ, y(2), ʹZDataʹ, y(3)) % thay doi toa do 
    drawnow 
    i = i + 1; 
  end 
13. Đồ hoạ 3D: 
  a.Các lệnh cơ bản: Lệnh mesh và surf tạo ra lưới và mặt 3D từ ma trận 
số liệu. Gọi ma trận số liệu là z mà mỗi phần tử của nó z(i, j) xác định tung độ 
của mặt thì mesh(z) tạo ra một lưới có màu thể hiện mặt z còn surf(z) tạo ra 
một mặt có màu z. 
  b.  Đồ  thị  các  hàm  hai  biến:  Bước  thứ  nhất  để  thể  hiện  hàm  2  biến 
z=f(x,y)  là tạo ma trận x và y chứa các toạ độ trong miền xác định của hàm. 
Hàm meshgrid sẽ biến đổi vùng xác định bởi 2 vec tơ x và y thành ma trận x 
và y. Sau đó ta dùng ma trận này để đánh giá hàm. 
Ta khảo sát hàm sin(r)/r. Để tính hàm trong khoảng ‐8 và 8 theo x và y 
ta chỉ cần chuyển một vec tơ đối số cho meshgrid: 
  [x,y] = meshgrid(‐8:.5:8); 
  r = sqrt(x.^2 + y.^2) + 0.005; 
ma trận r chứa khoảng cách từ tâm của ma trận. Tiếp theo ta dùng hàm mesh 
để vẽ hàm. 
  z = sin(r)./r; 
  mesh(z) 
   c. Đồ thị đường đẳng mức: Các hàm contour tạo, hiển thị và ghi chú các 
đường đẳng mức của một hay nhiều ma trận. Chúng gồm: 
  clabel   tạo các nhãn sử dụng ma trận contour và hiển thị nhãn   
contour   hiển  thị các đường đẳng mức  tạo bởi một giá  trị cho  trước 
của ma trận Z. 
24
contour3   hiển thị các mặt đẳng mức tạo bởi một giá trị cho trước của 
ma trận Z. 
  contourf   hiển thị đồ thị contour 2D và tô màu vùng giữa 2 các đường 
  contourc   hàm cấp thấp để tính ma trận contour  
Hàm
 

Các chủ đề có liên quan khác

Top