20 chạy chơng trình ta đợc: >> example1 % example1.m Ví dụ ớc lợng chiều cao ngôi nhà h = 2 h= 2 theta = 60 theta= 60 D = input( Vào khoảng cách giữa ngời và ngôi nhà: ) Vào khoảng cách giữa ngời và ngôi nhà: 60 building_height = h + D*tan(theta*pi/180) building_height= 64.8319 echo off Nh bạn đã thấy trong trờng hợp này, lệnh echo làm cho kết quả khó đọc hơn, nhng ngợc lại lệnh nó có thể rất có ích khi gỡ rối nhiều script file ứng dụng. oOo Chơng 5 QUảN Lý Tệp MATLAB cung cấp một số các hàm file hệ thống và các lệnh cho phép bạn liệt kê tên file, xem, và xoá M_file, hiển thị và thay đổi th mục chứa nó. Một số tổng kết các lệnh đợc đwa ra trong bảng d- ới đây. Thêm vào đó bạn có thể xem và sửa đờng dẫn của MATLAB (matlabpath). Những đờng dẫn này chỉ cho MATLAB nơi chứa script file và hàm M_file trong máy tính của bạn. Có rất nhiều tr- ờng hợp các hàm trong MATLAB là các M_file đơn giản đợc chứa trong ổ đĩa, nhng MATLAB thông báo không biết hàm này, nh vậy do nó không tìm đợc đờng dẫn của MATLAB, bạn cần phải thay đổi lại đờng dẫn: Các hàm hệ thống file addpath dir1 Thêm th mục dir1 vào bắt đầu của đờng dẫn cd Hiển thị th mục hiện thời p = cd Gán th mục làm việc hiện thời cho biến p cd path Thay đổi th mục đa ra bằng đờng dẫn delete test.m Xoá M_file test.m dir Danh sách tất cả các file trong th mục hiện thời d = dir Trả lại file trong th mục hiện thời trong cấu trúc biến d edit test Mở test.m để soạn thảo, giống nh Open trong bảng chon file exist(cow,file) Kiểm tra sự tồn tại của file cow.m trong đờng dẫn exist(d,dir) Kiểm tra sự tồn tại của th mục d trong đờng dẫn filesep Tách file nh\ trong Windows95 và NT, : trên Macintosh fullfile Tạo tên file với đờng dẫn đầy đủ 21 inmem Danh sách hàm M_file, gọi ra từ bộ nhớ ls Giống nh dir MATLABrc.m MATLAB chủ khởi động script M_file, thực hiện trớc khi startup.m MATLABroot Trả đờng dẫn th mục cho chơng trình thực hiện MATLAB path Hiển thị hoặc sửa đờng dẫn của MATLAB (MATLABpath) pathdef.m Hàm M_file, nơi mà mmatlabpath là đúng pathsep Chia đờng dẫn cho matlabpath pwd Giống nh cd rmpath dir1 Bỏ đi th mục dir1 từ đờng dẫn matlabpath startup.m script M_file thực hiện khi MATLAB khởi động tempdir Tên của th mục tạm thời tempname Tên của file tạm thời type test Hiện ra M_file test.m trong cửa sổ lệnh what Trả lại danh sách tất cả M_file và MAT_file trong th mục hiện thời which test Hiển thị đờng dẫn th mục đến test.m Đờng đẫn của MATLAB là danh sách của tất cả các th mục lu trữ các file của MATLAB. Hơn nữa, nếu bạn tạo một th mục của M_file thì đờng dẫn của nó phải đợc thêm vào matlabpath, nếu không thì MATLAB không thể truy cập đến các file của bạn đợc, trừ khi file đó đặt trong th mục hiện thời. Để xem MATLAB sử dụng matlabpath nh thế nào, hãy xem trờng hợp đợc mô tả trong bảng sau:(Không thấy) Đờng dẫn của MATLAB Khi bạn gõ >> cow, MATLAB sẽ làm nh sau: (1) Kiểm tra nếu cow là một biến trong không gian làm việc của MATLAB, nếu không thì (2) Nó kiểm tra nếu cow là một hàm đợc xây dựng, nếu không thì (3) Nó kiểm tra nếu một tên M_file cow.m tồn tại trong th mục hiện thời, nếu không thì (4) Nó kiểm tra nếu cow.m tồn tại bất cứ nơi nào trên đờng dẫn của MATLAB bằng cách tìm kiếm đờng dẫn. Khi nào sự phù hợp đợc tìm thấy thì MATLAB chấp nhận nó. Ví dụ nh cow tồn tại nh một biến trong không giạn làm việc của MATLAB, thì MATLAB không dùng hàm hoặc biến có tên là cow. Vì vậy bạn tránh không nên tạo biến có tên trùng với tên hàm nh: >> sqrt = 1.2; >> sqrt(2); Những lệnh trên sẽ tạo ra lỗi, bởi vì sqrt ở đây không phải là hàm tính căn bậc hai, nó là biến có giá trị là 1.2. Thủ tục đờng dẫn còn đợc dùng khi lệnh load đợc dùng. Đầu tiên MATLAB tìm kiếm trong th mục hiện tại, sau đó nó tìm theo đờng dẫn của MATLAB đến file dữ liệu. Thực tế thủ tục tìm kiếm của MATLAB phức tạp hơn là trình bày ở trên rất nhiều vì MATLAB dùng rất nhiều file có phần mở rộng là .m . Hàm M_file có thể chứa nhiều hơn một biến, th mục trong matlabpath có thể có th mục con gọi là private , và MATLAB cung cấp chơng trình hớng đối tợng với các toán tử định nghĩa lại M_file ở trong th mục con, bắt đầu bằng kí tự @. Nếu tất cả những đặc điểm này đợc cộng thêm vào bảng trên thì nó sẽ đầy đủ hơn, nhng sẽ rất khó hiểu. Nếu bạn muốn nghiên cứu thêm về phần này thì xem các tài liệu cung cấp trong đĩa CD. Nếu bạn có M_file hoặc MAT_file chứa trong th mục không phải ở trong đờng đẫn của MATLAB và không ở trong th mục hiện tại, MATLAB không thể tìm thấy chúng. Có hai giải pháp cho vấn đề này là: 22 (1)_Tạo th mục thiết kế thành th mục hiện tại, dùng lệnh cd hoặc pwd từ trong bảng trớc. (2)_Cộng thêm th mục thiết kế trong đờng dẫn của MATLAB . Cuối cùng nó rất dễ dàng khi ta sử dụng phơng pháp duyệt qua các đờng dẫn ( path browser ) hoặc các lệnh trong cửa sổ lệnh path và addpath . Để dùng path browser, ta chọn set path từ bảng chọn file hoặc nhấn chuột trên nút path browser trên thanh công cụ của cửa sổ lệnh. Làm nh vậy ta sẽ đ- ợc màn hình giống nh hình 5.1: Giống nh thiết kế các GUI, nó liên quan trực tiếp khi ta sử dụng. Đờng dẫn matlabpath đợc hiển thị ở bên trái, th mục con nằm trong đờng dẫn đợc chọn nằm ở bên trái, còn các nút thay đổi đ- ờng dẫn nh thêm đờng dẫn mới (add to path), loại bỏ đờng dẫn (remove from path) ở phía trên. Để ghi lại sự thay đổi ta chọn save path từ bảng chọn file của cửa sổ path browser trớc khi đóng GUI. Hình 5.1 path browser trong MATLAB 5.2 Cửa sổ path browser trong MATLAB 5.0 không khác lắm so với MATLAB 5.2, chủ yếu là các nút thay đổi đờng dẫn trong MATLAB 5.2 thì nó đặt ở trên đỉnh còn ở MATLAB 5.0 nó đợc đặt ở bên phải. Để ghi lại sự thay đổi đờng dẫn trong MATLAB 5.0 trớc khi đóng GUI ta nhấn nút save settings. 23 Hình 5.2 path browser trong MATLAB to Student 5.1 MATLAB khi khởi động Khi khởi động MATLAB, nó tạo ra hai script M_file là matlabrc.m và startup.m, trong đó atlabrc.m đi cùng MATLAB, và nhìn chung là không đợc sửa nó. Các lệnh trong M_file tạo một cấu hình mặc định về kích cỡ của cửa sổ và vị trí của nó, cũng nh các đặc điểm mặc định khác trong Windows95, WindowNT. Đờng dẫn mặc định đợc tạo bằng cách gọi script file pathdef.m từ matlabrc.m. Trong các phần, các lệnh trong matlabrc.m kiểm tra sự tồn tại của script M_file startup.m trong đờng dẫn của MATLAB nếu nó tồn tại, các lệnh trong nó đợc thực hiện. Sự lựa chọn M_file startup.m chứa các lệnh có những đặc điểm riêng đối với MATLAB. Ví dụ nó rất thông thờng nếu ta thêm một hoặc hơn các lệnh path hoặc addpath trong startup.m để chèn thêm các th mục vào trong đờng dẫn của MATLAB. Giống nh vậy, mặc định hiển thị khuôn dạng số có thể thay đổi đợc nh format compact. Nếu bạn có màn hình cân bằng xám, lệnh graymon sẽ có ích khi tạo mặc định đồ hoạ cho chế độ này. Hơn nữa, nếu bạn vẽ đồ thị có các kiểu mặc định riêng thì một sự gọi tới colordef có thể xuất hiện trong startup.m. Khi startup.m là một file chuẩn trong script M_file, thì không một lệnh nào có thể thay thế đợc trong nó. Tuy nhiên ta có thể thay thế lệnh quit trong startup.m. oOo . GUI. Hình 5. 1 path browser trong MATLAB 5. 2 Cửa sổ path browser trong MATLAB 5. 0 không khác lắm so với MATLAB 5. 2, chủ yếu là các nút thay đổi đờng dẫn trong MATLAB 5. 2 thì nó đặt ở. MATLAB 5. 0 nó đợc đặt ở bên phải. Để ghi lại sự thay đổi đờng dẫn trong MATLAB 5. 0 trớc khi đóng GUI ta nhấn nút save settings. 23 Hình 5. 2 path browser trong MATLAB to Student 5. 1. bảng d- ới đây. Thêm vào đó bạn có thể xem và sửa đờng dẫn của MATLAB (matlabpath). Những đờng dẫn này chỉ cho MATLAB nơi chứa script file và hàm M_file trong máy tính của bạn. Có rất nhiều tr- ờng