intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Matlab - Tin học ứng dụng - Chương 7

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:6

116
lượt xem
31
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu tham khảo bài giảng Matlab - Tin học ứng dụng ( Nguyễn Bá Tuyên & Nguyễn Quang Chiến ) dành cho sinh viên chuyên ngành kỹ thuật biển gồm 7 chương và phần bài tập - Chương 7 Đồ thị không gian

Chủ đề:
Lưu

Nội dung Text: Matlab - Tin học ứng dụng - Chương 7

  1. Bài giả g Tin Ứ g dụ g 2 – Matlab 7 n n n 7. CHƯƠNG VII: Đ THỊ HÔ NG GI AN Ồ K Trong kỹthu ậ rấ cầ các biể đ không gian. Thư ng gặ nhấ là các bình đ uồ ờ ồ ttn p t (bả đ đ hình củ mộ khu vự nhỏ Bên cạ đ biể đ không gian còn có n ồị uồ a a t c ). nh ó, thể ư c dùng đ biể diễ đ sâu đ hình hay mộ trư ng không gian nói chung đợ ểu nộ ị tờ a (nhiệ đ, khí áp ...). Trong tấ cảcác trưng h ợ nói trên, luôn có mộ bi ế ( z) tộ ờ t p t n đợ biể diễ theo hai biế không gian trên mặđt ( x, y). ưc u tấ n n Các dạ g c ơbả n n 7.1. Các dạ cơb ả ng n MatLab hỗ ợnhi ề phư ng pháp bi ể di ễ s ố ệ trong tài liệ này ta làm quen ơ tr u u n li u; u vớ mộsố ạcơ ả đ là: i t lo i b n, ó  Mả màu (color patch) ng  Đ ờ đng mứ (contour) ư ng ồ c  Bề ặ3 chi ề (surface) mt u Hãy bắ đu vớ mộ ví dụđn giả là mô phỏ đ hình đ biể c ủ mộ khu tầ i ơ ng ị t n a áy na t vự giảư ng đợ cho trong ma trậ z. Đ biể này có dạg tư ng t ựnhưmặ t ở ưc ơ c n áy n n t cắngang cân b ằ (Dean) theo ph ư ng trình: ơ t ng 2/3 z = - 0.1 y Vớ trụ x dọ theo bãi biể và trụ y h ư ng ra khơ Ta xét l ưi t ọ đ trên mặ ớ ớaộ ic c n c i. t bằ các đ m nút lư i có phạ vi 0 < x < 200, 0 < y < 200. Khoả cách gi ữ iể ớ ng, m ng a các đ m nút lư i theo phư ng x là Δ = 10, theo phư ng y là Δ = 4. Ngh ĩlà tọ iể ớ ơ ơ x y a a đ củ tấcả đ m nút lư i có dạ ộ a t các i ể ớ ng: ⋮⋮ ⋮ ⋮⋮ ⋮ 200,0 ⋮ [ ] 0,0 10,0 ⋮⋮ ⋮ ⋮⋮ ⋮ 200,4 ⋮ 0,4 10,4 ⋮i , y i⋮ = x ⋮ ⋮ ⋮ ⋮ 0,200 ⋮ ⋮ 10,200 ⋮ ⋮ ⋮ 200,200 ⋮ Lệ meshgrid sẽ giúp ta làm đ u đ i ề ó: nh [x, y] = meshgrid(0:10:200, 0:4:200); (Mộ lầ nữ c ầ chú ý dấ ; ởcuố câu lệ n ế không rấ nhiề con sốsẽ ư c đợ tnan u i nh, u t u in ra màn hình!) Lệ meshgrid lấ hai thông số thông s ố - tơthứnhấlà các tọ đ trên trụ x, aộ nh y : vec t c thông số - tơthứhai là các tọ đ trên trụ y. Kế quả đ ợ mộ ma trậ các aộ ta ưc vec c t t n - 55 -
  2. Bài giả g Tin Ứ g dụ g 2 – Matlab 7 n n n đ m trên mộ vùng hình chữnhậ (51 × 21) có các tọ đ tư ng ứ d ự từcác iể a ộ ơ ng ng t t vec- tơtrên6. Sau đ mả z s ẽ ư c tính từmả y theo công thứ Dean: đợ ó ng ng c z = - 0.1 * y .^ (2/3); Trong đ cầ chú ý phép tính l ũ thừ cho từ phầ t ử ón y a ng n. Câu lệ đ n giả nhấđ hiể th ị ả nh ơ tển n m ng màu biể thị là: u z pcolor(x, y, z) Bả màu mặ đnh đ ợ dùng có tên là c ị ưc ng 7 jet. Ta có th ểthay bả màu này bằ ng ng mộ số ả màu khác, chẳ hạ t b ng ng n: colormap(gray); pcolor(x, y, z); Cầ hiệ tên các trụ x và y theo cách n n c tư ng tựnhưta đ làm vớ biể đ d ạ ơ i u ồ ng ã đờ ư ng: Hình 11: Bả màu biể th ịị hình đ biể vớ đa ng u áy n i xlabel('x(m)'); ylabel('y(m)'); mặ cắ ngang cân bằ theo Dean tt ng Có thể ể thị thanh chú thích bên cạ hi n nh bả màu bằ lệ ng ng nh: colorbar Viế thêm dòng chữz(m) bên cạ thanh chỉ ẫ màu này bằ cách Insert – t nh dn ng Text Box. Xóa bỏ ư ng bao c ủ hình chữnhậb ằ cách nháy phảchu ộ– Line đờ a t ng i t Style – None. Chú ý rằ khi hiệ các b ả đ đ hình / b ả vẽmặ bằ trong h ầ hế các n ồị ng n a n t ng, ut trư ng hợ ta muố đt nhữ tỷ ệ ằ nhau trên hai trụ x và y. Khi đ ta dùng ờ nặ p ng l b ng c ó lệnh: axis equal; 6 x và y đu là ma trậ 2 chiề Do các đ m trên lư i xế theo hàng nên ta nhậ thấ các phầ t ử ố ề iể ớp n u. ny n gi ng nhau trên mỗcộ củ x (các đ m có cùng tọ đ x); và tư ng tựđi vớ y. iể aộ ơ ối ita 10 ⋮ 200 0⋮0 [ ][ ] 0 0 10 ⋮ 200 4⋮4 0 4 x= và y = ⋮ ⋮ ⋮ ⋮⋮ ⋮ 10 ⋮ 200 200 200 ⋮ 200 0 7 Bả màu jet mặ dù r ự r ỡ ư không hiệ quả in trắ đ thay vào đ nên dùng bả màu ng c c nh ng u khi ng en, ó ng gray. - 56 -
  3. Bài giả g Tin Ứ g dụ g 2 – Matlab 7 n n n Tiế theo ta có khung củ đ thị i cho vừ v ớ bảg màu 8: a ồ lạ p ain axis tight; Bên cạ cách dùng biể đ mả màu, còn u ồ ng nh -3 -3 -3 160 có thểbiể th ị ư i dạ đ ờ đng m ứ d ớ ng ưng ồ u c. 140 Cách này thư ng đ ợ dùng vớ các bả in ờ ưc i n -2.5 -2.5 -2.5 120 lên giấy: 100 -2 -2 -2 y (m) [C,h] = contour(x,y,z);9 80 60 -1.5 -1.5 -1 .5 Các đờ đng mứ củ đ biể đ xuấ ư ng ồ c a áy nã t 40 -1 -1 -1 hiệ song song vớ tr ụ x, như cầ phả có n ic ng n i 20 -0.5 -0.5 -0.5 giá trịố s trên đ ờ đng mứ ư ng ồ c: 00 0 0 0 0 50 100 150 200 x (m) clabel(C,h); Hình 12: Đ ờ đng mứ biể diễ đ ư ng ồ nị Và c ũ nh ư ố vớ mả màu, ta có thể ă đi i ng cu a ng cn hình đ biể vớ mặcắ theo Dean chỉ các trụ mộ cách hợ lý: áy n i t t nh c t p axis equal tight; xlabel('x(m)'); ylabel('y(m)'); Ta cũ có thểbiể diễ đa hình dư i dạ không gian (3 chiề s ửd ụ lệ nị ớ ng ng u u) ng nh surf hoặ mesh: c figure; surf(x, y, z); figure; mesh(x, y, z); Sau đ hãy sửdụ công cụxoay hình bằ cách ấ nút Rotate 3D trên thanh ó ng ng n công cụ( ). 8 Hai lệ trên có thể ư c gộ lạthành mộlệ axis equal tight đợ p i nh t nh 9 Cách viếnày có vẻ khác vớ câu lệ thông thư ng, tuy nhiên theo MatLab, các lệ vẽ ề có th ể ế ờ nh đu t i nh vi t dư i dạ hàm. Chẳ hạ hãy gõ thử ệ zzz = plot(t, z). Mặkhác, có gì khác n ế ta gõ lệ ớ ng ng n, l nh t u nh clabel(contour(x,y,z)); ? - 57 -
  4. Bài giả g Tin Ứ g dụ g 2 – Matlab 7 n n n Hình 13: Bi ể diễ mặ cắDean dư i dạ ớ ng u ntt Hình 14: Biể diễ mặ cắDean dư i dạ l ư i ớ ng ớ u ntt mặ 3 chiề t u 3 chiề u 7.2. Chỉ ịh các vịrí t rong không gi a n 2 chi ề đn t u Khi thể i ệ dữl iệ k hô ng gi an bằg mảg màu, trong mộ số rư n g hợ ta ph ả hn u n n t tờ p i chỉa n hữ g vịrí t hỏ mãn mộđ u k iệ nào đ Cách đ n giả n hấl à đ d ấ r n t a t iề n ơn t ánh u ó. chúng bằg nh ữ g đ m r iêng. n n iể Chẳ hạ hãy chỉ các vị có z < -3 ng n, ra trí trong ví d ụtrên. Có hai bư c nhưsau: ớ  Tìm các chỉố i,j) trong ma trậ có giá s( n trị ỏ mãn z( i,j) < - 3 th a  Chấ các đ m xác đ iể ị bở x(i,j), y( i,j) m nh i lên mả màu ng ind = find(z < -3); hold on; plot(x(ind), y(ind), ... 'k.'); Hình 15: Đ dấ trên mả màu 2 chiề ánh u ng u 7.3. Mặ c ắ đa hình t tị Trong nhiề trư ng h ợ cầ biể diễ mộ mặ c ắđ hình từbiể đ hai chiề uờ t tị uồ pn u n t a u. Và tổ quát hơ có thể phân bố ộ n ư c, áp su ấ đ mặ hay bấ kì mộ đ sâu ớ t, ộ n, ng n, là t t biế đc trư nào dọ theo mộ tuyế xác đ trên mặbằ n ặ ng ị c t n nh t ng. Sốl iệ củ mặ cắ đ ợ l ấ t ừ1 cộ ( ho ặ h àng) từmảg 2 ch iề t ư ng ứ g. ua t t ưc y t c n uơn Chẳg hạ, mặcắcó x = 100 m (tư ng ứ g v ớ cột hứ 1 (t ron g số 1 cộ t ron g n n tt ơn it 1 2 t) ma trậ z): n - 58 -
  5. Bài giả g Tin Ứ g dụ g 2 – Matlab 7 n n n ymc1 = y(11,:); zmc1 = z(11,:); plot(ymc1, zmc1, '*-'); xlabel('y (m)'); ylabel('z (m)'); 7.4. Trư ng véct ơ ờ Trong các bài toán kỹthuậ thủ đng lự thư ng yêu câu mô phỏ trư ng dòng yộ ờ ng ờ t c chả Biể diễ dòng chả trong không gian 2 chiề đ ợ hỗtrợrấ tố trong u ưc y. u n y tt MatLab bằ câu lệ ng nh: quiver(x, y, u , v) trong đ x, y là hai ma tr ậ chứ tọ đ củ tấ cả đ m theo phư ng ngang a aộa t các iể ơ ó n (thư ng đợ phát sinh b ằ lệ meshgrid); u và v là hai ma tr ậ chứ thành ờ ưc ng nh n a phầ lư tố c ủ tấ cảcác đ m (u là lư tố theo phư ng x , v là lư tố theo iể ơ nucat uc uc phư ng y). ơ Giảsửtrong thưmụ hi ệ thờ đ có file data_u.txt và data_v.txt, m ỗ file ch ứ c n iã i a mộ ma trậ giá trị và v. Khi đ hai ma trậ này đợ đc n hưsau: ưc ọ t n u ó, n u = dlmread('data_u.txt'); v = dlmread('data_v.txt'); Giả ử và v đ đc có kích th ưc gi ố nhau = số i ể trên trụ x × số iể trên ãọ ớ ng đm đm su c trụ y: c [sizex, sizey] = size(u); Ta muố biể diễ lên hình vớ ch ẳ hạ, Δ = 10 m và Δ = 5 m: ng n x y n u n i, dx = 10; dy = 5; [x, y] = meshgrid(0:dx:(sizex – 1)*dx, 0:dy:(sizey -1) * dy); figure; quiver(x, y, u, v); xlabel('X(m)'); ylabel('Y(m)'); axis equal tight; - 59 -
  6. Bài giả g Tin Ứ g dụ g 2 – Matlab 7 n n n 50 40 30 Y (m ) 20 10 0 0 20 40 60 80 X(m) Hình 16: Bi ể diễ trư ng vec-tơ ờ un - 60 -
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2