1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình mathlab toàn tập - Chương 8

4 13 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 75,89 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

các phép tính LOGIC Và QUAN Hệ Thêm vào những toán tử ‘truyền thống’, MATLAB cung cấp toán tử logic và quan hệ. Bạn có thể quen thuộc với những phép toán này, nếu bạn đã làm quen với các ngôn ngữ lập trình khác. Mục đích của những toán tử và hàm này là để trả lời câu hỏi True_False (đúng_sai). Đối với các số thì trong toán tử logic và quan hệ quy định các số khác không là True còn số không là False. Kết quả của phép toán logic và quan hệ đa ra là...

Trang 1

6.3246

4.4721

vphase =

123.6901

108.4349

63.4349

Hình 7.2

-oOo -

chương 8

các phép tính LOGIC Và QUAN Hệ Thêm vào những toán tử ‘truyền thống’, MATLAB cung cấp toán tử logic và quan hệ Bạn có thể

quen thuộc với những phép toán này, nếu bạn đã làm quen với các ngôn ngữ lập trình khác Mục đích

của những toán tử và hàm này là để trả lời câu hỏi True_False (đúng_sai)

Đối với các số thì trong toán tử logic và quan hệ quy định các số khác không là True còn số không

là False Kết quả của phép toán logic và quan hệ đa ra là 1 cho True, 0 cho False

Trang 2

8.1 Toán tử quan hệ

Toán tử quan hệ MATLAB bao gồm tất cả các phép so sánh:

Toán tử quan hệ ý nghĩa

< nhỏ hơn

<= nhỏ hơn hoặc bằng

> lớn hơn

>= lớn hơn hoặc bằng

== bằng

~= không bằng

Toán tử quan hệ MATLAB có thể dùng để so sánh hai mảng có cùng kích cỡ hoặc so sánh một mảng với một số đơn Trong trường hợp thứ hai, số đơn so sánh với tất cả các phần tử của mảng, kết quả trả về giống như kích cỡ của mảng Ví dụ:

>> A = 1:9, B = 9 - A

A=

1 2 3 4 5 6 7 8 9 B=

8 7 6 5 4 3 2 1 0

>> tf = A>4

tf=

0 0 0 0 1 1 1 1 1

tìm kiếm các phần tử của A mà lớn hơn 4 Kết quả bằng 0 khi A 4, bằng 1 khi A>4

>> tf = (A==B)

tf=

0 0 0 0 0 0 0 0 0

Tìm kiếm các phần tử của A mà bằng với B Chú ý sự khác nhau giữa = và == dùng để so sánh hai biến và trả về 1 khi chúng bằng nhau, 0 khi chúng khác nhau; = dùng để gán kết quả đa ra của toán tử cho một biến

>> tf = B - (A>2)

tf=

8 7 5 4 3 2 1 0 -1

Tìm các phần tử A>2 và bị trừ bởi vector B Ví dụ này chỉ ra rằng kết quả đa ra của toán tử logic là một mảng số bao gồm các số không và một, chúng cũng có thể dùng trong các phép toán số học

>> B = B + (B==0)*eps

B=

Columns 1 through 7

8.0000 7.0000 6.0000 5.0000 4.0000 3.0000 2.0000

Columns 8 through 9

1.0000 0.0000

Ví dụ trên đa ra cách thay thế các phần tử của B mà trùng với không bằng số đặc biệt của MATLAB

là eps, có giá trị xấp xỉ 2.2e-16 Cách thay thế này đôi khi có ích là tránh trường hợp chia cho số không như ví dụ sau:

>> x = (-3:3)/3

Trang 3

-1.0000 -0.6667 -0.3333 0 0.3333 0.6667 1.0000

>> sin(x)./x

Warning: Divide by zero

ans=

0.8415 0.9276 0.9816 NaN 0.9816 0.9276 0.8415

Tính toán hàm sin(x)/ x đa ra một cảnh báo vì phần tử thứ tư bằng không, sin(0)/ 0 không được

định nghĩa, MATLAB trả lại NaN ( nghĩa là không phải là một số) tại vị trí đó trong kết quả Thử lại

ví dụ trên, sau khi thay thế phần tử có giá trị bằng không bằng số eps:

>> x = x + (x==0)*eps;

>> sin(x)/x

ans=

0.8415 0.9276 0.9816 1.0000 0.9816 0.9276 0.8415

Bây giờ sin(x)/ x tại x = 0 đưa ra kết quả giới hạn chính xác

8.2 Toán tử Logic

Toán tử logic cung cấp một cách diễn đạt mối quan hệ phủ định hay tổ hợp Toán tử logic MATLAB bao gồm:

Toán tử logic ý nghĩa

& AND

| OR

~ NOT

Một vài ví dụ về dùng toán tử logic:

>> A = 1:9; B = 9 - A;

>> tf = A>4

tf=

0 0 0 0 1 1 1 1 1

Tìm kiếm các phần tử của A mà lớn hơn 4

>> tf = ~(A>4)

1 1 1 0 0 0 0 0

phủ định của kết quả, tương đương với vị trí nào bằng không thay bằng một và ngược lại

>> tf = (A>2)&(A<6)

tf=

0 0 1 1 1 0 0 0 0

Trả lại một tại những vị trí mà phần tử của A lớn hơn 2 và nhỏ hơn 6

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

Thêm vào những toán tử logic và toán tử quan hệ đề cập đến ở trên, MATLAB cung cấp các hàm logic và quan hệ khác dưới đây:

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

xor(x,y) Toán tử hoặc Trả lại giá trị 1 khi x hoặc y khác không (True), giá trị 0 khi cả x

Trang 4

và cùng bằng không (False) hoặc cùng khác không (True) any(x) Trả lại 1 nếu bất cứ phần tử nào trong vector x khác không Trả lại 1 cho mỗi cột

trong ma trận x mà có các phần tử khác không

all(x) Trả lại 1 nếu tất cả các phần tử của vector x khác không Trả lại 1 cho mỗi cột

trong ma trận x mà tất cả các phần tử khác không

MATLAB còn cung cấp rất nhiều các hàm kiểm tra cho sự tồn tại của các giá trị đặc biệt hoặc

điều kiện và trả lại những kết quả là giá trị logic

Các hàm kiểm tra

isa(X, ‘name’) True nếu X có lớp đối tượng là ‘name’

iscell(X) True nếu đối số là mảng phần tử

iscellstr(X) True nếu đối số là mảng phần tử của các xâu

ischar(S) True nếu đối số là xâu kí tự

isempty(X) True nếu đối số là rỗng

isequal(A, B) True nếu A và B giống nhau

isfield(S, ‘name’) True nếu ‘name’là một trường của cấu trúc S

isfinite(X) True khi các phần tử có hạn

isglobal(X) True khi đối số là biến toàn cục

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

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

isiee True nếu máy tính thực hiện phép số học IEEE

isinf(X) True tại những phần tử vô cùng

isletter(S) True khi các phần tử thuộc bảng chữ cái

islogical(X) True khi đối số là mảng logic

ismember(A, B) True tại những vị trí mà phần tử của A và B trùng nhau

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

isnumeric(X) True khi đối số là mảng số

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

isprime(X) True khi các phần tử là số nguyên tố

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

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

issparse(A) True nếu đối số là ma trận Sparse

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

isstudent True nếu Student Edition của MATLAB

-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ự

Ngày đăng: 11/05/2021, 04:01

TỪ KHÓA LIÊN QUAN