Bắt đầu với MATLAB

Mục lục

Giới thiệu vềMATLAB . 1

Ngôn ngữcủa công nghệtính toán . 1

Các tính năng cơbản . 1

Các thành phần của cửa sổchương trình . 2

Ma trận và Mảng . 4

Tạo mảng . 4

Các phép toán với ma trận và mảng . 4

Ghép nối ma trận . 6

Sốphức . 7

Chỉsốcủa mảng . 8

Các biến và Workspace . 10

Chuỗi kí tự. 11

Function . 12

Vẽhình 2-D và 3-D. 13

Vẽhình 2-D. 13

Vẽhình 3-D. 15

Vẽ đồthịcon . 16

Script . 17

Ví dụvềScript . 17

Vòng lặp và các câu lệnh có điều kiện . 18

Địa chỉcủa Script . 19

Help . 21

pdf22 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 4703 | Lượt tải: 4download
Tóm tắt nội dung Bắt đầu với MATLAB, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ng thay đổi để chưa được phần tử mới. 
 9 
A(4,5) = 17 
A = 
 16 2 3 13 0 
 5 11 10 8 0 
 9 7 6 12 0 
 4 14 15 1 17 
Để truy cập đến nhiều phần tử của một mảng, sử dụng dấu hai chấm (:) theo cấu trúc start:end. Dấu hai 
chấm cho phép chỉ ra một khoảng giá trị truy cập. Ví dụ, để truy cập đến các phần tử của cột thứ 2 nằm trên 
3 hàng đầu của ma trận A: 
A(1:3,2) 
ans = 
 2 
 11 
 7 
Nếu dấu (:) đứng riêng lẻ, MATLAB sẽ truy cập đến tất cả các phần tử của kích thước đó. Ví dụ, truy cập 
đến tất cả các cột của hàng thứ 3 của ma trận A: 
A(3,:) 
ans = 9 7 6 12 0 
Dấu (:) cũng có thể được sử dụng để tạo các vecto gồm các phần tử cách đều, theo cấu trúc start:step:end, ví 
dụ: 
B = 0:10:100 
B = 0 10 20 30 40 50 60 70 80 90 100 
Nếu step không được xác định thì MATLAB sẽ gán cho step giá trị mặc định bằng 1 
 10 
Các biến và Workspace 
Workspace là không gian chứa các biến được tạo ra trong MATLAB hay import vào MATLAB từ các file 
dữ liệu hay các chương trình khác. Ví dụ, các dòng lệnh sau sẽ tạo ra hai biến A và B trong Workspace: 
A = magic(4); 
B = rand(3,5,2); 
Danh mục các biến của Workspace có thể được xem bằng lệnh whos. 
whos 
 Name Size Bytes Class Attributes 
 A 4x4 128 double 
 B 3x5x2 192 double 
Các biến cũng sẽ được liệt kê trong khung Workspace của cửa sổ chương trình: 
Các biến của Workspace sẽ không được tự động lưu lại sau khi thoát khỏi chương trình. Để lưu lại dữ liệu 
cho các lần sử dụng tiếp theo, sử dụng lệnh save 
save myfile.mat 
Câu lệnh trên sẽ lưu toàn bộ Workspace hiện tại thành một .MAT file. 
Để xóa toàn bộ các biến trong Workspace, sử dụng lệnh clear. 
Để gọi lại các biến đã lưu trong .MAT file, sử dụng lệnh load. 
load myfile.mat 
 11 
Chuỗi kí tự 
Chuỗi kí tự là một dãy gồm các kí tự bất kì nằm trong dấu ngoặc đơn (‘’). Có thể gán một chuỗi kí tự cho giá 
trị của một biến. 
myText = 'Hello, world'; 
Sử dụng dấu ngoặc kép để thể hiện dấu ngoặc đơn trong chuỗi kí tự. 
otherText = 'You''re right' 
otherText = You're right 
myText và otherText là các mảng, giống như mọi biến khác của MATLAB. Loại dữ liệu của chuỗi kí tự là 
char, dạng viết gọn cho ‘character’. 
whos myText 
 Name Size Bytes Class Attributes 
 myText 1x12 24 char 
Có thể nối ghép các chuỗi kí tự bằng toán tử [] tương tự như với mảng thông thường. 
longText = [myText,' - ',otherText] 
longText = Hello, world - You're right 
Để chuyển đổi các giá trị số thành chuỗi kí tự, sử dụng các hàm có sẵn trong MATLAB, ví dụ num2str, 
int2str 
f = 71; 
c = (f-32)/1.8; 
tempText = ['Temperature is ',num2str(c),'C'] 
tempText =Temperature is 21.6667C 
 12 
Function 
MATLAB cung cấp một lượng lớn các Function (hàm lệnh) có sẵn để thực hiện các tính toán hoặc nhu cầu 
phổ biến của người dùng. Danh sách và mô tả của các Function của MATLAB có thể xem tại địa chỉ. 
Khi đã biết tên gọi của một Funnction, có thể truy cập phần Help mô tả Function đó từ Command 
Window bằng câu lệnh Help functionname 
Ví dụ, giả sử ta có hai ma trận A và B 
A = [1 3 5]; 
B = [10 6 4]; 
Khi gọi một Function, các biến input sẽ được đặt trong dấu ngoặc tròn (): 
max(A); 
Nếu có nhiều input thì chúng sẽ được ngăn cách bởi dấu phẩy (,) 
max(A,B); 
Giá trị output của một Function có thể được gán cho một biến khác: 
maxA = max(A); 
Khi có nhiều giá trị output, chúng sẽ được ngăn cách bởi dấu phẩy (,) và đặt trong ngoặc vuông []: 
[maxA,location] = max(A); 
Các biến input dạng chuỗi kí tự được đặt trong dấu ngoặc đơn (‘’) 
disp('hello world'); 
Để gọi một Function không có biến input và không trả lại các giá trị output, chỉ cần nhập tên của Function 
clc 
Function clc sẽ xóa và trả lại Command Window trống. 
 13 
Vẽ hình 2-D và 3-D 
Vẽ hình 2-D 
Để vẽ các đường 2-D, sử dụng lệnh plot. Ví dụ, để vẽ đồ thị hàm sin trong khoảng [0, 2π]: 
x = 0:pi/100:2*pi; 
y = sin(x); 
plot(x,y) 
Có thể dán nhãn cho các trục tọa độ và đặt tên cho đồ thị 
xlabel('x') 
ylabel('sin(x)') 
title('Plot of the Sine Function') 
 14 
Có thể thay đổi các thiết lập cho đồ thị bằng cách nhập thêm các giá trị định dạng cho đồ thị. Ví dụ câu lệnh 
sau sẽ cho đồ thị là đường màu đỏ gạch rời. 
plot(x,y,'r--') 
Chuỗi 'r--' là chuỗi định dạng của đồ thị. Mỗi chuỗi định dạng có thể bao gồm các giá trị về màu sắc, loại 
đường, và loại điểm đánh dấu. Điểm đánh dấu là những điểm sẽ được đánh dấu trên các đồ thị bằng các kí 
hiệu như +, o hay *. Ví dụ ‘g:*’ sẽ là định dạng của một đường màu xanh nét chấm với các điểm đánh dấu 
dạng * 
Chú ý rằng tên đồ thị và nhãn của các trục tọa độ được đặt cho đồ thị thứ nhất sẽ không xuất hiện trong đồ 
thị tiếp theo. Một cách mặc định, MATLAB sẽ xóa các đồ thị cũ khi một lệnh plot mới được gọi, đồng thời 
khởi tạo lại các trục tọa độ cũng như các yếu tố khác cho đồ thị mới. 
Để vẽ thêm các đường mới vào đồ thị đã có, sử dụng lệnh hold 
x = 0:pi/100:2*pi; 
y = sin(x); 
plot(x,y) 
hold on 
y2 = cos(x); 
plot(x,y2,'r:') 
legend('sin','cos') 
 15 
Cho đến khi có lệnh hold off, tất cả các đường được vẽ sẽ cùng hiển thị trong đồ thị hiện thời. 
Vẽ hình 3-D 
Một đồ thị 3-D cơ bản là một mặt biều thị cho một hàm 2 biến z = f (x,y). 
Để tính z, đầu tiên ta tạo một tập các điểm tọa độ (x,y) bằng lệnh meshgrid 
 [X,Y] = meshgrid(-2:.2:2); 
Z = X .* exp(-X.^2 - Y.^2); 
Sau đó vẽ mặt bằng lệnh surf 
surf(X,Y,Z) 
Hai lệnh vẽ hình 3-D cơ bản là surf và mesh. Trong khi surf tô màu cả các đường và các ô của mặt thì mesh 
chỉ tô màu các đường và cho kết quả hình vẽ dạng khung. 
 16 
Vẽ đồ thị con 
Có thể vẽ được nhiều đồ thị trong các miền con của một hình vẽ bằng cách sử dụng lệnh subplot. 
Ví dụ, đoạn lệnh sau sẽ vẽ 4 đồ thị trong một khung hình được chia làm 4 miền con: 
t = 0:pi/10:2*pi; 
[X,Y,Z] = cylinder(4*cos(t)); 
subplot(2,2,1); mesh(X); title('X'); 
subplot(2,2,2); mesh(Y); title('Y'); 
subplot(2,2,3); mesh(Z); title('Z'); 
subplot(2,2,4); mesh(X,Y,Z); title('X,Y,Z'); 
Hai giá trị đầu trong các input của subplot chỉ kích thước theo hai chiều ngang dọc của khung hình. Giá trị 
thứ ba chỉ ra miền con sẽ được sử dụng để vẽ đồ thị. 
 17 
Script 
Một chương trình MATLAB đơn giản nhất được gọi là một tập lệnh (Script). Script là một .M file với nội 
dung là một chuỗi các dòng lệnh gán biến và gọi hàm của MATLAB. Thực thi một Script bằng cách nhập 
tên của nó vào dòng lệnh. 
Ví dụ về Script 
Để tạo một Script mới, dùng lệnh edit 
edit plotrand 
Câu lệnh trên sẽ tạo ra một file trống có tên plotrand.m. Nhập một số dòng lệnh đơn giản vẽ một vecto 
nhận các giá trị ngẫu nhiên 
n = 50; 
r = rand(n,1); 
plot(r) 
Sau đó, thêm các dòng lệnh vẽ đường nằm ngang đi qua giá trị trung bình: 
m = mean(r); 
hold on 
plot([0,n],[m,m]) 
hold off 
title('Mean of Random Uniform Data') 
Một điều nên làm trong khi viết code là thêm các dòng chú thích để mô tả các phần chương trình được viết. 
Các dòng chú thích được bắt đầu bằng dấu %. 
% Generate random data from a uniform distribution 
% and calculate the mean. Plot the data and the mean. 
 n = 50; % 50 data points 
r = rand(n,1); 
plot(r) 
% Draw a line from (0,m) to (n,m) 
m = mean(r); 
hold on 
plot([0,n],[m,m]) 
hold off 
title('Mean of Random Uniform
Lưu Script trong Folder hiện thời. Đ
plotrand 
Cách khác để chạy một Script là click nút 
Vòng lặp và các câu lệnh có điều kiệ
Trong một Script có thể có các vòng l
Ví dụ, tạo một Script có tên calcmaen.m
giá trị trung bình của các lần tính toán.
nsamples = 5; 
npoints = 50; 
for k = 1:nsamples 
 currentData = rand(npoints,1);
 sampleMean(k) = mean(currentData);
end 
overallMean = mean(sampleMean)
Bây giờ, thay đổi các câu lệnh bằng cách bỏ đ ấ ố ệ
trung bình sau mỗi lần tính toán trong vòng l
tự của lần tính toán. 
for k = 1:nsamples 
 iterationString = ['Iteration #'
 disp(iterationString) 
 currentData = rand(npoints,1);
 sampleMean(k) = mean(currentData)
18 
 Data') 
ể gọi một Script, chỉ cần nhập tên của nó vào dòng l
Run trong cửa sổ Editor. 
n 
ặp và khối lệnh có điều kiện như for, if, và s
 để tính giá trị trung bình của 5 giá trị ngẫ
 i d u (;) cu i câu l nh tính sampleMean 
ặp, đồng thời hiển thị trong cửa sổ Command 
,int2str(k)]; 
ệnh. 
witch. 
u nhiên, rồi sau đó tính 
để hiển thị các giá trị 
Window số thứ 
 19 
end 
overallMean = mean(sampleMean) 
Với thay đổi này, khi gọi Script calcmean, kết quả sẽ hiển thi như bên dưới. 
calcmean 
Iteration #1 
sampleMean = 0.3988 
Iteration #2 
sampleMean = 0.3988 0.4950 
Iteration #3 
sampleMean = 0.3988 0.4950 0.5365 
Iteration #4 
sampleMean = 0.3988 0.4950 0.5365 0.4870 
Iteration #5 
sampleMean = 0.3988 0.4950 0.5365 0.4870 0.5501 
overallMean = 0.4935 
Sửa đổi thêm Script: Trong cửa sổ Editor, thêm vào đoạn lệnh có điều kiện ở cuối caclmean.m để hiển thị 
thông báo về sự sai khác của giá trị overallMean: 
if overallMean < .49 
 disp('Mean is less than expected') 
elseif overallMean > .51 
 disp('Mean is greater than expected') 
else 
 disp('Mean is within the expected range') 
end 
Gọi caclmean để xem kết quả của đoạn lệnh vừa bổ sung: 
overallMean = 0.5178 
Mean is greater than expected 
Địa chỉ của Script 
 20 
MATLAB sẽ chỉ truy cập được các Script hay các dữ liệu khác ở một khu vực được chỉ định của ổ cứng. Để 
gọi một Script thì.M file của Script đó phải nằm trong Folder hiện hành (được hiển thị trong khu vực 
Current Directory của màn hình). 
Có thể thay đổi Folder hiện hành của MATLAB bằng cách Browse đến Folder mới từ khu vực Current 
Directory. 
 21 
Help 
Tất cả các Function có sẵn của MATLAB đểu hỗ trợ phần mô tả và hướng dẫn sử dụng đơn giản về cú 
pháp, input và output. Có hai cách cơ bản để truy cập và phần Help của một Function: 
• Mở phần Help của Function bằng một cửa sổ mới bằng lệnh doc 
doc mean 
• Để xem hướng dẫn ngắn gọn của Function ngay trong cửa sổ Command Window, dùng lệnh help 
help mean 
Để xem toàn bộ phần Help của MATLAB, click vào tab Help từ Main Menu 

File đính kèm:

  • pdfBắt đầu với MATLAB.pdf