Đây là tài liệu hay giúp các bạn đam mê với lập trình tính toán bằng phần mềm Matlab phổ biến hiện nay.... Tài liệu rất rõ ràng giúp các bạn có thể học tập và ứng dụng một cách nhanh chóng nhất. chúc các bạn thành công
TIN HỌC CHUYÊN NGÀNH CƠ ĐIỆN MATLAB ỨNG DỤNG BÀI MỞ ĐẦU. GIỚI THIỆU PHẦN MỀM MATLAB - CÁC THAO TÁC CƠ BẢN TRONG MATLAB Giới thiệu phần mềm MATLAB: MATLAB (Matrix Laboratory) là phần mềm chuyên dụng để tính toán và giải quyết các bài toán kỹ thuật của hãng phần mềm MathWorks, Inc. MATLAB cho phép người sử dụng có thể tiến hành các tính toán để giải các bài toán từ đơn giản đến phức tạp, kết quả được thể hiện ở dạng số, dạng hình ảnh đồ thị 2D, 3D, ngoài ra còn có thể sử dụng MATLAB để mô phỏng quá trình trong thực tiễn. Nét nổi bật của MATLAB là đã đưa vào nhiều giải pháp cho các áp dụng chuyên sâu trong các hộp công cụ Toolbox. Cửa sổ chƣơng trình MATLAB Làm việc với MATLAB Nhập nội dung vào cửa sổ lệnh -Nhập số + Số theo cách viết thông thường + Số khoa học - Nhập văn bản + Các câu lệnh + Các hàm tính toán + Văn bản thông thường - Biểu thức tính toán - Một số chú ý khi làm việc với cửa sổ lệnh của Matlab Một số hàm thông dụng trong MATLAB Hàm với biến số thực: abs(x) cho giá trị tuyệt đối của x ; sign(x) cho dấu của x ; fix(x) cho phần nguyên của x tức là làm tròn về phía số 0 ; ceil(x) làm tròn x tới số nguyên nhỏ nhất x tức là làm tròn về phía + ; floor(x) làm tròn x tới số nguyên lớn nhất x ; tức là làm tròn về phía - ; round(x) làm tròn về số nguyên gần x nhất; frac(x) cho phần phân số (thực sự ) của x: frac(x) = x – fix(x); sqrt(x) cho căn bậc hai dương của x, (nếu x âm ta được số phức); nthroot(x,n) cho căn bậc n (thực) của số thực x; exp(x) cho hàm mũ cơ số e tức là e x ; pow2(x) cho hàm mũ cơ số 2 tức là 2 x ; log(x) cho logarit tự nhiên (cơ số e) của x; log10(x) cho logarit thập phân của x; log2(x) cho logarit cơ số 2 của x; factor(x) cho kết quả phân tích số x thành các thừa số nguyên tố; primes(x) cho ra các số nguyên tố nhỏ hơn hoặc bằng x; gcd(x,y) cho ước số chung lớn nhất của 2 số nguyên x và y ; lcm(x,y) cho bội số chung nhỏ nhất của 2 số nguyên x và y ; factorial(n) cho tính số n giai thừa (n!) ; perms(v) với v là mảng có độ dài n cho tất cả mọi hoán vị có thể có của mảng v; nchoosek(N,k) cho số các tổ hợp chập k của N (số C k N ); dot(A,B) cho tích vô hướng của hai véc tơ A và B; cross(A,B) cho tích có hướng (tích véc tơ) của hai véc tơ A và B; Các hàm lượng giác: sin(x) , cos(x) , tan(x) , cot(x) (x tính theo radian); sind(x), cosd(x), tand(x), cotd(x) (x tính theo độ); Các hàm lượng giác ngược: asin(x) , acos(x) , atan(x) , acot(x) kết quả là radian; asind(x) , acods(x) , atand(x) , acotd(x) kết quả là độ; Các hàm sec(x) (=1/cos(x)) , csc(x) (=1/sin(x)) , asec(x) (=1/acos(x)) , acsc(x) (=1/asin(x)); Các hàm hypebolic: sinh(x) , cosh(x) , tanh(x) , coth(x); Và các hàm ngược của chúng asinh(x) , acosh(x) , atanh(x) , acoth(x); Một số hàm đối với số phức: Số phức được vào theo kiểu a+bi Dạng mũ của số phức z = re i ; Dạng lượng giác của số phức z = r(cos + isin ) abs(x) cho mô đun r của số phức x = a + bi : r = ; angle(x) cho agumen của số phức: tan = b/a; real(x) cho phần thực của số phức x; imag(x) cho phần ảo của số phức x; conj(x) hoặc (x)’ cho số phức liên hợp của số phức x; Trong MATLAB có một số biến đặc biệt (thực chất đó là hàm sinh ra các giá trị số cố định): pi cho số = 3.14159265 ; ans cho kết quả của câu lệnh; eps cho số dương nhỏ nhất có thể tính được (eps = 2 -52 ); realmin cho số thực dương nhỏ nhất có thể có; realmax cho số thực lớn nhất; inf chỉ số vô cùng (); NaN (not a number) để chỉ sự vô định (như 0/0 hoặc /) §1. CÁC BÀI TOÁN LIÊN QUAN ĐẾN ĐA THỨC Biểu thức có dạng: a n x n + a n-1 x n-1 + + a 1 x + a 0 gọi là đa thức. 1.1. Giá trị và nghiệm của đa thức Để nhập một đa thức ta nhập các hệ số từ cao đến thấp, các hệ số được viết giữa hai dấu [ ] và tách nhau bằng dấu cách. Để tìm giá trị của đa thức p tại x = x0 dùng lệnh polyval(p,x0). Tìm nghiệm r của đa thức p dùng lệnh roots(p). Biết nghiệm r của đa thức, tìm đa thức p dùng lệnh p = poly(r). Tìm đạo hàm một đa thức p ta dùng lệnh polyder(p). Tìm nguyên hàm một đa thức p dùng lệnh polyint(p) (coi hằng số C=0). Chú ý: Nếu sau một lệnh của MATLAB ta đánh dấu chấm phảy thì lệnh đó được thực hiện nhưng không cho ra kết quả trên màn hình, còn nếu không có chấm phảy thì ta có kết quả trên màn hình dưới hai dạng: ans, nếu không đặt tên biến phải tìm; kết quả của biến đó, nếu nó đã được đặt tên. Thí dụ 1: Cho đa thức p = x 3 – 2x – 5. Tìm nghiệm của đa thức; Giá trị đa thức tại x = 5; Đạo hàm và nguyên hàm của đa thức. 1.2. Đa thức đặc trƣng - Giá trị riêng Tìm đa thức đặc trưng của ma trận A ta vào ma trận A giữa hai dấu [ ] , các hàng của ma trận cách nhau dấu chấm phảy hoặc xuống hàng; sau đó dùng lệnh poly(A). Tìm nghiệm của phương trình đặc trưng (các giá trị riêng - eigenvalue) dùng lệnh roots(poly(A)) hoặc eig(A). Thí dụ 2: Tìm đa thức đặc trưng và các giá trị riêng của ma trận A = 1.3. Nhân và chia đa thức Nhân hai đa thức a và b ta được đa thức c. Sau khi vào các đa thức a và b, ta dùng lệnh c=conv(a,b). Chia hai đa thức a và b ta được thương là đa thức q và phần dư r, ta dùng lệnh [q, r]=deconv(a,b). Thí dụ 3: Cho a = x 4 – 7x 2 + x – 6 và b = x 3 +x 2 – x -1. Tính a*b và a/b. 1.4. Đa thức nội suy Khi muốn có đa thức biểu diễn dãy số liệu thực nghiệm (x i , y i ) thì sau khi vào các số liệu x và y trong dấu ngoặc vuông [ ] , các số cách nhau bằng dấu cách, ta dùng lệnh polyfit(x,y,n) với n là bậc đa thức mà ta chọn. Trong trường hợp ta có n +1 cặp số liệu mà ta chọn bậc đa thức n thì ta được đa thức nội suy Lagrange. Thí dụ 4: Tìm hàm xấp xỉ bậc nhất biểu diễn dãy số liệu x=(2; 4; 6; 8); y=(0.35; 0.573; 0.725; 0.947) Chú ý: Với cách nhập a:b ta có thể tạo ra một dãy các số từ a đến b cách nhau 1 đơn vị; Với cách nhập a:n:b ta có thể tạo ra một dãy các số từ a đến b cách nhau n đơn vị. Thí dụ 5: Tìm hàm xấp xỉ bậc hai biểu diễn dãy số liệu x=(7;12; 17; 22; 27; 32; 37); y=(83.7; 72.9; 63.2; 54.7; 47.5; 41.4; 36.3) Thí dụ 6: Tìm đa thức nội suy Lagrange của dãy số liệu x=(1; 2; 3; 4); y=(17; 27.5; 76; 210.5) [...]... trận A = Thí dụ 24: Dùng phép tính về mảng ta có thể lập bảng số liệu sau n 1 2 3 10 n2 n3 𝒏 2n 4.2 Biểu diễn hàm trong MATLAB Các hàm MATLAB MATLAB có một tệp là M-file chứa rất nhiều hàm, các hàm đó nhận các giá trị đưa vào, tính toán rồi trả lại kết quả tính toán Ta cũng có thể tự tạo nên các hàm M-file Chọn File, New rồi chọn function, ta có màn hình soạn thảo để đánh các lệnh vào đó Chẳng hạn,... góc đo bằng radian, d chứa giá trị cần vẽ đồ thị Đồ thị dạng cây: Sử dụng lệnh treeplot(p) trong đó p là vector chứa các giá trị chỉ số của nút trong cây, thứ tự của nút tính tuần tự từ trên xuống dưới, từ trái qua phải, chỉ số của nút là thứ tự nút mẹ của nút đang xét Đồ thị dạng tín hiệu: Sử dụng lệnh stem(x,y) đồ thị tạo ra sẽ có các dấu tại các điểm vẽ và đường gióng giá trị xuống trục hoành Do... + 1 trong khoảng x từ -10 đến 10 Khi dùng lệnh vẽ như trên MATLAB chọn kiểu đường đồ thị là nét liền, mầu đồ thị là mầu xanh, đường đồ thị là đường trơn không có đánh dấu Ta có thể thêm một số lựa chọn khác để biểu diễn đồ thị được tốt hơn Mầu đường, kiểu đường, ký hiệu đánh dấu vị trí: Sử dụng lệnh plot(x,y,'…’) trong đó ’…’ sẽ nhập các ký tự thể hiện mầu đường, kiểu đường, ký hiệu đánh dấu vị trí... hệ có nghiệm duy nhất; Nếu rank(A) = rank([A B]) < n hệ có vô số nghiệm Thí dụ 22: Giải hệ Ax = B Với A = [1 2 3 ; 4 5 6 ; 7 8 9 ; 10 11 12] ; B = [1 ; 3 ; 5 ; 7] §4 CÁC BÀI TOÁN VỀ HÀM SỐ 4.1 Các phép tính trên mảng Các phép tính số học trên mảng được thực hiện bởi từng phần tử, do đó để thực hiện các phép tính đó cần thêm dấu chấm trước mỗi toán tử (trừ các phép cộng và trừ) Quan sát qua các lệnh sau:... đảo Để tính định thức của A ta dùng lệnh det(A); Để tìm ma trận nghịch đảo B của ma trận A dùng lệnh B = inv(A); 1 2 −1 Thí dụ 11: Cho A = 3 0 2 Tính định thức và ma trận nghịch đảo 4 −2 5 của A Trong MATLAB có đưa ra: Phép chia bên trái ma trận B cho ma trận A bởi lệnh A\ B thực chất là inv(A)*B, Phép chia bên phải ma trận B cho ma trận A bởi lệnh B/A thực chất là B*inv(A) Khi đó việc giải phương trình... về mảng, có dấu chấm Ta lưu hàm đó bằng lệnh Save, nó được lưu với tên humps.m Bây giờ muốn sử dụng nó thì ở cửa sổ lệnh ta chỉ việc chuyển nó thành hàm sử dụng (function handle) bằng cách gõ thêm ký tự @ trước tên hàm Thí dụ 25: Tính giá trị của hàm humps nêu trên tại x = 2.0 Các hàm không tên (Anonymous Functions) Một cách thứ hai để biễu diễn hàm là tạo nên ở cửa sổ lệnh một hàm không tên bằng một... khối M = D như sau A=[2 3 4 5;3 5 7 0;8 -3 0.6 7;5 -6 -8 3]; C=[4 0 0 5;6 9 -5 -5;2 9 -7 8]; 𝐴 𝐶 𝐵 với A, B, C, 𝐷 B=[9 0 3;7 0 -3;0 -9 7;9 -4 8]; D=[6 7 8;4 -5 0;4 0 0]; 2.8 Một số ma trận đặc biệt trong MATLAB [] zeros(n) zeros(m,n) eye(n) ones(n) ones(size(A)) diag(X) magic(n) pascal(n) ma trận rỗng không chứa phần tử nào ma trận không cấp n; ma trận không m hàng n cột; ma trận đơn vị cấp n; ma trận... pi/4 pi/2 3pi/4 pi 5pi/4 - . TIN HỌC CHUYÊN NGÀNH CƠ ĐIỆN MATLAB ỨNG DỤNG BÀI MỞ ĐẦU. GIỚI THIỆU PHẦN MỀM MATLAB - CÁC THAO TÁC CƠ BẢN TRONG MATLAB Giới thiệu phần mềm MATLAB: MATLAB (Matrix Laboratory) là phần. để tính toán và giải quyết các bài toán kỹ thuật của hãng phần mềm MathWorks, Inc. MATLAB cho phép người sử dụng có thể tiến hành các tính toán để giải các bài toán từ đơn giản đến phức tạp,. dụng MATLAB để mô phỏng quá trình trong thực tiễn. Nét nổi bật của MATLAB là đã đưa vào nhiều giải pháp cho các áp dụng chuyên sâu trong các hộp công cụ Toolbox. Cửa sổ chƣơng trình MATLAB