« Home « Kết quả tìm kiếm

Bài giảng Tin học chuyên ngành Giảng viên: Hoàng Xuân Dương 76 CHƯƠNG 3


Tóm tắt Xem thử

- Bài giảng Tin học chuyên ngành 76 Õ CHƯƠNG 3: Giảng viên: Hoàng Xuân Dương 38 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 77 I.
- HÀM TOÁN HỌC III.
- BÀI TẬP Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 78 I.
- Giới hạn của các giá trị tính toán trong Matlab ƒ Đối với phần lớn máy tính, khoảng giá trị cho phép từ 10-323 đến 10308.
- Giảng viên: Hoàng Xuân Dương 39 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 79 I.
- Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 80 I.
- Biến string: Các lệnh với biến string: Hàm Ý nghĩa char Tạo mảng ký tự double Đổi chuỗi sang mã ASCII num2str Đổi số sang chuỗi str2num Đổi chuỗi sang số int2str Đổi số nguyên sang chuỗi str2mat Đổi chuỗi sang ma trận mat2str Đổi ma trận sang chuỗi Giảng viên: Hoàng Xuân Dương 40 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 81 II.
- HÀM TOÁN HỌC 1.
- Hàm toán học cơ bản Hàm Ý nghĩa round Làm tròn về số nguyên gần nhất fix Làm tròn về 0 floor Làm tròn nhỏ hơn ceil Làm tròn lớn hơn log(x) ln(x) log10(x) log thập phân pow2(x) Lũy thừa cơ số 2 nextpow2(N) Tìm p: 2p=N Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 82 II.
- Hàm toán học cơ bản Ví dụ.
- round(a i Giảng viên: Hoàng Xuân Dương 41 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 83 II.
- HÀM TOÁN HỌC 2.
- Hàm lượng giác cơ bản: Hàm Ý nghĩa sin(x) sin của x khi x có đơn vị radian cos(x) cos của x khi x có đơn vị radian tan(x) tan của x khi x có đơn vị radian asin(x) ∈[-π/2,π/2] khi x ∈ [-1,1] acos(x) ∈[0,π] khi x ∈ [-1,1] atan(x) khi x ∈ [-π/2,π/2] Đổi radian sang độ và ngược lại: angle_degrees=angle_radians*(180/pi) angle_radians=angle_degrees*(pi/180) Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 84 III.
- Được gọi là script file ƒ Dùng trình soạn thảo edit của Matlab để viết hàm ƒ Lưu dưới dạng ASCII ƒ Có thể chạy giống các lệnh, thủ tục của Matlab Giảng viên: Hoàng Xuân Dương 42 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 85 Ví dụ: tập tin canhhoa.m có nội dung như sau.
- help canhhoa M-file script tao ra 4 hinh canh hoa Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 86.
- pause Giảng viên: Hoàng Xuân Dương 43 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 87 III.
- Hàm và tạo hàm trong Matlab.
- end ƒ Có thể chỉ là một nhóm dòng lệnh hay nhận vào các đối số và trả về kết quả ƒ Có thể gọi hàm từ các hàm, script khác ƒ Các biến trong hàm là các biến cục bộ Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 88 Qui tắc viết hàm M-files: 1) Bắt đầu bằng từ function, sau đó lần lượt các tham số đầu ra, dấu bằng, tên hàm và các tham số đầu vào 2) Một số dòng sau tên hàm bắt đầu bằng dấu % là các dòng chú thích về cách dùng hàm, nó được bỏ qua khi chạy.
- Được hiển thị khi lệnh help yêu cầu hàm 3) Matlab có thể chấp nhận nhiều tham số ngõ vào và tham số ngõ ra 4) Nếu hàm trả về nhiều hơn một giá trị, các giá trị được trả về như một vector 5) Nếu hàm nhận nhiều tham số ngõ vào, các tham số sẽ được liệt kê trong dấu ngoặc đơn 6) Kết thúc hàm là phát biểu ‘end’ Giảng viên: Hoàng Xuân Dương 44 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 89 III.
- Hàm và tạo hàm trong Matlab (tt) Ví dụ 1: Thực hiện hàm luythua.m như sau: function y=luythua(a,b.
- c=luythua(4,2) c = 16 Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 90 III.
- Hàm và tạo hàm trong Matlab (tt) Ví dụ 2: Để giải phương trình bậc 2: ax2+bx+c=0.
- Giảng viên: Hoàng Xuân Dương 45 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 91 III.
- Hàm và tạo hàm trong Matlab (tt) Chương trình có tên ptbac2.m có nội dung như sau: disp('Chuong trinh giai phuong trinh bac 2: ax^2+bx+c=0.
- Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 92 III.
- Hàm và tạo hàm trong Matlab (tt) Trong Command window.
- ptbac2 Chuong trinh giai phuong trinh bac 2: ax^2+bx+c=0 Nhap a: 1 Nhap b: -3 Nhap c: 2 Nghiem cua phuong trinh: x1=2.000000 x2=1.000000 Giảng viên: Hoàng Xuân Dương 46 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 93 III.
- Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 94 IV.
- Nếu phép so sánh đúng, các phần tử =1, ngược lại thì các phần tử bằng 0 Giảng viên: Hoàng Xuân Dương 47 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 95 IV.
- Các phép toán quan hệ (tt) Ví dụ.
- a>=b ans Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 96 IV.
- Tuy nhiên có thể dùng ngoặc đơn để thay đổi ƒ Trong Matlab, tất cả các giá trị khác không đều coi như đúng (true), còn giá trị 0 được coi như sai (false) Giảng viên: Hoàng Xuân Dương 48 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 97 IV.
- 1 Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 98 IV.
- 0 nếu a không exist(‘a’) tồn tại… Trả về ma trận cùng cỡ có các phần tử = 1 nếu các isnan(x) phần tử tương ứng của x là nan, ngược lại = 0 Giảng viên: Hoàng Xuân Dương 49 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 99 IV.
- Phân biệt hoa-thường, dấu cách, đầu dòng Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 100 IV.
- find(a) ans = 3 5 6 Giảng viên: Hoàng Xuân Dương 50 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 101 IV.
- isempty(a) ans = 0 Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 102 IV.
- text3]) ans = 1 Giảng viên: Hoàng Xuân Dương 51 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 103 V.
- Lệnh if else elseif: Có các dạng sử dụng if biểu thức logic các phát biểu end hoặc if biểu thức logic các phát biểu 1 else các phát biểu 2 end Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 104 V.
- Lệnh if else elseif (tt) hoặc if biểu thức logic 1 các phát biểu 1 elseif biểu thức logic 2 các phát biểu 2 end Giảng viên: Hoàng Xuân Dương 52 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 105 V.
- end if n>0 disp('la so duong') elseif n==0 disp('la so 0') else disp('la so am') end Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 106 V.
- Lệnh if else elseif (tt) Ví dụ 2: Hàm ngay_trong_thang.m function y = ngay_trong_thang(th,nam) if (th==4)|(th==6)|(th==9)|(th==11) y=30 elseif (th==2) if (rem(nam,4)~=0) y=28 else y=29 end else y=31 end Giảng viên: Hoàng Xuân Dương 53 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 107 V.
- otherwise Các phát biểu khác end Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 108 V.
- end Giảng viên: Hoàng Xuân Dương 54 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 109 V.
- end Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 110 V.
- tử cột của vectơ hay end % ma trận Giảng viên: Hoàng Xuân Dương 55 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 111 V.
- end Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 112 V.
- end end Giảng viên: Hoàng Xuân Dương 56 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 113 V.
- Gián đoạn bằng continue, break và return • Trong vòng lặp for hay while, gọi continue thì ngay lập tức chu trình chuyển sang bước lặp kế tiếp, mọi lệnh chưa thực hiện của vòng lặp hiện tại sẽ bị bỏ qua • Lệnh break mạnh hơn, ngừng vòng lặp đang tính • Nếu break sử dụng ngoài vòng lặp for và while, nhưng nằm trong script file hoặc function thì sẽ dừng tại vị trí của break • Lệnh return sử dụng để kết thúc sớm hàm trước khi gặp lệnh end Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 114 V.
- end if n==m-1 fprintf('%2d là một số nguyên tố !\n',m) end end Giảng viên: Hoàng Xuân Dương 57 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 115 V.
- 7 là một số nguyên tố ! Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 116 VI.
- end Giảng viên: Hoàng Xuân Dương 58 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 117 VI.
- for i = (1-row):(col-1) disp(tril(triu(a,i),i)) end Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 118 VI.
- Viết chương trình cho hiển thị trên màn hình dãy số n Với n được nhập từ bàn phím Giảng viên: Hoàng Xuân Dương 59 CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 119 VI.
- n3 Giảng viên: Hoàng Xuân Dương CHƯƠNG 3: LẬP TRÌNH TRONG MATLAB 120 VI.
- Sử dụng hàm để tính x Giảng viên: Hoàng Xuân Dương 60 Bài giảng Tin học chuyên ngành 121 Õ CHƯƠNG 4: Giảng viên: Hoàng Xuân Dương CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 122 I.
- ĐA THỨC II.
- BÀI TẬP Giảng viên: Hoàng Xuân Dương 61 CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 123 I.
- ĐA THỨC.
- Đa thức được sắp xếp theo lũy thừa giảm ƒ Biểu diễn dưới dạng vector hàng, các phần tử là các hệ số của đa thức Ví dụ: Đa thức 2x3 - 8x + 7 được biểu diễn bằng vector p p Giảng viên: Hoàng Xuân Dương CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 124 I.
- ĐA THỨC: Một số hàm xử lý đa thức: Hàm Chức năng conv Nhân đa thức poly Lập đa thức từ nghiệm polyfit Xấp xỉ bằng đa thức polyvalm Tính ma trận đa thức roots Tìm nghiệm đa thức deconv Chia đa thức polyder Đạo hàm đa thức polyval Tính giá trị đa thức residue Tính thặng dư, khai triển riêng phần phân số Giảng viên: Hoàng Xuân Dương 62 CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 125 I.
- ĐA THỨC: 1.
- Nghiệm của đa thức: ¾ Nghiệm của đa thức bậc 2 Ví dụ: Giải phương trình bậc 2: 5x2+6x+7=0.
- a = imag(r) a Giảng viên: Hoàng Xuân Dương CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 126 I.
- Nghiệm của đa thức: ¾ Đa thức bậc n Ví dụ: Giải phương trình bậc 4: x4 - 12x3 + 25x + 116 = 0.
- pp = poly(r) pp Giảng viên: Hoàng Xuân Dương 63 CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 127 I.
- ĐA THỨC: 2.
- Nhân 2 đa thức: Ví dụ: Cho 2 đa thức: y = x3+2x2+3x+4 và z = x3+4x2+9x+16.
- p = conv(p1,p2) p Nếu nhân nhiều đa thức thì lập lại nhiều lần lệnh conv Giảng viên: Hoàng Xuân Dương CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 128 I.
- ĐA THỨC: 3.
- Cộng đa thức: ¾ Hai đa thức cùng bậc: p = p1 + p2.
- tương tự cho trừ đa thức p = p1 – p2.
- ¾ Hai đa thức khác bậc: Thêm các hệ số 0 vào đa thức có bậc thấp hơn để 2 đa thức có cùng bậc Giảng viên: Hoàng Xuân Dương 64 CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 129 I.
- ĐA THỨC: 4.
- Chia đa thức: Ví dụ: Cho 2 đa thức: y = x3 + 6x2 + 12x + 8 z = x2 + 1.
- (11x + 2) Giảng viên: Hoàng Xuân Dương CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 130 I.
- ĐA THỨC: 5.
- Đạo hàm: Ví dụ: Cho đa thức y = x3 + 6x2 + 12x + 8.
- z z = 3x2 + 12x + 12 Giảng viên: Hoàng Xuân Dương 65 CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 131 I.
- ĐA THỨC: 6.
- Vẽ đồ thị: Ví dụ: đa thức y(x.
- Giảng viên: Hoàng Xuân Dương CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 132 Giảng viên: Hoàng Xuân Dương 66 CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 133 I.
- ĐA THỨC: 7.
- Đa thức hữu tỉ: Ví dụ: Cho phân thức: P(x ) 2(4 x + 7.
- +k Q(x ) x + 1 x + 3 x + 4 Nếu chiều dài hay bậc của Q(x) lớn hơn P(x) thì k=0 Giảng viên: Hoàng Xuân Dương CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 134 I.
- Đa thức hữu tỉ (tt) Giải.
- x + 1 + x + 3 − x + 4 Giảng viên: Hoàng Xuân Dương 67 CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 135 I.
- Đa thức hữu tỉ (tt) Ngược lại từ res, poles, k có thể tìm lại đa thức P(x), Q(x.
- H(s)=10s2/(s+1)(s+5) Giảng viên: Hoàng Xuân Dương CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 136 II.
- Nội suy một chiều: Hàm nội suy (interpolation) một chiều thông dụng nhất: Yi=interp1(X,Y,Xi) Yi=interp1(Y,Xi) Yi=interp1(X,Y,Xi,’method’) Yi=interp1(X,Y,Xi,’method’,’extrap’) Yi=interp1(X,Y,Xi,’method’,extrapval) Y là tập dữ liệu ứng với giá trị cho bởi tập X Yi là giá trị dữ liệu được nội suy ở giá trị Xi Giảng viên: Hoàng Xuân Dương 68 CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 137 II.
- spline, pchip, cubic, v5cubic: nội suy bậc 3 extrap: dùng khi ngoại suy, các giá trị ngoài tầm x, giá trị trả về là extrapval Giảng viên: Hoàng Xuân Dương CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 138 II.
- Nội suy một chiều (tt) Ví dụ.
- Giảng viên: Hoàng Xuân Dương 69 CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 139 Giảng viên: Hoàng Xuân Dương CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 140 II.
- Hàm nội suy hai chiều thông dụng nhất: Zi=interp2(X,Y,Z,Xi,Yi) Zi=interp2(Z,Xi,Yi) Zi=interp2(Z,ntimes) Zi=interp2(X,Y,Z,Xi,Yi,’method’) Z là tập dữ liệu ứng với giá trị cho bởi tập X,Y Zi là giá trị dữ liệu được nội suy ở giá trị Xi,Yi Giảng viên: Hoàng Xuân Dương 70 CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 141 II.
- w=interp2(service,years,wage,15,1975) w= 190.6287 Giảng viên: Hoàng Xuân Dương CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 142 II.
- Giảng viên: Hoàng Xuân Dương 71 CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 143 III.
- f=inline(‘y*sin(x)+x*sin(y)’,’x’,’y’) Giảng viên: Hoàng Xuân Dương CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 144 III.
- feval(@hamtruyen,3) ans=10 Giảng viên: Hoàng Xuân Dương 72 CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 145 III.
- grid on Giảng viên: Hoàng Xuân Dương CHƯƠNG 4: XỬ LÝ CÁC HÀM TOÁN HỌC 146 IV.
- c d ⎦ Giảng viên: Hoàng Xuân Dương 73