Tải bản đầy đủ - 0 (trang)
3 Các hàm logic và hàm quan hệ

3 Các hàm logic và hàm quan hệ

Tải bản đầy đủ - 0trang

61

isequal(A, B)

isfield(S, ‘name’)

isfinite(X)

isglobal(X)

ishandle(h)

ishold

isiee

isinf(X)

isletter(S)

islogical(X)

ismember(A, B)

isnan(X)

isnumeric(X)

isppc

isprime(X)

isreal(X)

isspace(S)

issparse(A)

isstruct(S)

isstudent

isunix

isvms



True nÕu A vµ B gièng nhau.

True nếu namelà một trờng của cấu trúc S.

True khi các phần tử có hạn.

True khi đối số là biến toàn cục.

True khi đối số là sự điều khiển đối tợng hợp lý

True nếu đồ thị hiện tại giữ trạng thái ON.

True nÕu m¸y tÝnh thùc hiƯn phÐp sè häc IEEE

True tại những phần tử vô cùng

True khi các phần tử thuộc bảng chữ cái.

True khi đối số là mảng logic

True tại những vị trí mà phần tử của A và B

trùng nhau

True khi các phần tử là không xác định (NaN)

True khi đối số là mảng số

True cho Macintosh với bộ xử lý PowerPC

True khi các phần tử là số nguyên tố

True khi đối số không có phần ảo

True khi các phần tử là kí tự trắng

True nếu đối số là ma trận Sparse

True nếu đối số là một cấu trúc

True nếu Student Edition của MATLAB

True nếu máy tính là UNIX

True nếu máy tính là VMS

----------------------oOo--------------------



chơng 9

VĂN Bản

Sự tiện ích của MATLAB là xử lý với các con số. Tuy nhiên chúng ta đã nhiều lần

đề cập đến thao tác với văn bản (text), nh khi đa nhãn và tiêu đề vào trong đồ

thị. Trong MATLAB biến text đợc dùng đến nh là xâu kí tự, hoặc đơn giản là

các xâu.

9.1 Xâu kí tự

Xâu kí tự trong MATLAB là mảng của các giá trị ASCII mà quy ớc của nó là

các kí tự.

Ví dụ:

>> t = 'How about this character string?'

t=

How about this character string?

>> size(t)

ans=

1

32

>> whos

Name

Size

Bytes



Class



62

t

1x32

64 char

Grand total is 32 elements using 64 bytes



array



Một xâu kí tự, đơn giản là dạng văn bản, đợc đặt giữa hai dấu nháy đơn.

Mỗi kí tự trong xâu là một phần tử của mảng, với mỗi phần tử chiếm hai bytes.

Muốn xem các mã ASCII của một xâu kí tự, bạn phải dùng các phép toán số

học đối với xâu, hoặc chuyển nó sang dạng số, dùng hàm double . Ví dụ:

>> double(t)

ans=

Columns 1 through 12

72 111 119

32

97

98 111

117 116

32 116

104

Columns 12 through 24

105 115

32

99 104

97 114

97

99 116 101

114

Columns 25 through 32

32 115 116 114 105 110 103

63

>> abs(t)

ans=

Columns 1 through 12

72 111 119 32

97 98 111 117 116

32

116 104

Columns 13 through 24

105 115

32 99 104 97 114

97

99 116

101 114

Columns 25 through 32

32 115 116

114

105 110

103 63

Hàm char chuyển lại thành xâu:

>> char(t)

ans=

How about this character string?

Với mảng xâu là một mảng số với thuộc tính đặc biệt, chúng ta có thể

thao tác bằng tất cả các công cụ thao tác với mảng sẵn có trong MATLAB. Ví dụ:

>> u = t(16:24)

u=

character

Địa chỉ của xâu cũng giống nh mảng. ở đây phần tử từ 16 đến 24 chứa từ

character

>> u = t(24:-1:16)

retcarahc

Đây là từ character đọc ngợc lại

>> u = t(16:24)

u=

c

h

a



63

r

a

c

t

e

r

Dùng toán tử chuyển vị để chuyển từ character sang dạng ma trận cét

>> v = 'I cant't find the manual!'

v=

I can't find the manual!

Dấu nháy đơn với xâu kí tự là biểu tợng trong hai dấu nháy đơn.

Chúng ta có thể nối hai xâu nh đối với hai mảng:

>> w = [u,v]

w=

character I can t find the manual!

Hàm disp cho phép bạn hiển thị xâu kí tự mà không có tên biến

>> disp(v)

I can't find the manual

Chú ý là trạng thái v= bị bỏ đi, điều này rất có ích cho chúng ta hiển thị

những lời trợ giúp trong script file.

Cũng giống nh đối với ma trận, xâu kí tự có thể có nhiều hàng, nhng mỗi

một hàng phải có số cột b»ng nhau, ®Ĩ cho sè cét cđa chóng b»ng nhau chóng

ta cã thĨ dïng kÝ tù trèng.

>> v = ['However, this'

'does work!

']

v=

However, this

does work!

>> w = ['this'; ' does not']

??? All rows in the bracketed expression must have the same

number of columns.

>> size(v)

ans=

2

13

Ta cũng có thể dùng hàm char để tạo một mảng xâu từ các xâu, và nó tự

thêm các kí tự trống để tạo ra một mảng đầy ®đ.

>> w = char('this', 'does not')

w=

this

does not



64

>> size(w)

ans=

2



8



9.2 Chun ®ỉi xâu

Để bổ xung thêm về sự chuyển đổi giữa xâu và mã ASCII của nó nh đã

trình bày ở trên, MATLAB đa ra một số các hàm chuyển đổi hữu ích khác,

chúng bao gồm dới đây:

Các hàm chuyển đổi xâu

base2dec

bin2dec

char

dec2base

dec2bin

dec2hex

double

fprintf

hex2dec

hex2num

int2str

mat2str

num2str

sprintf

sscanf

str2num



Dựa trên xâu x chuyển sang hệ mời.

Từ xâu nhị phân sang hƯ mêi

Tõ x©u sang ASCII

Tõ hƯ mêi sang x©u x

Từ số hệ mời sang xâu nhị phân

Từ số hệ mời sang xâu của các số hệ mời sáu.

Chuyển từ mã ASCII sang xâu

Viết dạng văn bản ra file hoặc ra màn hình

Chuyển từ xâu gồm các số hệ 16 sang các số

hệ mời

Chuyển từ xâu các số hệ 16 sang số dấu phẩy

động IEEE

Chuyển từ số nguyên sang xâu

Chuyển từ ma trận số sang xâu gồm các số

Chuyển từ sè sang x©u

Chun tõ m· ASCII sang x©u

Chun tõ sè sang xâu có điều chỉnh kích thớc

Chuyển từ xâu sang số không có điều chỉnh

kích thớc



Trong trờng hợp chúng ta tạo một thông báo có chứa các số không phải là xâu,

những hàm chuyển đổi sẽ giúp chúng ta làm viƯc ®ã.

>> rad = 2.5; area = pi*rad^2;

>> t = ['A circle of radius ' num2str(rad)...

'has an area of ' num2str(area) '.'];

>> disp(t)

A circle of radius 2.5 has an area of 19.63.

ở đây hàm num2str đợc dùng để chuyển từ số sang xâu. Giống nh vậy

int2str chuyển từ số nguyên sang xâu, cả hai hàm này gọi hàm sprintf, nó

giống nh cú pháp trong C dùng để chuyển số sang xâu.

9.3 Các hàm về xâu



65

MATLAB đa ra một số các hàm của xâu, bao gồm các hàm trong danh sách dới đây:

Các hàm xâu

blanks(n)

deblank(s)

eval(xâu)

eval(try, catch)

feval(f, x, y, ...)

findstr(s1, s2)

ischar(s)

isletter(s)

isspace(s)

lasterr

lower(s)

strcat(s1, s2, ...)

strcmp(s1, s2)

strmatch(s1, s2)

strncmp(s1, s2, n)

strrep(s1, s2)

strtok(s)

strvcat(s1, s2, ...)

upper(s)



Trả lại một xâu gồm các kí tự trống hay

dấu cách

Trả lại các vệt trống từ một xâu

Ước lợng xâu nh là một lệnh của MATLAB

Ước lợng xâu và bắt lỗi

Hàm evaluate đa ra bằng xâu

Tìm kiếm một xâu trong một xâu khác

True nếu đa vào là một xâu

True tại những vị trí kí tự Alphabet tồn

tại

True tại những vị trí là kí tự trống

Xâu của lỗi cuối cùng MATLAB đa ra

Xâu với những chữ cái thờng

Nối các xâu thành hàng

True nếu các xâu giống nhau

Tìm kiếm khả năng giống nhau của xâu

True nếu n kí tự đầu giống nhau

Thay thế một xâu bằng một xâu khác

Tìm kiếm dấu hiệu cho xâu

Nối các xâu thành cột

Chuyển thành chữ in



Một số các hàm trên cung cấp khả năng xử lý các xâu cơ bản. Ví dụ nh,

findstr trả lại chỉ số bắt đầu của một xâu trong một xâu khác:

>> b = 'Peter Piper picked a peck of pickled peppers';

>> findstr(b, ' ')

% T×m kiếm khoảng trống

6

12

19

21

26

29

37

>> findstr(b, 'p')

9

13

22

30

38

40

41

>> find(b=='p')

9

13

22

30

38

40

41

>> findstr(b, 'cow')

% Tìm kiếm từ cow

ans=

[ ]

>> findstr(b,'pick')

ans=

13

30

Hàm này trả lại ma trận rỗng khi không có những phần cần tìm.

>> strrep(b,'Peter','Pamela')

ans=

Pamela Piper picked a peck of pickled peppers



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

3 Các hàm logic và hàm quan hệ

Tải bản đầy đủ ngay(0 tr)

×