Các phép toán học và logic trong matlab năm 2024
Chia trái \ Chia trái .\ Luỹ thừa. ^ Luỹ thừa. .^ Phép gán. \= Phép gán. \= Thứ tự ưu tiên các phép toán Ngoặc đơn Luỹ thừa Nhân, chia Cộng, trừ 2.1.2 Các phép toán quan hệ Các phép toán quan hệ bao gồm - 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: ~ = Biểu thức có các toán tử quan hệ nhận giá trị đúng (true) hoặc sai (false). Trong Matlab, biểu thức đúng có giá trị là 1, biểu thức sai có giá trị là 0. Ví dụ: \>> x=3==3 x= 1 \>> x=3~=3 x= 0 2.1.3 Các phép toán logic và các hàm logic Các phép toán logic được thực hiện bởi các câu lệnh sau: - Phép And: & - Phép Or: | - Phép phủ định: ~ 15 Các hàm logic: and, or, xor, not 2.1.4 Số phức và các phép toán về số phức Biểu diễn số phức: Tên biến = Phần thực + Phần ảo i hoặc Tên biến = Phần thực + Phần ảo j Ví dụ: a= 2+3i Các phép toán đối với số phức: Cộng(+), trừ(-), nhân(*), chia(/) Các hàm đặc biệt trên số phức: x=a+bi real(x): Trả về phần thực của số phức x image(x): Trả về phần ảo của số phức x conj(x): Trả về số phức liên hợp của số phức x Ví dụ: \>> x=1+1i ↵ x= 1.0000 + 1.0000i \>> conj(x) ↵ ans = 1.0000 - 1.0000i abs(x): Trả về modul của số phức x Ví dụ \>> x=3+4i ↵ x= 3.0000 + 4.0000i \>> abs(x) ↵ ans = 5 angle(x): agument của số phức x (arctn(b/a)) Ví dụ: x= 1.0000 + 1.0000i 16 \>> angle(x) ↵ ans = 0.7854 2.1.5 Các hàm toán học Trong mục này giới thiệu một số hàm toán học thông dụng thường gặp khi lập trình. Tên hàm Sin cos Tan asin acos atan acos sinh cosh tanh asinh acosh atanh abs round Fix floor ceil rem gcd Lcm exp Log Log2 Log10 sqrt Cú pháp sin(x) cos(x) tan(x) asin(x) acos(x) atan(x) acos(x) sinh(x) cosh(x) tanh(x) asinh(x) acosh(x) atanh(x) abs (x) round(x) fix(x) floor(x) ceil(x) rem(x,y) gcd(x,y) lcm(x,y) exp(x) log(x) log2(x) log10(x) sqrt(x) Giải thích Hàm sin Hàm cos Hàm tang Hàm arcsin Hàm arccos Hàm arctang Hàm arccos Hàm sin hyperbolic Hàm cos hyperbolic Hàm tang hyperbolic Hàm arcsin hyperbolic Hàm arccos hyperbolic Hàm arctang hyperbolic Giá trị tuyệt đối hoặc modulo của số phức Làm tròn đến số nguyên gần nhất Làm tròn về không Làm tròn về - ∞ Làm tròn về + ∞ Phần dư của x chia y Ước số chung lớn nhất của hai số nguyên x và y Bội số chung nhỏ nhất của hai số nguyên x và y Luỹ thừa của e Logarit cơ số e logarit cơ số 2 logarit cơ số 10 Căn bậc hai của x 2.2 Ma trận Khái niệm Ma trận là một mảng hai chiều mà các phần tử có thể là số thực hoặc số phức hoặc cũng có thể là các ký tự không số. 17 Khi biểu diễn ma trận trong Matlab thì tên ma trận là một chuỗi có tối đa là 31 ký tự và bắt đầu là chữ sau đó có thể là chữ hoặc số hoặc một số ký tự đặc biệt (ngoại trừ các ký tự: +,-,*,/,..). Bao quanh các phần tử của ma trận là dấu ngoặc vuông: [ai j] Các phần tử trong một hàng của ma trận được cách nhau bởi ký tự trắng (space) hoặc dấu phẩy Các hàng được phân cách nhau bởi dấu chấm phẩy Các cách để nhập dữ liệu cho ma trận (1) Liệt kê trực tiếp Ví dụ: \>> M=[3 2 3;3 4 5] ↵ M= 3 2 3 3 4 5 (2) Nhập thông qua lệnh input Ví dụ: \>> M=input('Hay nhap ma tran M=') ↵ Hay nhap ma tran M=[3 4 5;4 3 2] ↵ M= 3 4 5 4 3 2 Chú ý: - Khi kết thúc lệnh có thể dùng dấu chấm phẩy (;) hoặc không. Nếu kết thúc bằng dấu chấm phẩy thì kết quả không hiển thị lên màn hình. Nếu không sử dụng dấu chấm phẩy thì kết quả được hiển thị lên màn hình. Tuy nhiên trong cả hai trường hợp dữ liệu đều được lưu trong không gian làm việc của Matlab và được sử dụng cho lần tiếp theo. Ví dụ: \>> a=[1 2;2 3]; ↵ \>> b=[4 5;1 2]; ↵ \>> c=a*b ↵ c= 18 6 9 11 16 - Các phần tử trong ma trận có thể là số phức: Ví dụ: \>> M=[1+i 2+2i; 1+2i 2+i] ↵ M= 1.0000 + 1.0000i 2.0000 + 2.0000i 1.0000 + 2.0000i 2.0000 + 1.0000i - Các phần tử trong ma trận có thể là các ký tự (biểu tượng). Nhưng trước hết cần khai báo bằng lệnh Syms (Khai báo là các biến Symbolic) Ví dụ: \>> syms sinx cosx tanx ↵ \>> b=[sinx cosx; cosx tanx] ↵ b= [ sinx, cosx] [ cosx, tanx] Hiển thị dữ liệu của ma trận - Gõ trực tiếp tên ma trận sau đó nhấn phím ↵ Ví dụ: \>> b=[sinx cosx; cosx tanx]; ↵ \>> b ↵ b= [ sinx, cosx] [ cosx, tanx] - Dùng lệnh disp để hiển thị dữ liệu nhưng không hiển thị tên ma trận. Ví dụ: \>> b=[sinx cosx; cosx tanx]; ↵ \>> disp(b) ↵ [ sinx, cosx] [ cosx, tanx] 19 2.3 Xử lý trong ma trận và vector Tạo vector Để tạo vector ta có các cách sau: STT 1 Cú pháp X=[x1 x2..xn ] Chú thích Tạo vector hàng x chứa các phần tử đặc biệt Ví dụ \>> x=[1 4 2] x= 1 4 2 Tạo vector hàng x bắt đầu tại first và kết thúc là phần >> x=1:4.3 2 X=first:last tử có giá trị nhỏ hơn hoặc x = 1 bằng last, phần tử sau bằng 2 3 4 phần tử trước cộng 1 Tạo vector x bắt đầu tại first, phần tử sau bằng phần >> x=1:2:6 3 X=first:inc:last tử trước cộng inc, kết thúc là x = 1 phần tử có giá trị nhỏ hơn 3 5 hoặc bằng last Tạo vector hàng x bắt đầu 4 X=linspace(first, last, n) tại first, kết thúc là last, vector có n phần tử. \>> x=linspace(2,8,4) x= 2 4 6 Truy nhập tới các phần tử của ma trận Matlab cho phép ta xử lý đến từng phần tử của ma trận. Để truy nhập tới phần tử của ma trận ta sử dụng tới chỉ số của từng phần tử: Cú pháp: Tên ma trận(chỉ số hàng, chỉ số cột) Ví dụ: \>> a=[1 3; 2 1] ↵ a= 1 3 2 1 \>> a(1,2) ans = 3 20 8 Lưu ý: Chỉ số của mảng phải là số nguyên dương hoặc có kiểu logic 2.4 Các ma trận đặc biệt Ma trận zeros: zeros(số hàng, số cột) Tất cả các phần tử trong ma trận đều bằng không Ví dụ: \>> c=zeros(2,3) ↵ c= 0 0 0 0 0 0 Ma trận Ones: Ones(số hàng, số cột) Ví dụ \>> c=ones(2,3) ↵ c= 1 1 1 1 1 1 Ma trận ma phương Tổng tất cả giá trị các phần tử trên hàng=tổng tất cả giá trị các phần tử trên cột=tổng các giá trị các phần tử trên đường chéo của ma trận Cú pháp: magic(cấp ma trận) Ví dụ: \>> magic(3) ↵ ans = 8 1 6 3 5 7 4 9 2 Ma trận eye (Ma trận đồng nhất) Tất cả các phần tử trên đường chéo bằng 1, các phần tử khác có giá trị 0. Cú pháp: eye(số hàng, số cột) Ví dụ: \>> m=eye(2,3) ↵ 21 |