a.Tính biểu thức Khai báo biến bằng hàm syms: syms x y Khai báo biểu thức A: A = (x+y)2+3xy+sin(pix)2+cos(pix)2+1; Dùng hàm subs để lần lượt thay giá trị của x=2 và y=3 vào A, đồng thời tính giá trị A: ketqua=subs(subs(A,x,2),y,3) %subs(, , )
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN VẬT LÝ KỸ THUẬT MATLAB TÍNH TỐN SỐ NHĨM Giáo Viên Hướng Dẫn : TS Nguyễn Thị NỘI DUNG MATLAB TỔNG QUAN MATLAB CÁC CÂU LỆNH CƠ BẢN CÁC LỆNH HAY SỬ DỤNG CÁC HÀM TỐN HỌC TRONG MATLAB NHĨM LỆNH LẬP TRÌNH MATLAB TỔNG QUAN MATLAB LÀM VIỆC VỚI MATLAB • Cửa sổ lệnh (Command window): Với dấu nhắc >> dùng để chạy lệnh, viết chương trình, chạy chương trình • Cửa sổ Lịch sử lệnh (Command history): Liệt kê tất lệnh sử dụng trước kèm theo thời gian làm việc • Cửa sổ thư mục (Current Directory): Cho biết thư mục làm việc • Cửa sổ khơng gian làm việc (workspace):Cho biết biến sử dụng chương trình MÀN HÌNH LÀM VIỆC CỦA MATLAB CÁC CÂU LỆNH CƠ BẢN 1.Các lệnh hay sử dụng TÊN CLC CÚ PHÁP CLC CƠNG DỤNG Xóa cửa sổ lệnh CLEAR Clear all ( name, functions, variable,…) Xóa tất (tập tin name, hàm,biến DEMO demo Chạy chương trình mặc định HELP Help,help topic Hướng dẫn sử dụng lệnh HOME Home Đem trỏ lên đầu trang LOOKFOR Lookfor topic Tìm kiếm liên quan đến topic QUIT Quit Thốt khỏi matlab WHAT What , what dirname Liệt kê tập tin *.m *.mat *.mex WHO Who Liệt kê biến nhớ CÁC HÀM TOÁN HỌC TRONG MATLAB Hàm 10 Hàm số phức CÁC BIẾN VÀ HẰNG SỐ TOÁN TỬ LOGIC CÁC KÝ HIỆU ĐẶC BIỆT MỘT SỐ VÍ DỤ VỀ CÁC HÀM TỐN HỌC Tính bậc Tính tốn với số phức 11 MỘT SỐ VÍ DỤ GIẢI PHƯƠNG TRÌNH , TÍCH PHÂN ĐẠO HÀM Tính tích phân Giải phương trình Tính đạo hàm 12 3.NHĨM LỆNH LẬP TRÌNH TRONG MATLAB • Lệnh FOR - Công dụng: dùng để thực công việc lặp lặp lại theo bước xác định - Cú pháp: for = ; • Lệnh WHILE end a, chức : dùng để thực công việc lặp lặp lại theo quy luật với số bước lặp không xác định phụ thuộc vào biểu thức lý luận b, cú pháp: while biểu thức lí luận thực cơng việc; end • Lệnh IF…ELSEIF…ELSE a, chức : thực lệnh thỏa mãn điều kiện b, cú pháp:if biểu thức luận lý thực công việc 1; elseif biểu thức luận lý thực công việc 2; else thực công việc 3; end 13 NỘI DUNG II BÀI TẬP III BÀI TẬP IV BÀI TẬP4 V BÀI TẬP Company Logo I BÀI TẬP BÀI a.Tính biểu thức Khai báo biến hàm syms: syms x y Khai báo biểu thức A: A = (x+y)^2+3*x*y+sin(pi*x)^2+cos(pi*x)^2+1; Dùng hàm subs để thay giá trị x=2 y=3 vào A, đồng thời tính giá trị A: ketqua=subs(subs(A,x,2),y,3) %subs(, , ) BÀI b Khai triển, rút gọn biểu thức Để khai triển biểu thức ta dùng hàm expand: B = expand(A) Ngược lại, muốn rút gọn biểu thức ta dùng hàm simplify: C = simplify(A) c Biến đổi 2007 Dùng hàm factor để biến đổi 2007: D = factor(2007) BÀI BÀI Khai báo biến syms: syms x y; Khai báo biểu thức A: A = (x^3*x^2+3*x^2*y-y+1); Tính tích phân hàm int: I = int(x+sin(x),'x',0,pi) %int(, 'biến', ,) Tính đạo hàm hàm diff: Đạo hàm cấp 1: F1 = diff(A,'x') %diff(, 'biến') Đạo hàm cấp 2: F2 = diff(A,'x',2) %diff(, 'biến', ) Tính giới hạn hàm limit: L = limit(sin(x)/x,'x',0) %limit(, 'biến', ) BÀI BÀI a Giải phương trình theo cách Khai báo biến x: syms x; Tìm nghiệm x0 hàm solve: x0=solve(sin(x)+x-2,x) %solve(, ) Tìm nghiệm x0 đồ thị Khai báo cận x: x=-2:0.5:2; Vẽ đồ thị hàm theo x: plot(x,sin(x)+x-2,'k') %plot(,, 'kí hiệu màu') Xác định điểm x0 đồ thị dấu (*): hold on; plot(x0,0,'*') b Giải hệ phương trình Khai báo ma trận A B: A=[3 -5;1 -1 4;-5 1]; B=[1;-3;12]; Xác định ma trận nghiệm biểu thức B/A dấu (\): X=A\B BÀI BÀI Khai báo x, y, đồng thời chia đồ thị: [x,y]=meshgrid(linspace(-0.5,0.5,100),linspace(-2,2,100)); Khai báo hệ phương trình z1,z2: z1=x.^2-10.*x.*y-4.*y.^4; z2=x.^4+2.*x.*y+y.^2+8.*x+y-0.1; Vẽ mặt cong z1, z2 hàm surf: surf(x,y,z1); hold on; surf(x,y,z2); %surf(,,) Tìm nghiệm gần đồ thị: Vẽ mặt cong z1,z2 dạng đường đồng mức điểm z=0 hàm contour: figure;contour(x,y,z1,[0,0],'LineColor','r');hold on;contour(x,y,z2, [0,0],'LineColor','k') Xuất hình figure trỏ chuột lệnh ginput để tìm nghiệm : [x0,y0]=ginput Nhấp chuột vào giao điểm đường đồ thị, sau nhấn Enter Đánh dấu nghiệm gần dấu (*): plot(x0,y0,'*'); BÀI Đặt tiêu đề cho đồ thị hàm title: title('DO THI TIM NGHIEM GAN DUNG BAI 4','color','k') Đặt tên trục hàm label: xlabel('Truc Ox'); ylabel('Truc Oy') BÀI a,b,c tương tự d Chính xác hóa nghiệm Khai báo hệ phương trình dạng chuỗi: pt1='cos(x(1)^2)+3*x(2)*sin(2*x(1))-2*x(1)-0.3'; pt2='x(1)^4+2*x(1)*x(2)+x(2)^2+8*x(1)+x(2)-2'; hpt=['[',pt1,',',pt2,']']; Chính xác hóa nghiệm hàm fsolve: fx=inline(hpt,'x'); for k=1:length(x0) [xn(k,:),zxn(k,:)]=fsolve(fx,[x0(k),y0(k)]); end xn zxn BÀI Thank You ! ... MỘT SỐ VÍ DỤ VỀ CÁC HÀM TỐN HỌC Tính bậc Tính tốn với số phức 11 MỘT SỐ VÍ DỤ GIẢI PHƯƠNG TRÌNH , TÍCH PHÂN ĐẠO HÀM Tính tích phân Giải phương trình Tính đạo hàm 12 3.NHĨM LỆNH LẬP TRÌNH TRONG MATLAB. ..NỘI DUNG MATLAB TỔNG QUAN MATLAB CÁC CÂU LỆNH CƠ BẢN CÁC LỆNH HAY SỬ DỤNG CÁC HÀM TỐN HỌC TRONG MATLAB NHĨM LỆNH LẬP TRÌNH MATLAB TỔNG QUAN MATLAB LÀM VIỆC VỚI MATLAB • Cửa sổ... Quit Thoát khỏi matlab WHAT What , what dirname Liệt kê tập tin *.m *.mat *.mex WHO Who Liệt kê biến nhớ CÁC HÀM TOÁN HỌC TRONG MATLAB Hàm 10 Hàm số phức CÁC BIẾN VÀ HẰNG SỐ TOÁN TỬ LOGIC CÁC