ĐỊNH DẠNG SỐ VÀ KẾT THÚC LỆNH BẰNG DẤU “;”

1

Nhập dòng lệnh 4/3 vào Command Window rồi nhấn Enter, ta được kết quả sau:

Chúng ta biết rằng kết quả của phép chia này là một số thập phân vô hạn tuần hoàn, nghĩa là sẽ có vô số con số 3 ở sau dấu phẩy. À mà quên, ở đây là dấu chấm (“.”). Thôi, gọi là phần thập phân đi cho nó trí tuệ. Tuy nhiên, trong các tính toán của Matlab, nó sẽ chỉ lấy 16 chữ số để tính toán (ở đây gồm 1 chữ số ở phần nguyên và 15 chữ số ở phần thập phân) và mặc định sẽ chỉ thể hiện ra 5 chữ số (ở đây gồm 1 chữ số ở phần nguyên và 4 chữ số trong phần thập phân). Định dạng thể hiện chỉ có 5 chữ số được gọi là định dạng kiểu short.

Nếu muốn thể hiện đầy đủ 16 chữ số, bạn hãy sử dụng định dạng long như sau:

>>format long

Trong đó từ format là từ khóa của lệnh định dạng thể hiện kết quả tính toán, long là từ chỉ định dạng muốn thể hiện.

Bạn hãy đánh lệnh format long rồi Enter. Kế tiếp là thể hiện lại kết quả ans ra bằng cách đánh lệnh ans rồi Enter, ta được kết quả như sau:

Bây giờ bạn hãy tăng giá trị của biến ans lên 1000 lần rồi xem kết quả thể hiện như thế nào:

Hay nhỉ! Nó vẫn giữ nguyên cách thể hiện chứa 16 chữ số nhưng thêm phần e+03 vào cuối. Chắc bạn hiểu cách viết này chứ? Nó có nghĩa là nhân với 10 lũy thừa 3 (tức là 1000). Đây gọi là cách viết khoa học. Gọi vậy cho nó oai.

Nếu bạn không muốn nó thể hiện kiểu số khoa học như vậy, bạn hãy thêm định dạng g vào sau định dạng long. Nghĩa là bạn nhập lệnh như sau:

>>format long g

OK. Hãy làm thử đi. Sau đó cho nó thể hiện biến ans ra rồi nhận xét?

Bây giờ bạn hãy chuyển về cách thể hiện 5 chữ số và thể hiện biến ans ra xem nào. Nếu có thắc mắc gì thì hãy để câu hỏi của bạn lại vào ô Comment bên dưới.

Còn cái này nữa cũng vui nè:

Bạn có thấy là mỗi khi xuất kết quả ra, Matlab dành một dòng trống xen kẻ giữa các hàng. Tức là giữa các hàng có có một khoảng trống khá rộng. Điều này làm hao giấy quá! Bạn muốn thể hiện kết quả dưới dạng các hàng liên tiếp nhau thì hãy sử dụng định dạng “compact”:

Các bạn thấy đó, khoảng cách giữa các hàng đã trở nên gần hơn.

Tiếp tục nhé? Còn chút xíu nữa thôi là hết bài này rồi.

Bây giờ bạn hãy nhập vào Command Window dòng lệnh như bên dưới rồi nhấn Enter:

>>x = 1 + 3;

Chúng ta hy vọng rằng nó sẽ xuất kết quả x = 4 ra màn hình. Nhưng không, nó không xuất cái gì cả! Vậy nó không thực hiện gì hết à? Không đâu, nó thực hiện chính xác những gì mình yêu cầu đấy chứ. Mình đã yêu cầu điều gì? Mình yêu cầu nó tính 1 + 3 rồi lấy kết quả này gán cho biến x. Nhưng có điều nó không thể hiện giá trị của biến x ra thôi. Chính dấu “;” ở cuối câu lệnh đã yêu cầu Matlab không thể hiện kết quả tính toán ra. Bây giờ bạn hãy cho in biến x ra màn hình để kiểm tra xem là nó có biết là x = 4 thiệt không, hay là nó đã lười biếng chẳng làm gì cả. Nếu bạn đã quên làm thế nào để xuất hiện biến x thì mời bạn ôn lại bài này.

Dấu “;” khá là quan trọng sau này. Thông thường trong tính toán kỹ thuật chúng ta không muốn nó thể hiện mọi kết quả trung gian, vì điều này sẽ tiêu tốn khá nhiều thời gian chạy và làm màn hình mình rối tung lên. Khi đó ta nên kết thúc dòng lệnh bằng dấu “;”.

Cuối cùng bạn hãy nhập dòng lệnh này vào Command Window rồi nhấn Enter:

>>x = 2; y = 3*x + 1, z = x + 2*y

Xem kết quả rồi suy ngẫm. Nhớ là nếu có thắc mắc gì thì để lại Comment.

4 Replies to “ĐỊNH DẠNG SỐ VÀ KẾT THÚC LỆNH BẰNG DẤU “;””

  1. Thầy chỉ cho em mấy chỗ này nha Thầy:
    Câu 1: Khi định dạng về Format Short thì bài của em chỉ thể hiện 4 chữ số thập phân, còn của Thầy sao lại thể hiện 5 chữ số thập phân?
    Câu 2: Em định dạng Format Compact thì khi khởi động lại Matlab thì nó không còn lưu định dạng này nữa, mình phải luôn làm thủ công hả Thầy?
    Câu 3: Em thử lấy 4/3*1000000000000000000 thì Format Long g nó trả kết quả “gần giống” Format Long (thiếu 1 chữ số thập phân – tức còn 14 chữ số thập phân), Thầy chỉ em chỗ đó với Thầy?
    Em cảm ơn Thầy.

      1. À, cái này là do mình xài định dạng kỹ thuật. Em sử dụng lệnh format short g hoặc format long g để thể hiện 5 (hoặc 15) chữ số có nghĩa.
        Mỗi lần tắt Matlab thì định dạng này bị mất đi. Mình cũng không biết làm sao để lưu định dạng này cho lần sử dụng sau. Vì vậy trong mỗi m-file mình đều phải định dạng lại.

Leave a Reply