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à...
52 6.3246 4.4721 vphase = 123.6901 108.4349 63.4349 H×nh 7.2 -oOo - chơng phép tính LOGIC Và QUAN Hệ Thêm vào toán tử truyền thống, MATLAB cung cấp toán tử logic quan hệ Bạn quen thuộc với phép toán này, bạn đà làm quen với ngôn ngữ lập trình khác Mục đích toán tử hàm để trả lời câu hỏi True_False (đúng_sai) Đối với số toán tử logic quan hệ quy định số khác không True số không False Kết phép toán logic quan hệ đa lµ cho True, cho False 53 8.1 To¸n tư quan hƯ To¸n tư quan hƯ MATLAB bao gồm tất phép so sánh: Toán tử quan hÖ < >= == ~= ý nghÜa nhá nhỏ lớn lớn Toán tử quan hệ MATLAB dùng để so sánh hai mảng có kích cỡ so sánh mảng với số đơn Trong trờng hợp thứ hai, số đơn so sánh với tất phần tử mảng, kết trả vỊ gièng nh− kÝch cì cđa m¶ng VÝ dơ: >> A = 1:9, B = - A A= B= >> tf = A>4 tf= 0 0 1 1 tìm kiếm phần tử A mà lớn KÕt qu¶ b»ng A 4, b»ng A>4 >> tf = (A==B) tf= 0 0 0 0 0 T×m kiÕm phần tử A mà với B Chú ý khác = == dùng để so sánh hai biến trả chúng nhau, chúng khác nhau; = dùng để gán kết đa toán tử cho biÕn >> tf = B - (A>2) tf= -1 Tìm phần tử A>2 bị trừ vector B Ví dụ kết đa toán tử logic mảng số bao gồm số không một, chúng dùng phÐp to¸n sè häc >> B = B + (B==0)*eps B= Columns through 8.0000 7.0000 6.0000 5.0000 4.0000 3.0000 2.0000 Columns through 1.0000 0.0000 VÝ dô đa cách thay phần tử B mà trùng với không số đặc biệt MATLAB eps, có giá trị xấp xỉ 2.2e-16 Cách thay có ích tránh trờng hợp chia cho số không nh ví dụ sau: >> x = (-3:3)/3 54 -1.0000 -0.6667 -0.3333 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 cảnh báo phần tử thứ t không, sin(0)/ không đợc định nghĩa, MATLAB trả lại NaN ( nghĩa là số) vị trí kết Thử lại ví dụ trên, sau thay phần tử có giá trị khô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 sin(x)/ x x = đa kết giới hạn 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 = - A; >> tf = A>4 tf= 0 0 1 Tìm kiếm phần tử A mà lớn 1 >> tf = ~(A>4) 1 0 0 phủ định kết quả, tơng đơng với vị trí không thay ngợc lại >> tf = (A>2)&(A> x = (-3 :3)/3 54 -1 .0000 -0 .6667 -0 .3333 0.3333 0.6667 1.0000 >> sin(x)./x Warning: Divide by zero ans= 0 .84 15 0.9276... không số eps: >> x = x + (x==0)*eps; >> sin(x)/x ans= 0 .84 15 0.9276 0. 981 6 1.0000 0. 981 6 0.9276 0 .84 15 Bây sin(x)/ x x = đa kết giới hạn xác 8. 2 To¸n tư Logic To¸n tư logic cung cÊp mét cách diễn... -0 .3333 0.3333 0.6667 1.0000 >> sin(x)./x Warning: Divide by zero ans= 0 .84 15 0.9276 0. 981 6 NaN 0. 981 6 0.9276 0 .84 15 Tính toán hàm sin(x)/ x đa cảnh báo phần tử thứ t không, sin(0)/ không đợc định