9/10/2008 Giới thiệu Matlab “Matrix laboratory” Hệ thống tính tốn khoa học kỹ thuật Ngơn ngữ lập trình cấp cao Thư viện hàm phong phú Mô phỏng, vẽ đồ thị, biểu đồ Phân tích liệu Phát triển phần mềm kỹ thuật Phiên nhất: Matlab 2008 Một số hệ tính tốn khác Tốn học Maple Mathematica MuPAD MathCad … Maple Khoa học - Kỹ thuật Matlab O-Matrix … 9/10/2008 Mathematica Cài đặt Matlab MS Windows Yêu cầu CD phần mềm Matlab 7.0 trở lên License Cấu hình máy tương đối mạnh, tối thiểu: ○ Windows 2000 ○ Pentium IV , 512 MB RAM ○ CD-ROM ○ HDD trống GB Các bước Chạy file setup.exe từ CD phần mềm theo hướng dẫn chương trình cài đặt Toolbox Matlab Toolbox thư viện hàm sẵn có để hỗ trợ cho lĩnh vực tính tốn cụ thể Các toolbox thơng dụng Matlab Fuzzy Logic Image Processing Neural Network Signal Processing Simulink Symbolic Math Khởi động/Thốt chương trình Matlab Khởi động Nhấp đúp trái chuột vào biểu tượng Matlab Desktop Start \ Programs \ Matlab … Thoát File \ Exit Crtl + Q >> quit Thực thi lệnh >> + Enter 9/10/2008 Giao diện Matlab Các phím điều khiển Phím VD Các phím điều khiển Lệnh Kết Chức Enter thi hành lệnh Esc Xố dịng lệnh hành ↑,↓ gọi lệnh trước ←,→ di chuyển qua lại ký tự backspace, delete xoá ký tự trước, sau home, end đầu, cuối dòng lệnh Biểu thức (expression expression)) Matlab >>3 + ans = >> + >> >> ↑ >> + >> ↓ >> >> 1+2 1+2 “←” >> 1+ +2 >> 1+2_ 1+2_ >> >>11+2 -2^3 + * (5 – 7) \ * >>1+ >>1 +2 >>12 huge = exp(log(realmax)) Một biểu thức Matlab chứa các: Biến (variable) Con số (number) / số (constant) Phép toán (operator) Hàm (function) Ví dụ 9/10/2008 Một số ví dụ biểu thức Matlab rho = (1+sqrt(5))/2 rho = 1.6180 a = abs(3+4i) a= huge = exp(log(realmax)) huge = 1.7977e+308 Tên biến: Bắt đầu chữ cái, chữ cái, chữ số dấu gạch “_” Các chữ phân biệt chữ hoa, chữ thường Ví dụ: Hợp lệ: “x”, “a_b1”, “v1” Khơng hợp lệ: “_a”, “1x”, “abc*” Biến đặc biệt “ans”: lưu giá trị phép tốn vừa tính Lệnh “who” “whos”: cho biết thông tin biến hữu Biến (variable variable)) Không cần khai báo kiểu, số chiều, độ dài biến Mỗi tên xuất với phép gán, Matlab tạo biến cấp phát nhớ cho Ví dụ: sosv = 110 tạo biến tên sosv (là ma trận 1x1) lưu giá trị 110 Nếu biến cũ, thay đổi nội dung thực phép gán Ví dụ: >>X = >>X = X = Các phép toán (operator operators) s) Phép toán x=2 y=3 Cộng x+y Trừ x–y -1 Nhân x*y Chia x/y 0.6667 Chia ngược x\y 1.5000 Luỹ thừa x^y 9/10/2008 Độ ưu tiên phép toán Độ ưu tiên Phép tốn (,) ngồi ^ trái qua phải ±a *,/,\ trái qua phải +,- trái qua phải Kiểu số Matlab Tính ưu tiên Kiểu số double Dấu “.” để phân cách phần thập phân Ký tự “i” “j” dùng để số ảo Ký tự “e” dùng để nhân luỹ thừa 10 Ví dụ: -2.3456 + 2i – 3j – j 1.5e2 1.5*102 tức 150 h m thử: >> -2^3 + * (5 – 7) \ * Hằng số (constant constant)) Matlab Dạng hiển thị số pi 3.14159265… i, j Số ảo (i^2 = -1 ) short (mặc định) chữ số thập phân 288.8889 eps Epsilon = 2^( 2^( 52) long 15 chữ số thập phân realmin 2^( –1022) bank chữ số thập phân 2.888888888888889 e+002 288.89 realmax (2 – eps)*2^1023 Inf Infinity - Vô cực rat a/b (phân số) 2600/9 NaN Not A Number - Vô định >>format kiểu >>a = pi ? >>format rat; a Hiển thị 2600/9 ? 9/10/2008 Xoá giá trị biến Hàm (function function)) Xoá biến x xoá vùng nhớ cấp phát cho biến x Xoá biến x: clear x Xoá lúc nhiều biến: clear a b c Xoá hết tất biến hữu: clear Matlab cung cấp phong phú đa dạng hàm toán học, từ sơ cấp đến cao cấp Có loại hàm Matlab Built-in fuction: hàm sẵn có Ví dụ: sin(), sqrt(), exp(), … M-file function: hàm viết tập tin m Matlab Ví dụ: gamma(), sinh(), … Chúng ta khơng thể thấy source code hàm built-in Ngược lại, ta xem chỉnh sửa source code hàm lưu file m Xem trợ giúp (Help) Mục đích Cách làm Xem cách sử dụng hàm có >>help converse tên converse Tìm hàm tính tốn Help \ Functions – Categorical lĩnh vực List dùng chức Search Tìm tên hàm Help \ Functions – Alphabetical List tìm Index Tìm hiểu vấn đề Chẳng hạn Help \ Mathematics 9/10/2008 Ma trận (matrix) Ma trận mảng hình chữ nhật số Ma trận gồm dòng (row) cột (column) Các dòng hay cột gọi chung vector 16 13 10 11 12 15 14 Một số Matlab ma trận 1x1 Thế mạnh Matlab so với ngơn ngữ lập trình khác tính tốn nhanh ma trận Copyright © 2006 ntnhut@mathdep.hcmuns.edu.vn Nhập ma trận Nhập trực tiếp danh sách phần tử Phát sinh ma trận hàm sẵn có Tổng cột chuyển vị ma trận Nhập từ file Tạo ma trận file m A = [16 13; 10 11 8; 12; 15 14 1] A= Dấu [ ] mở đầu kết thúc 16 13 nhập ma trận 10 11 Dấu ; kết thúc dòng 12 Các phần tử cách 15 14 A= 16 13 10 11 12 15 14 A’ ans = sum(A) ans = 34 34 34 34 sum(A’) 16 10 15 11 14 13 12 ans = 34 34 34 34 khoảng trắng dấu , Copyright © 2006 ntnhut@mathdep.hcmuns.edu.vn Copyright © 2006 ntnhut@mathdep.hcmuns.edu.vn 9/10/2008 Đường chéo ma trận A= 16 13 10 11 12 15 14 diag(A) ans = Ma phương sum(diag(A)) ans = 34 >>magic(4) 16 10 Trích phần tử Phần tử Aij trích biểu thức A(i,j) A= 16 13 10 11 12 15 14 A(4,2) phần tử dòng cột 2, tức phần tử 15 Phép trích có số theo thứ tự duyệt theo cột (xem ma trận vector cột dài) A(8) phần tử thứ duyệt theo cột từ trái qua phải, từ xuống Chính A(4,2) Copyright © 2006 ntnhut@mathdep.hcmuns.edu.vn Copyright © 2006 ntnhut@mathdep.hcmuns.edu.vn Chỉ số vượt khỏi kích thước ma trận Dấu hai chấm “:” (colon) t = A(4,5) “Index exceeds matrix dimensions.” Việc truy xuất phần tử vi phạm kích thước ma trận Nằm bên phải phép gán Copyright © 2006 ntnhut@mathdep.hcmuns.edu.vn X = A; X(4,5) = 17 X= 16 13 10 11 12 15 14 17 Mở rộng ma trận Nằm bên trái phép gán Dấu hai chấm “:” phép toán quan trọng Matlab Ví dụ: 1:10 vector dịng gồm số nguyên từ đến 10 10 Để tạo bước tăng/giảm khác 100:-7:50 100 93 86 79 72 65 58 51 0:pi/4:pi 0.7854 1.5708 2.3562 3.1416 Copyright © 2006 ntnhut@mathdep.hcmuns.edu.vn 9/10/2008 Dùng dấu hai chấm số Ví dụ: A(1:k,j) gồm k số cột thứ j ma trận A sum(A(1:4,4)) tính tổng số cột thứ ma trận A Dấu hai chấm đứng tồn phần tử dịng cột Từ khố “end” chỉ số cuối dịng cột Ví dụ: Trích nhiều phần tử Sử dụng dấu “[,]” để liệt kê vị trí cần trích Ví dụ: A = [2 3; 7], x = [9 1] A([2,1],2) [6 4]’ , x([2,4]) Sử dụng dấu “:” để trích số cách Ví dụ: A(2,1:3) , x(3:-1:1) 249 A(:,end) toàn phần tử cột cuối Copyright © 2006 ntnhut@mathdep.hcmuns.edu.vn Copyright © 2006 ntnhut@mathdep.hcmuns.edu.vn Phát sinh ma trận (MT) hàm sẵn có Nhập ma trận hàm load MT zeros(m,n) MT ones(m,n) MT đơn vị eye(n) MT đường chéo diag([a,b,c,…]) Ma phương magic(n) MT số thực ngẫu nhiên từ đến rand(m,n) Z = reros(2,4) F = 5*ones(2,3) Z= F= 0000 ntnhut@mathdep.hcmuns.edu.vn 00 Copyright © 2006 555 555 Giả sử ta có file magik.dat có nội dung sau (các số cách khoảng trắng) 16.0 3.0 2.0 13.0 5.0 10.0 11.0 8.0 9.0 6.0 7.0 12.0 4.0 15.0 14.0 1.0 Dòng lệnh >>load magik.dat đọc file magik.dat, tạo biến có tên magik, ma trận phần tử có file magik.dat Copyright © 2006 ntnhut@mathdep.hcmuns.edu.vn 9/10/2008 Tạo ma trận file m File m file văn ghi dòng lệnh Matlab Có thể soạn thảo MATLAB Editor trình soạn thảo văn Lưu file có đuôi m Gõ tên file để thực thi nội dung dịng lệnh file Ví dụ: tạo file có nội dung sau: A=[ 16.0 3.0 2.0 13.0 5.0 10.0 11.0 8.0 9.0 6.0 7.0 12.0 4.0 15.0 14.0 1.0]; Lưu với tên magik.m Dòng lệnh >>magik đọc file tạo biến A ma trận Copyright © 2006 ntnhut@mathdep.hcmuns.edu.vn Ghép (concatenation) hai ma trận A B C 123 456 10 12 11 13 789 978 897 Thêm cột Thêm dòng D = [A B] E = [A; C] 10 12 11 13 123 456 789 978 897 Chú ý kích thước dịng hay cột tương ứng Copyright © 2006 ntnhut@mathdep.hcmuns.edu.vn Xố dịng, xố cột A= 16 13 10 11 12 15 14 X = A; X(: , 2) = [] X= 16 13 11 12 14 Khơng xố phần tử kiểu X(1,2) = [] Dùng số với dấu : để xoá hay nhiều phần tử X(2:2:10) = [] X 16 13 12 Copyright © 2006 ntnhut@mathdep.hcmuns.edu.vn 9/10/2008 Trong 3-D t = 0:.1:10; s = 0.1+i; y = exp(-s*t); stem3(real(y),… imag(y),t) hold on plot3(real(y),… imag(y),t,'r') hold off view(-39.5,62) xlabel('Real') ylabel('Imaginary') zlabel('Magnitude') Dạng bậc thang alpha = 0.01; beta = 0.5;t = 0:10; f = exp(-alpha*t).*sin(beta*t); stairs(t,f) hold on; plot(t,f,' *'); hold off label = 'Stairstep plot of e^{-(\alpha*t)}sin\beta*t'; text(0.5,-0.2,label,'FontSize',14); xlabel('t = 0:10','FontSize',14); axis([0 10 -1.2 1.2]) TRONG KHÔNG GIAN CHIỀU plot3(x,y,z) Ta cần xác định vectơ x, y, z Để vẽ mặt (x, y, z=f(x,y)), lệnh meshgrid(x,y) tạo mảng X, Y từ miền giá trị x, y Ví dụ t = 0:0.02*pi:25*pi; x = sin(t); y = cos(t); z = t; plot3(x,y,z); 9/10/2008 Vẽ mặt: z ( x, y ) = x 2 với −4 ≤ x ≤ −4 ≤ y ≤ [x,y]=meshgrid([-4:0.1:4]); z=x.*x.*y.*exp(-x.^2-y.^2); plot3(x,y,z) Ví dụ Vẽ mặt z = sin( y 2 ye− x − y Dùng lệnh mesh(z) − x) − cos( y − x ) với x, y ∈ [ 0,π ] x=0:0.1:pi;y=0:0.1:pi; [X,Y]=meshgrid(x,y); Z=sin(Y.^2+X)-cos(Y-X.^2); subplot(221);mesh(Z); subplot(222);meshc(Z); subplot(223);mesh(x,y,Z); axis([0 pi pi -5 5]); subplot(224);mesh(Z);hidden off 9/10/2008 Một số lệnh vẽ đồ thị - D plot3 contour / contourf / contour3 mesh / meshc / meshz surf / surfc waterfall bar3 / bar3h pie3 / fill3 comet3 / scatter3 / stem3 In xuất đồ thị Dùng lệnh print -dtiff -r200 mygraph.tiff print –deps2 mygraph.eps … Sử dụng Plotting Tools 11/11/2007 I Giới thiệu TÍNH TỐN HÌNH THỨC TRONG MATLAB TRONG MATLAB Khai báo • Khai báo biến: – syms a b c x – a = sym(‘a’) – b = sym(‘b’) – c = sym(‘c’) – x = sym(‘x’) • Khai báo biến ế phức – x = sym(‘x’,’real’); y = sym(‘y’,’real’) syms x y real – x = x + i*y • Tính tốn hình thức • Symbolic Math Toolbox Khai báo biểu thức: • Khai báo biểu thức: f = 2*x + b – syms x b – f = 2*x 2* + b – f = sym(‘2*x + b’) – sym(‘(sqrt(2) + 1)/3’) – g = syms( syms(‘5’) ) (khác g = 5) – syms x y – h = x^2 + y^2 11/11/2007 • Lệnh findsym: tìm biến hình thức biểu thức • Ví dụ – sy syms sabntxz – s = x^n; g = sin(a*t + b) – findsym(f) – ans = x n – findsym(g) – ans = a b t • findsym(g,1): tìm biến hình thức mặc định – findsym(g,1) – ans = t II Các phép tính vi tích phân • • • • Đạo hàm Tích phân Giới hạn Tổng chuỗi Hiển thị biến hình thức dạng số học • t = 0.1 – sym(t,’ f ’) – ans = '1.999999999999a'*2^(-4) ( ) – sym(t, ’r ’) – ans = 1/10 – sym(t,’ e ’) – ans = 1/10+eps/40 – sym(t,’ d ’) – ans = 10000000000000000555111512312578 – digits(7) – sym(t,’ d ’) – ans = 1000000 Đạo hàm • diff(Y) Y: hàm số biến hình thức cần lấy đạo hàm • Ví dụ – syms x; f = sin(5*x) – diff(f) – ans = 5*cos(5*x) – g = exp(x)*cos(x) – diff(g) – ans = exp(x)*cos(x) – exp(x)*sin(x) – c = sym(‘5’); diff(c) – ans = 11/11/2007 – diff(5) – ans = [ ] khơng phải biến hình thức • Lấy đạo hàm cấp – diff(g,2) – diff(diff(g)) – ans = -2exp(x)*sin(x) • Đạo Đ hàm hà đ đa biế biến Gọi f = f(x,y) Đạo hàm theo x: diff(f,x) Đạo hàm theo y: diff(f,y) o Đạo hàm ma trận syms a x A = [cos(a*x) sin(a*x); -sin(a*x) cos(a*x)] A= [cos(a*x), sin(a*x)] [-sin(a*x), cos(a*x)] diff(A) ans = [-sin(a*x)*a, cos(a*x)*a] [-cos(a*x)*a, -sin(a*x)*a] Đạo hàm cấp theo x: diff(f,x,2) Đạo hàm cấp theo y: diff(f,y,2) Nếu x biến mặc định f diff(f,2) tương đương với diff(f,x,2) o Ví dụ syms s t f = sin(s*t) diff(f,t) => ans = cos(s*t)*s diff(f,s)=> diff(f ) > ans = cos(s*t)*t ( *t)*t diff(f,t,2) => ans = -sin(s*t)*s^2 findsym(f,1) => ans = t Suy biến mặc định t diff(f,2) = diff(f,t,2) Tích phân • int(f,x) inf(f) : Tìm ngun hàm hàm f = f(x) • inf(f,a,b) : Tính tích phân f từ a -> b • Ví dụ – syms x n a b t –f=x^n – int(f) ( inf(f,x)) – ans = x^(n+1)/(n+1) 11/11/2007 – g = cos(a*t + b) – int(g) – ans = sin(a*t + b)/a – h = sin(2*x) sin(2 x) – int(h,0,pi/2) – ans = – u = exp(-x^2) – int(u,0,inf) – ans = 1/2*pi^(1/2) Giới hạn • limit(f) (): lim f ( x) • limit(f,x,a) : lim f ( x) x →0 limit(f,a) • limit(f,x,a, limit(f x a ’left’) left ) : lim f ( x) • limit(f,x,a,’right’) : lim f ( x) • Ví dụ – sym h n x – limit((cos(x + h) – cos(x))/h,h,0) – ans = - sin(x) ( ) – limit((1 + x/n)^n,n,inf) – ans = exp(x) – limit(x/abs(x),x,0,’left’) – ans = -1 – limit(x/abs(x),x,0,’right’) limit(x/abs(x),x,0, right ) – ans = – limit(x/abs(x),x,0) – ans = NaN x→a x →a+ x→a− Tổng chuỗi • Tính: 1+ 1 + + 22 32 + x + x + – syms x k – s1 = symsum(1/k^2,1,inf) – s2 = symsum(x symsum(x^kk,k,0,inf) k inf) – s1 = 1/6*pi^2 – s2 = -1/(x-1) 11/11/2007 III Các hàm đơn giản thay biến biểu thức • collect(f) – f = f(x) • collect(f,y) - f = f(x,y,…) • Đơn giản hàm f nhóm biến x có số mũ • Trường hợp f có nhiều biến collect(f,y) định gom nhóm theo biến yy • collect(f) gom nhóm theo biến mặc định findsym(f) • expand(f) : phân tích biểu thức f • Ví dụ – syms y xyab – f = a*(x + y) – expand(f) => ans = a*x + a*y – g = (x -1)*(x -2)*(x – 3) – expand(g) => ans = x^3 – 6*x^2 + 11*x – – h = exp(a + b) – expand(h) => ans = exp(a)*exp(b) – cos(3*x) => ans = 4*cos(x)^3 – 3*cos(x) • Ví dụ – syms x t – f = x^3 – 6*x^2 + 11*x – – g = ((x – 1)*(x ) ( – 2)*(x ) ( – 3)) – h = -6 + (11 + (-6 + x)*x)*x – pretty(f), pretty(g), pretty(h) – collect(f) => ans = x^3 – 6*x^2 + 11*x – – collect(g) => ans = x^3 – 6*x^2 + 11*x – – collect(h) => ans = xx^3 3–6 6*x^2 x + 11 11*x x–6 – f = (1 + x)*t + x*t – collect(f) => ans = 2*x*t + t – collect(f,t) => ans = 2*x*t + t • factor(f) : phân tích đa thức f thành nhân tử chung • Ví dụ – f = x^3 – 6*x^2 x^2 + 11*x 11 x – – g = x^3 – 6*x^2 + 11*x – – h = x^6 + – factor(f) – ans = (x – 1)*(x -2)*(x – 3) – factor(g) f t ( ) – ans = x^3 – 6*x^2 + 11*x – ?? – factor(h) – ans = (x^2 + 1)*(x^4 – x^2 + 1) 11/11/2007 • simplify(f): đơn giản biểu thức f • Ví dụ – f = x*(x*(x – 6) + 11) - – simplify(f) => ans = x^3 – 6*x^2 + 11*x – – g = (1 – x^2)/(1 – x) – simplify(g) => ans = x + – syms x y positive – simplify(log(x simplify(log(x*y)) y)) => log(x) + log(y) – h = cos(x)^2 + sin(x)^2 – simplify(h) => ans = • subs(expr,old,new): thay old new biểu thức expr • Ví dụ – syms x y – f = sin(x) – subs(f,x,pi/3) => ans = 0.8660 – subs(f,x,sym(pi)/3) => ans = 1/2*3^1/2 – S = xx^yy – subs(S,{x y},{3 2}) – subs(S,{x y},{3 x+1}) – subs(S,y,1:5) => ans = [ x, x^2, x^3, x^4, x^5] • simple(f): rút gọn biểu thức f, kết hợp phép tốn simplify, collect, factor • Ví dụ – f = (1/a^3 + 6/a^2 + 12/a + 8)^1/3 – simplify(f) => ans = ((2*a + 1)^3/a^3)^1/3 – simple(f) => ans = (2*a + 1)/a – syms x y positive – h = log(x*y) log(x y) – simplify(h) => ans = log(x) + log(y) – simple(h) => ans = log(x*y) • [N D] = numden(f): trích tử số mẫu số f gán cho N D • Ví dụ – syms s ms s – H = -(1/6)/(s + 3) -(1/2)/(s + 1) + (2/3)/s – simplify(H) – pretty(ans) – [[N D]] = numden(H) ( ) –N=s+2 – D = (s+3)*(s+1)*s 11/11/2007 • poly2sym(a,x): tạo đa thức theo biến x với hệ số lấy từ mảng a • Ví dụ – syms x; a = [1 -7 -10] 10] – p = poly2sym(a,x) – p = x^3 + 4*x^2 – 7*x - 10 • x = sym2poly(p): trích hệ số đa thức p chứa vào mảng s • Ví dụ – syms x; p = 4*s^2 – 2*s^2 + 5*s – 16 – x = sym2poly(p) – x = -2 -16 • Các phép tốn: với ma trận A B A+B A–B A*B A\B ( = A*inv(B) ) A/B ( = inv(A)*B ) A^n A.’ III Tính tốn đại số tuyến tính • Khai Kh i bá báo ma ttrận ậ – syms a b c d t – A =[a b; c d] – B = [cos(t) sin(t); -sin(t) cos(t)] – C = [t 0;1 t 1; t] – d = round(rand(3,3)) – D = sym(D) • Các hàm xử lý ma trận: inv(A) det(A) rank(A) diag(A) tril(A) triu(A) 11/11/2007 • Ví dụ – c = floor(10*rand(4)) – D = sym(c) – A = inv(D) – inv(A)*A – det(A) – b = ones(1,4) – x = b/A – x*A – A^3 IV Giải phương trình đại số • solve(f) ():g giải phương p g trình f(x) ( ) = • Ví dụ – syms a b c x – f = a*x^2 + b*x + c; – solve(f) – ans = [1/2*a(-b + (b^2 – 4*a*c)^1/2)] [1/2*a(-b - (b^2 – 4*a*c)^1/2)] • Có thể dùng hàm rút gọn lấy đạo hàm, tích phân ma trận • Ví dụ – – – – – – – – – – – syms a b s K = [a+b, [a+b a a-b;b-a, b b a a+b] G = [cos(s) sin(s);-sin(s) cos(s)] L = K^2 collect(L) factor(L) diff(L,a) int(K,a) J = K/G simplify(J*G) simplify(G*(G.’)) • solve(f) : giải phương trình theo biến mặc định hàm findsym(f), findsym(f) -> ans = x solve(f,a): giải theo biến định a (tương tự cho b, c) • Ví dụ – solve(f,b) – ans = -(a*x^2 + c)/x • solve(‘ f(x) = g(x) ’): giải phương trình f(x) = g(x) Lưu ý: phải đặt dấu nháy 11/11/2007 • Ví dụ – s = solve(`cos(2*x) + sin(x) = 1`) –s= [ 0] [ pi] [ 1/6*pi] [ 5/6*pi] • solve(‘f(x)’,’g(x)’,’h(x)’,…): giải hệ nhiều phương trình ⎧u + v = a ⎪ • Giải hệ: ⎨u + v = ⎪a − 2a = ⎩ – S = solve( solve(‘u^2+v^2=a^2’,’u+v=1’,’a^2–2*a=3’) u v a 2,u v 1,a 2 a 3) –S= a: [2x1 sym] u: [2x1 sym] v: [2x1 sym] – S.a ans = [ 3] [ -1] • Ví dụ Giải hệ: ⎧⎪ 2 x y =0 ⎨ ⎪⎩ x − y /2 =α – syms x y alpha – [x y] = solve(‘x^2*y^2=0’,’x – y/2 = alpha’) x= y= [ 0] [ -2*alpha] [ 0]] [ -2*alpha] p ] [ alpha] [ 0] [ alpha] [ 0] • Nghiệm: v = [x, y] Giải phương trình đạo hàm riêng • Hàm: dsolve • Ví dụ • Giải: dy = + y , y (0) ( ) =1 dt – dsolve(‘Dy=1+y^2’,’y(0)=1’) – y = tan(t + 1/4*pi) • Giải: Giải d2y d = cos(2 x) − y, y(0)=1, y (0) = dx dx – y =dsolve(‘D2y=cos(2*x) – y’,’y(0)=1’,’Dy(0)=0’,’x’) – simplify(y); ans = 4/3*cos(x) – 2/3*cos(x)^2+1/3 11/11/2007 ⎧ d 3u =u ⎪ • Giải: ⎨ dx3 ⎩⎪u (0) = 1; u '(0) = −1; u ''(0) = π – dsolve(‘D3u=u’,’u(0)=1’,’Du(0)=-1’,’D2u(0)=pi’),’x’) ⎧ df ⎪⎪ dt = f (t ) + g (t ) , f (0) = • Giải: ⎨ ⎪ dg = −4 f (t ) + g (t ) , g (0) = ⎪⎩ dt – [f g] = dsolve(‘Df = 3*f + 4*g’,’Dg = -4*f + 3*g’,… ’f(0) = 0’,’g(0) = 1’) – f = exp(3*t)*sin(4*t); g = exp(3*t)*cost(4*t) V Vẽ đồ thị • Trong – D: Hàm Hà ezplot(f) l t(f) Ví dụ – syms t x y – f = sin(2*x) – g = t + 3*sin(t) () – h = 2*x/(x^2 -1) – ezplot(f); ezplot(g); ezplot(h) – ezplot(x*exp(-x), [-1 4]) • Trong – D • Hàm ezplot3(x,y,z) • Ví dụ – syms y xyzt – x = 3*t/(1 + t^3) – y = 3*t^2/(1 + t^3) – z = sin(t) – ezplot3(x,y,z) • ezcontour t / ezcontourf t f • ezmesh / ezmeshc • ezsurf / ezsurfc 10 9/10/2008 • Thi TH cuối kỳ Thi cuối kỳ – Hình thức giống thi kỳ – Thời gian: 30 phút • Thi Viết cuối HK – Theo lịch nhà trường – Gồm phần trắc nghiệm số câu viết – Thời gian: tối đa 60 phút Lịch thi TH • • • • • Ngày 09/12/2008 Phòng máy F209 7g10-7g40 7g50-8g20: lớp A 8g30-9g00 9g10-9g40: lớp B 9g50-10g20 10g30-11g00: lớp C Nội dung thi TH phần viết thi LT Lệnh điều kiện vòng lặp Viết script, viết hàm Symbolic Math Kiểu đề câu hỏi giống kỳ thi kỳ 9/10/2008 Game • Hình thức giống Gameshow Kim tự tháp • Một người A thấy danh sách cụm từ giải nghĩa cho người B khơng thấy • Người A khơng nói trùng chữ cụm từ giải nghĩa • Trúng 5/8 thắng ... chương trình Matlab Khởi động Nhấp đúp trái chuột vào biểu tượng Matlab Desktop Start Programs Matlab … Thoát File Exit Crtl + Q >> quit Thực thi lệnh >> + Enter 9/10/2008 Giao diện Matlab Các... clear Matlab cung cấp phong phú đa dạng hàm toán học, từ sơ cấp đến cao cấp Có loại hàm Matlab Built-in fuction: hàm sẵn có Ví dụ: sin(), sqrt(), exp(), … M-file function: hàm viết tập tin m Matlab. .. xem demo Matlab xem phiên Matlab dùng xem tất biến dùng xoá biến var1 var1,, var2 var2,, … xoá tất biến clc / home quit xố hình chương trình Copyright © 2006 ntnhut@mathdep.hcmuns.edu.vn Tập hợp