intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Nguyễn Nhi | Ngày: | Loại File: PDF | Số trang:4

97
lượt xem
30
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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à...

Chủ đề:
Lưu

Nội dung Text: Giáo trình mathlab toàn tập - Chương 8

  1. 52 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.
  2. 53 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 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
  3. 54 -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
  4. 55 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 isunix True nÕu m¸y tÝnh lµ UNIX isvms 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ù.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2