M-FILE

1

Trước hết, bạn hãy lần lượt thực hiện các lệnh sau trong Command Window:

>>x = 2;

>>y = 3;

>>z = 3*x + x^y;

>>t = exp(z)

Tập hợp các câu lệnh bên trên sẽ tính được giá trị của biểu thức

\(t=e^{3\times 2+2^3}\)

Bây giờ giả sử bạn muốn thay đổi giá trị của x và tính lại biểu thức trên. Khi đó bạn phải huýnh lại tất cả 4 câu lệnh bên trên với giá trị mới của x. Thực là tốn công quá đi mất! OK, bạn có thể cãi rằng bạn không phải huýnh lại mà chỉ cần sử dụng phím mũi tên lên, xuống (học từ bài trước) rồi chỉnh sửa thôi :)). Nhưng đó cũng là công việc tốn thời gian.

Để tạo thuận lợi cho việc sử dụng đi sử dụng lại các nhóm câu lệnh giống nhau và đặc biệt là tạo điều kiện thuận lợi cho việc chỉnh sửa, lưu trữ… MATLAB cho phép ta viết các lệnh trong một file gọi là script file (file chương trình) và lưu nó thành file có đuôi là “.m”, vì vậy mọi người thường gọi nó là M-file.

Để biết mặt mũi cái file này nó như thế nào thì bạn làm theo các bước sau:

Trong ribbon Home, chọn nút New Script hoặc chọn vào nút New>Script như hình bên dưới.

Khi đó một cửa sổ, gọi là cửa sổ soạn thảo (Editor) sẽ xuất hiện. Nhập các lệnh Matlab vào cửa sổ này như hình bên dưới:

Bây giờ lưu file này lại bằng cách chọn nút Save trong ribbon Editor như hình sau:

Sau khi bấm nút Save bên trên, một cửa sổ sẽ xuất hiện để yêu cầu ta đặt tên cho file và chọn thư mục để lưu file như nhiều ứng dụng khác. Lưu file lại theo ý của bạn. Chú ý là phải đặt tên theo như quy ước đặt tên biến (xem tại đây).

Bây giờ hãy chọn nút Run trong ribbon Editor như hình dưới. Nhớ là nút Run này nằm trong ribbon Editor, có nhiều bạn đi lạng quạng rồi mai mốt không biết kiếm nút Run này ở đâu luôn.

Nếu có một cửa sổ nào đó xuất hiện, bạn hãy chọn nút Change Folder trong cửa sổ này.

Giờ các bạn hãy nhìn vào cửa sổ Command Window, bạn sẽ thấy kết quả t = 1.2026e+06. Wow!!!

Điều gì đã xảy ra? Rất đơn giản: sau khi bạn chọn nút Run trong ribbon Editor, Matlab sẽ đọc file script và lần lượt thực hiện các dòng lệnh từ trên xuống dưới. Điều này xảy ra y chang như khi các bạn đánh từng dòng lệnh trong file script này vào cửa sổ Command Window lúc nãy vậy.

Như vậy bây giờ nếu các bạn muốn tính lại giá trị của t khi thay x bằng một giá trị mới thì chỉ việc thay đổi dòng lệnh x = 2; này và chạy lại file script. Nhanh quá phải không bạn.

Chú ý:

  1. Việc chạy file script nói trên thực ra chỉ là việc thực thi từng dòng lệnh trong file này. Vì vậy, những công việc trong file script này có thể thay đổi giá trị của các biến hiện có trong workspace. Cũng tương tự như vậy, những giá trị của các biến hiện có trong workspace có thể sử dụng trong file script này.
  2. Sau khi chạy xong file script nói trên, trong workspace hiện giờ sẽ có biến x = 2, y = 3, z = 14t = 1.2026e+06.

Hỏi nhỏ: bây giờ muốn biết giá trị của z bằng bao nhiêu thì bạn làm thế nào? Nếu không biết thì làm ơn học lại bài này.

2 Replies to “M-FILE”

    1. Mũi tên lên xuống chỉ thực hiện được khi thực thi các lệnh rời rạc trong Command Window thôi. Khi đã chạy M-file thì cả một M-file đó là một lệnh rồi.

      Sau khi chạy M-file, nếu nhìn vào cửa sổ Command Window thì em sẽ thấy có một dòng lệnh là tên của cái M-file của em. Nói cách khác, tên của M-file chính là một lệnh mới do em đưa vào Matlab. Lệnh mới này là tập hợp tất cả các lệnh trong M-file. Điều này giúp cho những công việc xử lý sau này thuận lợi hơn.

      Nói thêm cho dễ hiểu. Khi em thực hiện một hàm, thí dụ hàm tính sin(x) chẳng hạn, thì Matlab nó phải thực hiện một lô một lốc các lệnh bên trong cái file, tạm gọi là file sin.m (ví dụ vậy thôi, không biết có cái file này không nữa!) rồi sau đó trả về kết quả là sin(x). Na ná như em chạy M-file vậy.

Leave a Reply