§10 LẬP TRÌNH BẰNG MATLAB

Một phần của tài liệu Bài giảng tự học matlab (Trang 66 - 71)

Ta có thể dùng MATLAB để lập trình.

Ngoài các phép toán số học ta cần chú ý đến

Những phép toán quan hệ: < nhỏ hơn, <= nhỏ hơn hoặc bằng, > lớn hơn, >= lớn hơn hoặc bằng,

== bằng, ~= không bằng;

Những phép toán logic : & và, | hoặc, ~ không;

10.1. Thủ tục vào và xuất dữ liệu

Nhập dữ liệu

Để nhập dữ liệu từ bàn phím sử dụng lệnh input

a = input(‘Nhap vao gia tri cua bien a = ’);

Khi đó trên cửa sổ lệnh sẽ xuất hiện dòng nhắc: Nhap vao gia tri cua bien a =

cho phép nhập từ bàn phím giá trị của a.

Xuất dữ liệu

Sử dụng lệnh disp

disp(‘noi dung’) % Hiện thị ra màn hình nội dung văn bản giữa hai dấu ‘ ’

disp([danh sach các biến]) % Hiển thị ra m/hình g/trị các biến trong danh sách % các biến trong danh sách được ngăn cách nhau bởi dấu phẩy hoặc dấu cách

10.2. Các cấu trúc vòng lặp

for : vòng lặp for cho phép lặp lại một nhóm các lệnh một số lần đã xác định trước, nó đi kèm với end để kết thúc các lệnh.

for i = array Nhóm lệnh

end

Các lệnh trong nhóm lệnh được thực hiện một lần cho tất cả các cột của mảng array, cuối mỗi vòng lặp i được gán cho giá trị của phần tử cột tiếp theo.

Thí dụ 99: Tính tổng 1 +1/2 + 1/3 + . . . + 1/1000.

Thí dụ 100: Đảo ngược dãy số 7 5 3 6 4 2 1 0 9 8.

Vòng lặp for không thể kết thúc bằng cách gán lại biến điều khiển trong vòng lặp.

Các vòng lặp for có thể lồng vào nhau

Thí dụ 102: Viết chương trình cho ra một ma trận cỡ 3x4 mà phần tử ở hàng i cột j là 1/(i+j)

Thí dụ 103: Ma trận Vandermonde là ma trận có các cột là lũy thừa của một véc tơ v tức là A(i,j) = v(i)^(n-j). Hãy viết ma trận Vandermonde với v=(1:0.5:3).

While : vòng lặp while cho phép lặp lại một nhóm các lệnh theo một điều kiện nào đó một số lần nhưng không biết trước số lần đó. Nó đi kèm với end để kết thúc các lệnh.

while <biểu thức logic> Nhóm lệnh

Thí dụ 104: Lập chương trình tính số Esp là số dương nhỏ nhất có thể ghi trong máy (tức là số mà 1+Eps vẫn cho giá trị lớn hơn 1 ở trong máy. Tính số lần lặp.

Thí dụ 105: Tìm số n lớn nhất để giai thừa của nó (n!) là một số không vượt quá 10100.

10.3. Các cấu trúc điều khiển luồng

Câu lệnh điều kiện if đánh giá một biểu thức logic và thực hiện một nhóm các lệnh khi biểu thức đó là đúng.

if <biểu thức logic> Nhóm lệnh

Lệnh if có thể bổ sung thêm else cho phép thực hiện nhóm các lệnh thứ 2 khi biểu thức logic sai.

if <biểu thức điều kiện> Nhóm lệnh 1

else

Nhóm lệnh 2

end

Nếu có nhiều biểu thức logic thì ta có thể dùng chuỗi các lệnh

if biểu thức logic 1 Nhóm lệnh 1

elseif biểu thức logic 2 Nhóm lệnh 2

elseif biểu thức logic 3 Nhóm lệnh 3

...

else

Nhóm lệnh n

Thí dụ 106: Tính tiền nước sạch sinh hoạt của hộ gia đình theo khung giá sau: Sử dụng 20m³ đầu tiên: 5.300 đồng/m³; Sử dụng từ 21m³ - 30m³: 7.500 đồng/m³; Sử dụng từ 31m³ - 40m³: 8.300 đồng/m³; Sử dụng trên 40m³: 10.000 đồng/m³

Thí dụ 107: Tìm số n lớn nhất để giai thừa của nó (n!) là một số không vượt quá 10100.

Bài tập: Lập trình tính giá điện sinh hoạt theo khung giá bán lẻ:

Số TT Mức sử dụng của một hộ trong tháng Giá (đồng/kWh) 1 Cho 50 kWh (cho hộ nghèo và thu nhập thấp) 993

Một phần của tài liệu Bài giảng tự học matlab (Trang 66 - 71)

Tải bản đầy đủ (PDF)

(94 trang)