Thao tác trong cửa sổ lệnh của Matlab

Để tạo ma trận trong Matlab ta chỉ cần liệt các phần tử của ma trận trong cặp dấu ngoặc

vuông ([ ]). Các phần tử trên cùng hàng được phân biệt bởi dấu phẩy (,) hoặc khoảng

trắng (space). Các hàng của ma trận, phân cách nhau bởi dấu chấm phẩy (;). Ví dụ, nhập

ma trận A có 4 hàng, 4 cột như sau:

>> A=[16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]

>> size(A)

Để truy xuất đến từng phần tử của ma trận ta dùng chỉ số phần tử tương ứng. Ví dụ, phần

tử ở hàng thứ 2, cột thứ 3 của A là A(2,3).

pdf11 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 2270 | Lượt tải: 3download
Tóm tắt nội dung Thao tác trong cửa sổ lệnh của Matlab, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Thao tác trong cửa sổ lệnh
của Matlab
Bởi:
unknown
THAO TÁC TRONG CỬA SỔ LỆNH CỦA MATLAB
MỤC TIÊU
Bài thí nghiệm này giúp sinh viên làm quen nhanh với Matlab 6.5 bằng các thao tác đơn
giản trên ma trận, vectơ, biểu thức toán học, các lệnh đồ họa, …, thực hiện ngay trên
cửa sổ lệnh (command window) của Matlab.
THAM KHẢO
[1]. Nguyễn Hứa Duy Khang, Bài giảng môn CAD, Bộ môn Viễn thông & Tự động hóa,
khoa Công nghệ thông tin, Đại học Cần thơ, 2001.
[2]. The Mathworks Inc., Matlab Notebook User’s Guide, 2003.
[3]. Nguyễn Hoài Sơn - Đỗ Thanh Việt - Bùi Xuân Lâm, Ứng dụng MATLAB trong
tính toán kỹ thuật, Tập 1, NXB ĐHQG Tp. HCM, 2000
[4]. Nguyễn Hữu Tình - Lê Tấn Hùng - Phạm Thị Ngọc Yến - Nguyễn Thị Lan Hương,
Cơ sở Matlab & ứng dụng, NXB KH và Kỹ thuật, 1999.
[5]. 
[6]. 
THỰC HÀNH
Từ cửa sổ lệnh của Matlab, sinh viên lần lượt thực hiện các thao tác sau:
Thao tác trong cửa sổ lệnh của Matlab
1/11
Ma trận
Để tạo ma trận trong Matlab ta chỉ cần liệt các phần tử của ma trận trong cặp dấu ngoặc
vuông ([…]). Các phần tử trên cùng hàng được phân biệt bởi dấu phẩy (,) hoặc khoảng
trắng (space). Các hàng của ma trận, phân cách nhau bởi dấu chấm phẩy (;). Ví dụ, nhập
ma trận A có 4 hàng, 4 cột như sau:
>> A=[16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
>> size(A)
Để truy xuất đến từng phần tử của ma trận ta dùng chỉ số phần tử tương ứng. Ví dụ, phần
tử ở hàng thứ 2, cột thứ 3 của A là A(2,3).
>> A(2,3)
1. Cho ma trận A=[2 4 1; 6 7 2; 3 5 9], sinh viên dùng các lệnh cần thiết để:
• Lấy dòng đầu tiên của ma trận A.
• Tạo ma trận B bằng 2 dòng cuối cùng của A.
• Tính tổng các phần tử trên các cột của A. (gợi ý: tính tổng các phần tử trên cột
1: sum(A(:,1))).
• Tính tổng các phần tử trên các dòng của A.
2. Cho ma trận A=[2 7 9 7; 3 1 5 6; 8 1 2 5], sinh viên giải thích kết quả của các lệnh
sau:
1. A'
2. A(:,[1 4])
3. A([2 3],[3 1])
4. reshape(A,2,6)
5. A(:)
6. [A A(end,:)]
7. A(1:3,:)
8. [A ; A(1:2,:)]
9. sum(A)
10. sum(A')
11. [ [ A ; sum(A) ] [ sum(A,2) ; sum(A(:)) ] ]
3. Giải hệ phương Ax=b, với: A= [ 123
0
5
− 1
− 1
3
0 ] và b= [
1
1
− 2 ]. Gợi ý: x=A\b.
Thao tác trong cửa sổ lệnh của Matlab
2/11
Vectơ
Vectơ thực chất cũng là ma trận có kích thước (n x 1) hay (1 x n), nên ta có thể tạo ra
vectơ như cách tạo ra ma trận. Ngoài ra, có thể dùng một số cách sau:
>>x=0:0.1:1
>>y=linspace(1, 10, 20) % vecto 20 phan tu cach deu nhau tu 1 den 10
>>z=rand(10,1)
1. Cho vectơ x = [3 1 5 7 9 2 6], giải thích kết quả của các lệnh sau:
• x(3)
• x(1:7)
• x(1:end)
• x(1:end-1)
• x(6:-2:1)
• x([1 6 2 1 1])
• sum(x)
2. Sinh viên hãy tạo một vectơ x có 100 phần tử, sao cho:
xn =
( − 1)n + 1
(2n − 1) .
Gợi ý: Tạo vectơ n có 100 phần tử từ 1 đến 100, dùng toán tử dấu chấm (.) để xác định
x.
Các đa thức
Các đa thức trong Matlab được mô tả bằng các vectơ hàng với các phần tử của vectơ
chính là các hệ số của đa thức, xếp theo thứ tự số mũ giảm dần. Ví dụ, đa thức m =
s4-s3+4s2-5s-1 được biểu diễn là:
>>m=[1 -1 4 5 -1]
Để xác định giá trị của đa thức, ta dùng lệnh polyval. Ví dụ, xác định giá trị của đa thức
tại điểm s=2:
>>polyval(m,2)
Để xác định nghiệm của đa thức, ta dùng lệnh roots. Ví dụ:
Thao tác trong cửa sổ lệnh của Matlab
3/11
>>roots(m)
1. Cho phương trình x2-4x+5=0, giải phương trình theo 2 cách, cách 1 – tính delta theo
phương pháp cổ điển, cách 2 – dùng hàm roots, hãy so sánh kết quả.
• Cách1:
>>a=1;
>>b=-4;
>>c=5
>>x1=(-b+sqrt(b^2-4*a*c))/(2*a)
>>x2=(-b-sqrt(b^2-4*a*c))/(2*a)
• Cách 2:
>>m=[a b c];
>>x=roots(m)
Hãy thay đổi các giá trị khác nhau của a, b và c tương ứng trong 2 cách giải trên. So
sánh kết quả và nhận xét.
2. Giải phương trình x3- 2x2+4x+5=0. Kiểm chứng kết quả thu được bằng hàm polyval.
Sinh viên có nhận xét gì về kết quả kiểm chứng.
3. Lặp lại câu ? cho phương trình x7-2=0.
4. Sinh viên thử dùng hàm poly để tạo đa thức từ các nghiệm cho trước.
>>help poly
Đồ họa
Matlab hổ trợ chế độ đồ họa rất mạnh, bao gồm đồ họa 2D và 3D, với các trục tọa độ
tuyến tính và phi tuyến bất kỳ.
Đồ họa 2 D
Đồ họa 2D chủ yếu dựa trên lệnh plot. Để được giúp đỡ, ta gõ:
Thao tác trong cửa sổ lệnh của Matlab
4/11
>>help plot
1. Vẽ đồ thị hàm số y1=sinx.cos2x và hàm số y2=sinx2 trong [0-2π], trên cùng hệ trục
tọa độ, ta lần lượt thực hiện như sau:
>>x=0:0.01:2*pi;
>>y1=sin(x).*cos(2*x); %nhan tuong tung tung phan tu
>>plot(x,y1)
>>grid on %hien thi luoi
Sau khi thu được đồ thị hàm y1, để vẽ y2 trên cùng đồ thị, ta thực hiện:
>>hold on %giu hinh, mac nhien la hold off
>>y2=sin(x.^2); %luy thua tung phan tu
>>plot(x,y2,’k’) %duong ve co mau den
>>axis([0 4*pi –1.25 1.25]) %dinh lai toa do hien thi
Ta có thể đặt nhãn cho các trục cũng như tiêu đề cho đồ thị:
>>xlabel(‘Time’)
>>ylabel(‘Amplitude’)
>>title(‘y1=sinx.cos2x and y2=sin(x^2)’)
>>legend(‘sinx.cos2x’,’sinx^2’)
Thao tác trong cửa sổ lệnh của Matlab
5/11
Hình 1.1 – Biểu diễn đồ thị các hàm số trên cùng hệ trục tọa độ
2. Matlab hổ trợ rất nhiều thuộc tính đồ họa, để có thể kiểm soát các thuộc tính này ta
cần dùng đến thẻ đồ họa. Ví dụ:
>>close all
>>x=[0 1 2 3];
>>y=[0 4 1 5];
>>h=plot(x,y)
h chính là thẻ đồ họa của hàm plot, để thấy các thuộc tính đồ hoạ, ta dùng lệnh:
>>set(h)
Bây giờ ta thử đặt một số thuộc tính đồ họa cho h.
>>set(h,’Color’, ‘r’) %dat lai mau do
>>set(h,'LineWidth',6) %dat do rong duong
>>set(h,'Marker','v','MarkerSize',6)
Thao tác trong cửa sổ lệnh của Matlab
6/11
Hình 1.2 – Thay đổi thuộc tính đường biểu diễn
Dữ liệu dùng để vẽ được đặt trong ‘XData’ và ‘YData’.
>> set(h,'XData',[0 1 1 3])
>>set(h,'YData',[0 3 5 1])
Từ kết quả này, ta nhận thấy nếu dữ liệu trong ‘XData’ và ‘YData’ biến thiên theo thời
gian, thì trên cửa sổ đồ họa (figure) ta sẽ thấy hình ảnh sinh động kiểu ‘animation’.
Hình 1.3 - Thay đổi dữ liệu trong cửa sổ đồ họa
Hình 1.3 - Thay đổi dữ liệu trong cửa sổ đồ họa
3. Tương tự như hàm plot, sinh viên thử dùng các hàm semilogx, semilogy và loglog
cho trường hợp trục tọa độ phi tuyến.
4. Ngoài các lệnh biểu diễn đường cong trong tọa độ Descartes, Matlab cũng hổ trợ việc
vẽ đồ thị hàm số trong hệ tọa độ cực bằng hàm polar.
>>theta=0:0.05:2*pi;
>>r=sin(5*theta);
Thao tác trong cửa sổ lệnh của Matlab
7/11
>>polar(theta,r)
Hình 1.4 – Biểu diễn đồ thị hàm số trong hệ tọa độ cực
Đồ họa 3 D
Matlab cung cấp nhiều hàm vẽ đồ thị 3D, chẳng hạn: plot3 - dùng để vẽ các đường trong
không gian 3 chiều; mesh và surf - dùng để vẽ vật thể 3D (gõ help mesh và help surf
để biết thêm các hàm 3D có liên quan).
1. Vẽ đồ thị 3D bằng hàm plot3:
>>t=0:pi/50:10*pi;
>>x=sin(t);
>>y=cos(t);
>>z=t;
>>subplot(121), plot3(x,y,z) %ve tren o thu nhat
>>grid on
>>subplot(122), plot3(x,y,t.^2) %ve tren o thu hai
>> grid on
Hình 1.5 – Vẽ đồ thị 3D bằng hàm plot3
Thao tác trong cửa sổ lệnh của Matlab
8/11
2. Vẽ mặt paraboloid z=x2+y2 trong không gian 3 chiều:
>>close all
>>t=-5:0.1:5;
>> [x,y]=meshgrid(t); %dinh luoi ve
>>z=x.^2+y.^2;
>> subplot(2,2,1), mesh(z) %ve mat luoi 3D
>> title('mesh(z)')
>> subplot(2,2,2), meshc(z) %giong mesh nhung co them duong vien
>> title('meshc(z)')
>> subplot(2,2,3), meshz(z) %co them luoi tren mat x,y
>> title('meshz(z)')
>> subplot(2,2,4), waterfall(z) %chi ve luoi theo 1 huong
>> title('waterfall(z)')
Hình 1.6 - Vẽ mặt paraboloid
Thao tác trong cửa sổ lệnh của Matlab
9/11
3. Vẽ mặt z =
sin(√x2 + y2)
√x2 + y2 trong không gian 3 chiều:
>>x=-8:0.5:8;
>>y=x;
>>[x,y]=meshgrid(x,y);
>>r=sqrt(x.^2+y.^2);
>>z=sin(r)./r;
>>surf(x,y,z)
Hình 1.7 – Một biểu diễn đồ thị 3D khác
4. Sinh viên thử vẽ mặt trụ z = √x4 + y2 bằng hàm mesh và hàm surf.
TỰ CHỌN
1. Giải hệ phương trình sau:
2x1 + 4x2 + 6x3 – 2x4 = 0
x1 + 2x2 + x3 + 2x4 = 1
2x2 + 4x3 + 2x4 = 2
3x1 - x2 + 10x4 = 10.
2. Chứng tỏ rằng (A+B)C=AC+BC, với:
Thao tác trong cửa sổ lệnh của Matlab
10/11
A= [ 10203
− 2
4
6 ], B= [
3
−10
0
1
2
5 ] và C= [ − 36 41 ].
3. Sinh viên thử vẽ hình sau (Hình 1.8):
(Hình 1.8)
4. Từ cửa sổ lệnh của Matlab, nhập: demos. Chọn MATLAB → Graphics → 3D-plots.
Chạy chương trình demo này.
Thao tác trong cửa sổ lệnh của Matlab
11/11

File đính kèm:

  • pdfThao tác trong cửa sổ lệnh của Matlab.pdf