Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

Mục lục

1.Thủ tục......................................................................................................................................................2
Thủ tục là gì?...........................................................................................................................................2
Tạo một thủ tục:......................................................................................................................................2
Thực thi một thủ tục:...............................................................................................................................2
2. Hàm m-file...............................................................................................................................................3
Hàm m-file là gì?......................................................................................................................................3
Tạo một hàm m-file:................................................................................................................................4
Thực thi một hàm m-flie..........................................................................................................................4
3. Hàm inline và handle...............................................................................................................................4
4. Xuất và nhập dữ liệu................................................................................................................................6
Nhập dữ liệu............................................................................................................................................6
Xuất dữ liệu.............................................................................................................................................7
6. Điều khiển luồng....................................................................................................................................10
So sánh..................................................................................................................................................10
Cấu trúc rẽ nhánh..................................................................................................................................10
Cấu trúc lặp...........................................................................................................................................12

LẬP TRÌNH TRONG MATLAB


1.Thủ tục (scripts)
Ví dụ
% thủ tục easyplot
%Load
matrix; %D is a matrix with 2 columns
x=D(:,1);
y=D(:,2);
plot(x,y)
xlabel('x axis')
ylabel('y axis')
title('plot of generic x-y dataset')
Thủ tục là gì?
 Tập hợp các câu lệnh matlab được thực hiện một cách tuần tự
 Được viết trong cửa sổ Editor của Matlab
 Được lưu dưới dạng m-file (phần mở rộng là .m)

Tạo một thủ tục:


 Trong cửa sổ Command Window gõ lệnh

>> edit myFileName.m


 Kích chuột vào New Script ở góc trên bên phải

Thực thi một thủ tục:


 Để thực hiện 1 thủ tục thì m-file chứa thủ tục đó phải nằm trong Curent Folder
 Trong cửa sổ Command Window gõ tên thủ tục + Enter hoặc trong cửa sổ Editor nhấn Run

Lưu ý: Khi chạy một thủ tục có thể tạo ra và thay đổi các biến có sẵn trong không gian làm việc
(Workspace) mà không đưa ra một cảnh báo nào. Điều này gây ra lỗi khi chạy các chương trình lớn có
nhiều thủ tục.

2. Hàm m-file
Ví dụ:
function y = sumOf2Numbers(a,b)
y = a + b;
end

Nhận xét: dòng đầu tiên của hàm m-file có cấu trúc như sau:

Hàm m-file là gì?


 Hàm là các chương trình con
 Hàm sử dụng tham số đầu vào, kết hợp với các câu lệnh và trả về tham số đầu ra
 Hàm sử dụng các biến địa phương mà chỉ tồn tại khi đang thực thi hàm (không có hiện tượng
thay đổi biến trong workspace)

Tạo một hàm m-file:


 Trong cửa sổ Command Window gõ lệnh

>> edit myFileName.m


 Kích chuột vào New Script ở góc trên bên phải

 Dòng đầu tiên trong m-file phải có cấu trúc:

function [danh sách outputs] = tên hàm(danh sách inputs)

 Trong thân m-file phải có câu lệnh trả ra giá trị của các outputs (thay cho returns)
 Tên hàm phải trùng với tên m-file.

Chú ý: Hàm không có inputs hoặc outputs vẫn hợp lệ.

Thực thi một hàm m-file


 Trong cửa sổ lệnh ta gõ
>> [danh sách biến đầu ra] = tên hàm(danh sách giá trị
đầu vào)
Ví dụ:
>> y =sumOf2Numbers(2,3)
y=
5
Chú ý: Hàm chỉ có 1 output thì không cần dấu [].
 Ta có thể thực thi hàm một cách gián tiếp sử dụng lệnh >>feval
>>[danh sách biến đầu ra] =feval(‘ tên hàm’, danh sách
giá trị đầu vào)
Ví dụ
>> y=feval('sumOf2Numbers',3,7)
y=

10

3. Hàm inline và handle


Khi các biểu thức của hàm đơn giản ta có thể khai báo sử dụng hàm inline hoặc handle mà không cần sử
dụng m-file. Xem hai ví dụ sau:

Hàm inline

>> myFun = inline('x.^2+1')

myFun =

Inline function:

myFun(x) = x.^2+1

>> y = myFun(3)

y=

10

>> y = feval(myFun,3)

y=

10

Hàm handle

>> myFun1 = @(x)x.^2+1


myFun1 =

function_handle with value:

@(x)x.^2+1

>> y1 = myFun1(3)

y1 =

10

>> y1 = myFun1(3)

y1 =

10

4. Xuất và nhập dữ liệu


Nhập dữ liệu
+) Để nhập dữ liệu từ bàn phím ta sử dụng lệnh input
Tên biến = input(‘ Thông báo cho người dùng ’)
Nếu muốn giá trị nhập vào được chuyển thành một chuỗi ký tự ta sử dụng:
Tên biến = input(‘ Thông báo cho người dùng ’,’s’)
Chú ý: Nếu muốn thêm vào một dòng mới sau dòng thông báo ta dùng “\n”

Ví dụ:

>> y = input('Nhap vao gia tri cua bien y \n')

Nhap vao gia tri cua bien y

12
y=

12

Ví dụ:

>> tenTruong = input('Nhap vao ten truong \n')

Nhap vao ten truong

'BKHN'

tenTruong =

'BKHN'

Ví dụ:

>> y = input('nhap vao gia tri cua y \n','s')

nhap vao gia tri cua y

12

y=

'12'

>> class y

ans =

'char'

+) Ngoài ra ta có thể sử dụng cách nhập dữ liệu thông qua cách thực thi hàm ( xem mục 2)

Xuất dữ liệu
+) Để thiết lập định dạng của số in ra ta dùng lệnh format
format SHORT: Scaled fixed point format with 5 digits.

format LONG: Scaled fixed point format with 15 digits for double and 7 digits for single.

format SHORTE: Floating point format with 5 digits.

format LONGE: Floating point format with 15 digits for double and 7 digits for single.

format SHORTG: Best of fixed or floating point format with 5 digits.

format LONGG: Best of fixed or floating point format with 15 digits for double and 7 digits for single.

format SHORTENG: Engineering format that has at least 5 digits and a power that is a multiple of three

format LONGENG: Engineering format that has exactly 16 significant digits and a power that is a
multiple of three.

+) Để in ra kết quả mà không cần đến định dạng dữ liệu là dùng lện disp
disp(tên biến)
Ví dụ:

>> disp(12)

12

>> disp('BKHN')

BKHN

>> s = 'BKHN'

s=

'BKHN'

>> disp(s)

BKHN

Chú ý: Hàm disp chỉ in ra một biến, do đó muốn kết hợp các biến ta cần chuyển kiểu dữ liệu và ghép vào
một mảng. Để chuyển đổi dùng lệnh num2str và str2num

Ví dụ:

>> tuoi = 12
tuoi =

12

>> disp(['tuoi cua A la ',num2str(tuoi)])

tuoi cua A la 12

+) Để in ra dữ liệu cần định dạng dùng lệnh fprintf


fprintf(định dạng in ra, danh sách biến in ra)

Ví dụ:

>> fprintf('can bac hai cua %4.6f la %2.8f\n',2,sqrt(2))

can bac hai cua 2.000000 la 1.41421356

Ví dụ:

A=

1 2 3

4 5 6

7 8 9

>> fprintf('%8.2f %4.3f %d\n',A)

1.00 4.000 7

2.00 5.000 8
3.00 6.000 9

Do fprintf duyệt phần tử theo cột nên xảy ra hiện tượng chuyển vị ma trận, để khắc phục ta dùng lệnh

>> fprintf('%8.2f %4.3f %d\n',A')

1.00 2.000 3

4.00 5.000 6

7.00 8.000 9

5. Điều khiển luồng

So sánh
Chú ý: Toán tử && (||) chỉ sử dụng trong trường hợp vô hướng, để sử dụng cho mảng ta dùng toán tử &
(|)

Cấu trúc rẽ nhánh

Ví dụ:
Ví dụ:

Cấu trúc lặp

Ví dụ:
Ví dụ:

Dừng vòng lặp

You might also like