Matlab cơ bản
TIN HỌC CHUYÊN NGÀNH CƠ ĐIỆN -MATLAB ỨNG DỤNG Một số hàm thông dụng MATLAB Hàm với biến số thực: abs(x) cho giá trị tuyệt đối x ; sign(x) cho dấu x ; fix(x) cho phần nguyên x tức làm trịn phía số ; ceil(x) làm tròn x tới số nguyên nhỏ x tức làm trịn phía + ; floor(x) làm tròn x tới số nguyên lớn x ; tức làm trịn phía - ; round(x) làm tròn số nguyên gần x nhất; frac(x) cho phần phân số (thực ) x: frac(x) = x – fix(x); sqrt(x) cho bậc hai dương x, (nếu x âm ta số phức); nthroot(x,n) cho bậc n (thực) số thực x; exp(x) cho hàm mũ số e tức ex; pow2(x) cho hàm mũ số tức 2x; log(x) cho logarit tự nhiên (cơ số e) x; log10(x) cho logarit thập phân x; log2(x) cho logarit số x; factor(x) cho kết phân tích số x thành thừa số nguyên tố; primes(x) cho số nguyên tố nhỏ x; gcd(x,y) cho ước số chung lớn số nguyên x y ; lcm(x,y) cho bội số chung nhỏ số nguyên x y ; factorial(n) cho tính số n giai thừa (n!) ; perms(v) với v mảng có độ dài n cho tất hốn vị có mảng v; nchoosek(N,k) cho số tổ hợp chập k N (số CkN); dot(A,B) cho tích vơ hướng hai véc tơ A B; cross(A,B) cho tích có hướng (tích véc tơ) hai véc tơ A 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 radian; asind(x) , acods(x) , atand(x) , acotd(x) kết độ; 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à hàm ngược chúng asinh(x) , acosh(x) , atanh(x) , acoth(x); §1 CÁC BÀI TỐN LIÊN QUAN ĐẾN ĐA THỨC 1.1 Giá trị nghiệm đa thức Để nhập đa thức ta nhập hệ số từ cao đến thấp, hệ số viết hai dấu [ ] tách dấu cách Để tìm giá trị đa thức p x = x0 dùng lệnh polyval(p,x0) Tìm nghiệm r đa thức p dùng lệnh roots(p) Biết nghiệm r đa thức, tìm đa thức p dùng lệnh p = poly(r) Tìm đạo hàm đa thức p ta dùng lệnh polyder(p) Tìm nguyên hàm đa thức p dùng lệnh polyint(p) (coi số C=0) Chú ý: Nếu sau lệnh MATLAB ta đánh dấu chấm phảy lệnh thực khơng cho kết hình, cịn khơng có chấm phảy ta có kết hình hai dạng: ans, khơng đặt tên biến phải tìm; kết biến đó, đặt tên Thí dụ 1: Cho đa thức p = x3 – 2x – Tìm nghiệm đa thức; Giá trị đa thức x = 5; Đạo hàm nguyên hàm đa thức 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 (xi , yi) sau vào số liệu x y dấu ngoặc vuông [ ] , số cách dấu cách, ta dùng lệnh polyfit(x,y,n) với n 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 ta đa thức nội suy Lagrange Thí dụ 4: Tìm hàm xấp xỉ bậc 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 tạo dãy số từ a đến b cách đơn vị; Với cách nhập a:n:b ta tạo dãy số từ a đến b cách 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 dãy số liệu x=(1; 2; 3; 4); y=(17; 27.5; 76; 210.5) Nội suy giá trị cụ thể xi Sau vào x , y ta dùng lệnh interp1(x,y,xi,’linear’) (interpolation) muốn nội suy tuyến tính interp1(x,y,xi,’spline’) muốn nội suy đa thức bậc ba điểm xi Thí dụ 7: Nội suy đa thức giá trị hàm xi = 4.5 theo dãy số liệu sau: x=(4; 4.2; 4.4; 4.6; 4.8; 5); y=(0.6026; 0.62325; 0.64345; 0.66276; 0.68124; 0.69897); Thí dụ 8: Dân số Hoa Kỳ (tính theo triệu người) từ 1900 đến 1990 (tính theo 10 năm một) cho bảng Hãy dự đoán dân số Hoa Kỳ năm 2000 Năm Dân số 1900 1910 75.995 91.972 1920 1930 1940 1950 1960 1970 1980 1990 105.71 123.30 131.66 150.69 179.32 203.21 226.50 249.63 MATLAB cho phép ta nội suy giá trị hàm hai biến z = f(x , y) điểm (xo , yo) theo giá trị cho trước cùa hàm điểm (x , y) Trường hợp giá trị hàm z cho theo lưới điểm có tọa độ (xi , yj) Giả sử x = xi i= , , , n ; y = yj j = , , m ; Khi z cho ma trận cỡ mn tương ứng hàm (xi , yj) z = [ zij ] với zij giá trị Để nội suy giá trị hàm (x0 , y0) ta dùng lệnh zo = interp2(x,y,z,xo,yo,’linest’) Thí dụ Dãy x quan sát từ 1950 đến 1990 với bước 10 (tức 1950 1960 1970 1980 1990, n = 5), dãy y quan sát từ 10 đến 30 với bước 10 (tức 10 20 30, m = 3); z ma trận cỡ 35 , Hãy nội suy giá trị z x = 1975, y = 15 x 1950 1960 1970 1980 1990 y 10 150.697 179.323 203.212 226.505 249.633 20 199.592 195.072 179.092 153.706 120.281 30 187.625 250.287 322.767 426.730 598.243 ... dụ 22: Giải hệ Ax = B Với A = [1 ; ; ; 10 11 12] ; B = [1 ; ; ; 7] 4.2 Biểu diễn hàm MATLAB Các hàm MATLAB MATLAB có tệp M-file chứa nhiều hàm, hàm nhận giá trị đưa vào, tính tốn trả lại kết tính...Một số hàm thông dụng MATLAB Hàm với biến số thực: abs(x) cho giá trị tuyệt đối x ; sign(x) cho dấu x ; fix(x) cho... tính mảng, có dấu chấm Ta lưu hàm lệnh Save, lưu với tên humps.m Bây muốn sử dụng cửa sổ lệnh ta việc chuyển thành hàm sử dụng (function handle) cách gõ thêm ký tự @ trước tên hàm Thí dụ 25: Tính