Đối số tùy chọn ORIGIN là vectơ 3 phần tử dùng làm gốc quay TERMINAL TERMINAL Đặt kiểu đầu cuối đồ họa TERMINAL đặt ra một menu đồ họa các kiểu đầu cuối và nhắc để chọn.. Tham số init
Trang 1RBBOX
Hộp băng cao su
RBBOX(RECTI, XY) lần vết hộp băng cao su trên hình ảnh , khởi đầu với hộp RECTI, và bắt đầu vết tai điểm XY Nút chuột phải giữ khi RBBOX được gọi RBBOX trả về với biến cố nút chuột Như một kết quả, RBBOX có thể được dùng trong một M-file, cùng với WAITFORBUTTONPRESS, để điều khiển xử lý động RECTI và XY theo đơn vị của hình ảnh hiện thời
ROTATE
Quay một đối tượng một góc alpha theo hướng chỉ định
ROTATE(H,AZEL,ALPHA,ORIGIN) quay đối tượng H góc ALPHA quanh một trục mô tả bởi AZEL, là vectơ 2 phần tử gồm góc phương vị và góc nâng hoặc một vectơ 3 chiều Đối số tùy chọn ORIGIN là vectơ 3 phần tử dùng làm gốc quay
TERMINAL
TERMINAL Đặt kiểu đầu cuối đồ họa
TERMINAL đặt ra một menu đồ họa các kiểu đầu cuối và nhắc để chọn Rồi nó đặt cấu hình cho MATLAB Cũng có thể chỉ định đầu cuối như tham số thứ nhất Có thể thêm các cài đặt đầu cuối cần thiết cho chỉ định mô phỏng hay đầu cuối vào tệp này
Các đầu cuối đồ họa đang được cung cấp là:
tek401x - Tektronix 4010/4014, tek4100 - Tektronix
4100 , tek4105 - Tektronix 4105
retro - retrographics card , sg100 - Selanar graphics 100, sg200 - Selanar graphics 200
vt240tek - VT240 & VT340 Tek mode , ergo - ergo terminal , graphon - graphon terminal
citoh - C.Itoh terminal , xtermtek - xterm, Tektronix graphics
wyse - Wyse WY-99GT , kermit - MS-DOS Kermit 2.23 , hp2647 - Hewlett-Packard 2647
versa - Macintosh with VersaTerm (Tektronics 4010/4014)
versa4100 - Macintosh with VersaTerm (Tektronics 4100)
versa4105 - Color/Grayscale Macintosh with VersaTerm (Tektronics 4105)
hds - Human Designed Systems
UIPUTFILE
UIPUTFILE Lấy tên tệp bằng cách hiển thị một hộp hội thoại
[FILENAME, PATHNAME] = UIPUTFILE('initFile', 'dialogTitle') hiển thị một hộp hội thoại và trả về các chuỗi tên tệp và đường dẫn Tham số initFile xác định hiển thị ban đầu của các tệp trong hộp hội thoại Cho phép chỉ định tên tệp đầy đủ cũng như ký tự đại diện Ví dụ,
Trang 2'newfile.m' khởi đầu việc hiển thị tên tệp đặc biệt này và liệt kê tất cả các tệp ‘*.m’ đã có Cách này có thể cung cấp một tên tệp mặc định Chỉ định ký tự đại diện như '*.m' liệt kê tất cả các tệp M-file của MATLAB Tham số 'dialogTitle' là chuỗi chứa tiêu đề của hộp hội thoại Biến xuất FILENAME là chuỗi chứa tên tệp được chọn trong hộp hội thoại Nếu người dùng ấn nút Cancel hoặc nếu có lỗi, thì được đặt giá trị 0 Biến xuất PATH là chuỗi chứa tên đường dẫn chọn trong hộp hội thoại Nếu người dùng ấn nút Cancel hoặc nếu có lỗi, thì được đặt giá trị 0
[FILENAME, PATHNAME] = UIPUTFILE('initFile', 'dialogTitle', X,Y) đặt hộp hội thoại tại vị trí màn hình là [X,Y] theo đơn vị điểm Không phải tất cả các hệ thống đều cung cấp tùy chọn này
Ví dụ: [newmatfile, newpath] = iputfile('*.mat', 'Save As');
UIGETFILE
UIGETFILE Lấy tên tệp bằng cách hiển thị một hộp hội thoại
[FILENAME, PATHNAME] = UIGETFILE('filterSpec', 'dialogTitle', X, Y) hiển thị một hộp hội thoại để người dùng đưa vào (fill in), và trả về các chuỗi tên tệp và đường dẫn Trả về thành công chỉ nếu tệp đã có Nếu người dùng chọn một tệp chưa có thì hiển thị một thông báo lỗi và trả về điều khiển cho hộp hội thoại Sau đó người dùng có thể vào tên tệp, hoặc ấn nút Cancel Tất cả các tham số là tùy chọn, nhưng nếu dùng một tham số thì tất cả các tham số trước cũng phải dùng hết Tham số filterSpec xác định tên các tệp ban đầu trong hộp hội thoại Ví dụ '*.m' liệt kê tất cả các tệp M-files của MATLAB Tham số 'dialogTitle' là chuỗi chứa tiêu đề của hộp hội thoại Các tham số X và Y xác định vị trí ban đầu của hộp hội thoại theo đơn vị điểm Một số hệ thống không cung cấp tùy chọn này Biến xuất FILENAME là chuỗi chứa tên tệp được chọn trong hộp hội thoại Nếu người dùng ấn nút Cancel hoặc nếu có lỗi, thì được đặt giá trị 0 Biến xuất PATH là chuỗi chứa tên đường dẫn chọn trong hộp hội thoại Nếu người dùng ấn nút Cancel hoặc nếu có lỗi, thì được đặt giá trị 0
WHITEBG
WHITEBG Thay đổi màu nền của hình ảnh
WHITEBG lật màu nền của hình ảnh hiện thời giữ đen và trắng, và thay đổi các đặc tính khác để hình ảnh được nhìn rõ hơn Hơn nữa, các đặc tính ngầm định của gốc được đặt để dãy lệnh
Trang 3PLOT tiếp sâu trong hình ảnh hiện thời và các hình hình ảnh mới dùng màu nền mới
WHITEBG(FIG) thay đổi các hình ảnh trong vectơ cột FIG Kể cả thẻ cửa sổ gốc (0) ảnh hưởng các đặc tính mặc định cho các cửa sổ mới hoặc cho CLF RESET
WHITEBG(FIG,C) hoặc WHITEBG(C) đặt màu nền mặc định vào C và thay đổi các đặc tính khác để hình ảnh được nhìn rõ hơn C có thể là một màu 1x3 rgb hoặc một chuỗi màu như 'white' hoặc 'w'
ZOOM
Bung to và thu nhỏ một hình vẽ 2 chiều
ZOOM ON bật trạng thái bung to/thu nhỏ hình ảnh hiện thời Ấn nút trái để thu nhỏ Ấn nút phải để bung to Mỗi khi ấn, các giới hạn trục sẽ thay đổi theo tỉ lệ gấp đôi (bung to hoặc thu nhỏ) Cũng có thể ấn và lôi để thay đổi trong một vùng
ZOOM OFF tắt trạng thái bung to/thu nhỏ ZOOM không đối số để lật trạng thái zoom ZOOM OUT trả về hình ảnh ban đầu (đầy đủ)
waitforbuttonpress Chờ ấn phím/nút chuột trên hình ảnh
Các ma trận đặc biệt
COMPAN
Ma trận COMPANION
A=COMPAN(P) là ma trận COMPANION của đa thức có các hệ số P, ma trận có dòng thứ nhất là -u(2:n)/u(1) với u là véctơ hệ số của đa thức P Các giá trị riêng của A là các nghiệm của P
GALLERY
GALLERY Cặp ma trận kiểm tra nhỏ
GALLERY(3) là ma trận vuông điều kiện xấu cấp 3 GALLERY(5) là một bài toán giá trị riêng đáng quan tâm Thử tìm các giá trị riêng và các vectơ riêng chính xác của nó
HADAMARD
HADAMARD(N) là ma trận Hadamard cấp N, đó là ma trận H có các phần tử 1 hoặc -1 mà H'*H = N*EYE(N) Một ma trận Hadamard cấp N với > 2 chỉ tồn tại nếu REM(N,4)=0 (N là bội của 4) Hàm này chỉ xử lý các trường hợp N, N/12 hoặc N/20 là lũy thừa của 2
HANKEL
Ma trận Hankel
HANKEL(C) là ma trận vuông Hankel có cột đầu tiên là C và các phần tử dưới đường chéo phụ bằng 0
Trang 4HANKEL(C,R) là ma trận Hankel có cột đầu tiên là
C và dòng cuối cùng là R Ma trận Hankel đối xứng, các đường chéo ngược không đổi, và có các phần tử H(i,j) = R(i+j-1)
HILB
Ma trận Hilbert
HILB(N) là ma trận vuông cấp N có các phần tử 1/(i+j-1), đây là ví dụ nổi tiếng về ma trận điều kiện xấu Xem thêm INVHILB
Đây cũng là một ví dụ tốt về hiệu quả của phong cách lập trình MATLAB với qui ước các vòng lặp FOR hay DO được thay bởi các lệnh vectơ hóa Cách này nhanh hơn, nhưng ít tốn vùng nhớ
INVHILB
INVHILB Ma trận đảo Hilbert
INVHILB(N) là nghich đảo của ma trận vuông cấp N có các phần tử 1/(i+j-1), đây là ví dụ nổi tiếng về ma trận điều kiện xấu Kết quả chính xác nếu N < 15
KRON
Tích ten-xơ Kronecker
KRON(X,Y) là tích ten-xơ Kronecker của X và Y Kết quả là một ma trận lớn tạo nên bằng cách lấy tất cả các tích có thể giữa các phần tử của X và các phần tử của Y Ví dụ, nếu X là ma trận cỡ 2x3, thì KRON(X,Y) là
[ X(1,1)*Y X(1,2)*Y X(1,3)*Y
X(2,1)*Y X(2,2)*Y X(2,3)*Y ]
Nếu X hoặcY thưa, thì chỉ nhân các phần tử khác
0 và kết quả là ma trận thưa
MAGIC
Hình vuông ảo thuật (ma phương)
MAGIC(N) là một ma trận vuông cấp N tạo nên từ các số nguyên từ 1 đến N^2 sao cho tổng các hàng, cột và đường chéo bằng nhau
PASCAL
PASCAL Ma trận Pascal
PASCAL(N) là ma trận Pascal cấp N: một ma trận xác định dương đối xứng có các phần tử nguyên, tạo nên từ tam giác Pascal Nghịch đảo của nó có các phần tử nguyên
PASCAL(N,1) là thừa số tam giác dưới Cholesky của
ma trận Pascal Là nghịch đảo của nó
PASCAL(N,2) là phiên bản chuyển vị và hoán vị của PASCAL(N,1), là căn bậc ba của ma trận đơn vị
ROSSER
Bài toán kiểm tra giá trị riêng đối xứng cổ điển
Ma trận này là một thách thức đối với nhiều thuật toán giá trị riêng ma trận Nhưng thuật
Trang 5toán Francis QR, như đã hoàn thiện bởi Wilkinson
và cài đặt trong EISPACK và MATLAB không có vấn
đề gì Ma trận này là ma trận vuông cấp 8 gồm
các phần tử nguyên Nó có:
* Một giá trị nguyên kép
* 3 giá trị riêng gần bằng nhau
* Các giá trị riêng lớn ngược dấu
* Một giá trị riêng bằng 0
* Một giá trị riêng nhỏ khác 0
TOEPLITZ
TOEPLITZ Ma trận Toeplitz
TOEPLITZ(C,R) là ma trận Toeplitz không đối xứng
có C là cột cuối cùng và R là dòng cuối cùng
của nó TOEPLITZ(C) là ma trận Toeplitz đối xứng (hay là
ma trận Hermitian)
VANDER
Ma trận Vandermonde
VANDER(C) trả về ma trận Vandermonde có cột thứ
hai và cột cuối cùng là C Cột thứ j của ma
trận Vandermonde được cho bởi A(:,j) = C^(n-j)
WILKINSON
WILKINSON Ma trận kiểm tra giá trị riêng của
Wilkinson
WILKINSON(n) là J H Ma trận kiểm tra giá trị
riêng của Wilkinson, Wn+ Đây là ma trận đối xứng
gồm 3 đường chéo với các cặp gần bằng nhưng
không đúng bằng các giá trị riêng Trường hợp
dùng thường xuyên nhất là WILKINSON(21) Ví dụ,
WILKINSON(7) là
3 1 0 0 0 0 0
1 2 1 0 0 0 0
0 1 1 1 0 0 0
0 0 1 0 1 0 0
0 0 0 1 1 1 0
0 0 0 0 1 2 1
0 0 0 0 0 1 3
Trang 6Các hàm âm thanh tổng quát
SOUND
Chuyển vectơ sang âm thanh
SOUND(Y) gửi tín hiệu trong vectơ Y sang loa trên các loại máy SPARC, HP, SGI, PC, và Macintosh Vectơ được chia thang âm tự động để cung cấp biên độ lớn nhất Âm thanh được chơi với tốc độ mẫu mặc định Trên máy SPARC, tốc độ mẫu cố định là
8192 Hz Trên máy Macintosh, tốc độ mẫu cố định là 22.255K Hz
SOUND(Y,FS), trên máy Macintosh, PC, và SGI, chơi
âm thanh với tần số mẫu là FS Hz
Vectơ Y được tự động tạo thang âm để các giá trị lớn nhất và nhỏ nhất trong Y ứng với miền giá trị vào nhỏ nhất và lớn nhất cho phép bởi phần cứng Trên máy Macintosh và SGI, bộ điều khiển volume trên Control Panel xác định bậc âm thanh cuối cùng
SAXIS
Chia trục âm thanh Hàm SOUND chia thang âm thông thường vectơ nhập Y của nó để các giá trị lớn nhất và nhỏ nhất trong Y ứng với miền giá trị vào nhỏ nhất và lớn nhất cho phép bởi phần cứng SAXIS(V), với V là vectơ 2 chiều V = [SMIN SMAX], hủy việc chia thang âm tự động của hàm SOUND và đặt thang âm để SMIN và SMAX ứng với miền giá trị vào nhỏ nhất và lớn nhất cho phép bởi phần cứng Các giá trị ngoài miền này bị xén đi
SAXIS('auto') đặt việc chia trục âm thanh ngược về cách chia tự động
SAXIS, trả về vectơ dòng 2 phần tử chứa [SMIN SMAX] là hiệu ứng hiện tại SAXIS hoàn toàn giống như CAXIS và AXIS, chỉ khác là việc chia trục áp dụng cho âm thanh chứ không phải cho các giới hạn về đồ thị
Các hàm âm thanh chi tiết
AUWRITE
Ghi tệp âm thanh mã hóa theo luật mu-law (chỉ tính cận trên)
AUWRITE(Y,'filename') chuyển Y sang các byte mã hóa theo luật mu-law và ghi vào tệp âm thanh chỉ định Nếu không cho tên tệp, mà dùng /dev/audio thì hoặc là trên máy cục bộ, hoặc là trên máy nhỏ chỉ định bởi biến môi trường DISPLAY
AUREAD
Đọc tệp âm thanh mã hóa theo luật mu-law (chỉ tính cận trên)
Trang 7Y = AUREAD('filename') đọc tệp âm thanh 'filename' và chuyển dữ liệu từ các byte mã hóa theo luật mu-law sang tín hiệu trong miền giá trị -1 <= Y <=
1
WAVWRITE
Lưu các tệp âm thanh dạng WAV của Windows 3.1
WAVWRITE(y,Fs,wavefile) lưu tệp dạng “ WAV ” được chỉ định bởi "wavefile" Các đối số nhập cho WAVWRITE như sau:
y Dữ liệu mẫu để ghi (8 bit max)
Fs Tốc độ mẫu
wavefile Chuỗi ký tự là tên tệp
“ WAV ” để tạo ra
Lưu ý: WAVWRITE sẽ tạo ra một tệp kênh sóng đơn
8-bit Dữ liệu mẫu không phải 8-bit bị cắt
WAVREAD
WAVREAD Nạp các tệp âm thanh dạng WAV của Windows 3.1
[y]=WAVREAD(wavefile) nạp tệp dạng “ WAV ” được chỉ định bởi "wavefile", trả về dữ liệu mẫu trong biến "y" Phần mở rộng “.WAV ” của tên tệp là tùy chọn
[y,Fs]=WAVREAD(wavefile) nạp tệp dạng “ WAV ” được chỉ định bởi "wavefile", trả về dữ liệu mẫu trong biến "y" và tốc độ mẫu trong biến "Fs"
[y,Fs,Format]=WAVREAD(wavefile) nạp tệp dạng
“ WAV ” được chỉ định bởi "wavefile", trả về dữ liệu mẫu trong biến "y" , tốc độ mẫu trong biến
"Fs" , và thông tin tệp dạng “ WAV ” trong biến
"Format" Thông tin được trả về là một vectơ 6 phần tử theo thứ tự như sau:
Format(1) Dạng dữ liệu (luôn cho PCM)
Format(2) Số kênh
Format(3) Tốc độ mẫu (Fs)
Format(4) Trung bình byte/s(mẫu)
Format(5) Khối xếp dữ liệu
Format(6) Các bit/mẫu
Lưu ý: WAVREAD chỉ cung cấp dữ liệu kênh đơn 8-bit
MU2LIN
Chuyển mu-law sang tuyến tính
Y = MU2LIN(MU) chuyển các tín hiệu âm thanh mã hóa 8-bit theo luật mu-law, lưu “ các giá trị rắn ” trong miền giá trị 0 <= MU <= 255, sang tín hiệu biên độ trong miền -s < Y < s với s = 32124/32768 ~= 9803 Tham số nhập MU thường nhận được bằng cách dùng fread( ,'uchar') để đọc các tệp âm thanh có byte được mã hóa
"Các giá trị rắn " lá các số nguyên của MATLAB
- các số thực có giá trị nguyên
LIN2MU
Chuyển tuyến tính sang mu-law
Trang 8MU = LIN2MU(Y) chuyển các biên độ tín hiệu âm
thanh tuyến tính trong miền -1 <= Y <= 1 sang “ c ác
giá trị rắn” mã hóa theo luật mu-law trong miền
0 <= MU <= 255
Các hàm đặc biệt
BESSELJ
BESSELJ Các hàm Bessel loại 1
J = BESSELJ(ALPHA,X) tính hàm Bessel loại 1, Jα(X)
với giá trị thực, bậc không âm ALPHA và đối số
X Kết quả có size(J) = size(Z) nếu ALPHA vô
hướng, hoặc size(J) = [prod(size(Z)), length(ALPHA)]
nếu ALPHA là vectơ Các phần tử của X có thể
là các giá trị thực không âm bậc bất kỳ Tuy
nhiên, với ALPHA, có 2 hạn chế quan trọng: ALPHA
phải tăng từng đơn vị, nghĩa là ALPHA =
alpha:1:alpha+n-1, và các giá trị phải thoả mãn 0
<= alpha(k) <= 1000
Ví dụ: besselj(3:9,(10:.2:20)') phát sinh bảng 51x7
ở trang 400 trong sách "Handbook of Mathematical
Functions" của Abramowitz và Stegun,
besselj(2/3:1:98/3,r) phát sinh các hàm Bessel bậc
phân nhỏ dùng bởi MathWorks Logo, màng dáng L
J2/3(r) phù hợp điểm kỳ dị tại góc trong với
góc bằng pi/(2/3)
BESSELY
BESSELY Các hàm Bessel loại 2
Y = BESSELY(ALPHA,X) tính các hàm Bessel loại 2,
Yα(X) với giá trị thực, bậc không âm ALPHA và đối
số X Kết quả có size(Y) = size(Z) nếu ALPHA vô
hướng, hoặc size(Y) = [prod(size(Z)), length(ALPHA)]
nếu ALPHA là vectơ Các phần tử của X có thể
là giá trị thực không âm bậc bất kỳ Tuy nhiên,
với ALPHA, có 2 hạn chế quan trọng: ALPHA phải
tăng từng đơn vị, nghĩa là ALPHA = alpha:1:alpha+n-1,
và các giá trị phải thoả mãn 0 <= alpha(k) <=
1000 Ví dụ:
bessely(3:9,(10:.2:20)') phát sinh bảng 51x7 ở trang
401 trong sách "Handbook of Mathematical Functions"
của Abramowitz và Stegun
BESSELI
BESSELI Sửa đổi các hàm Bessel loại 1
I = BESSELI(ALPHA,X) tính hàm sửa đổi Bessel loại
1, Iα(X) với giá trị thực, bậc không âm ALPHA và
đối số X Kết quả có size(I) = size(Z) nếu ALPHA
vô hướng, hoặc size(I) = [prod(size(Z)), length(ALPHA)] nếu ALPHA là
vectơ Các phần tử của X có thể là các giá
trị thực không âm bậc bất kỳ Tuy nhiên, với
ALPHA, có 2 hạn chế quan trọng: ALPHA phải tăng