1. Trang chủ
  2. » Giáo án - Bài giảng

Introduction tài liệu matlap - DH Bách Khoa HN

84 424 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 84
Dung lượng 483,51 KB

Nội dung

Chương 1: Matlab Trần Minh Toàn (1) Viện Toán ứng dụng Tin học, ĐHBK Hà Nội (1) Email: toantm24@gmail.com Trần Minh Toàn (SAMI-HUST) Matlab / 66 Giới thiệu Matlab Nội dung Giới thiệu Matlab Biểu thức Matlab Biến Số Các toán tử Các hàm Vector Đa thức Ma trận Nhập ma trận Ghép nối Xóa hàng cột Một số lệnh xử lý ma trận Cấu trúc (Structures) Mảng tế bào (Cell Arrays) Vẽ đồ thị Vẽ đồ thị 2-D Vẽ đồ thị 3-D Trần Minh Toàn (SAMI-HUST) Matlab / 66 Giới thiệu Matlab Matlab MatLab (MATrix LABoratory) mơi trường phần mềm (problem-solving environment - PSE) toán học tính tốn MatLab phát triển vào cuối năm 70 Cleve Moler (Stanford) với mục đích giúp sinh viên thực tính tốn số mà khơng cần phải học ngơn ngữ lập trình bậc thấp, ví dụ Fortran Được thiết kế công ty MathWorks ngơn ngữ lập trình bậc cao chun sử dụng cho tính tốn kỹ thuật, đặc biệt tốn có dạng ma trận vector MatLab tích hợp tính tốn, đồ họa lập trình môi trường thân thiện, cho phép thể toán nghiệm dạng ký hiệu toán học quen thuộc MatLab hệ tương tác, có thành phần liệu mảng mà không cần khai báo trước số chiều MatLab trải qua nhiều năm phát triển với đóng góp nhiều chuyên gia Trong trường đại học, cơng cụ chuẩn cho khóa học tốn, kỹ thuật khoa học từ đến nâng cao Trong công nghiệp, MatLab công cụ hữu ích cho việc nghiên cứu, phát triển phân tích sản phẩm chất lượng cao Trần Minh Toàn (SAMI-HUST) Matlab / 66 Giới thiệu Matlab Matlab MatLab (MATrix LABoratory) mơi trường phần mềm (problem-solving environment - PSE) tốn học tính tốn MatLab phát triển vào cuối năm 70 Cleve Moler (Stanford) với mục đích giúp sinh viên thực tính tốn số mà khơng cần phải học ngơn ngữ lập trình bậc thấp, ví dụ Fortran Được thiết kế công ty MathWorks ngôn ngữ lập trình bậc cao chuyên sử dụng cho tính tốn kỹ thuật, đặc biệt tốn có dạng ma trận vector MatLab tích hợp tính tốn, đồ họa lập trình mơi trường thân thiện, cho phép thể toán nghiệm dạng ký hiệu toán học quen thuộc MatLab hệ tương tác, có thành phần liệu mảng mà không cần khai báo trước số chiều MatLab trải qua nhiều năm phát triển với đóng góp nhiều chun gia Trong trường đại học, cơng cụ chuẩn cho khóa học tốn, kỹ thuật khoa học từ đến nâng cao Trong cơng nghiệp, MatLab cơng cụ hữu ích cho việc nghiên cứu, phát triển phân tích sản phẩm chất lượng cao Trần Minh Toàn (SAMI-HUST) Matlab / 66 Giới thiệu Matlab Matlab MatLab (MATrix LABoratory) môi trường phần mềm (problem-solving environment - PSE) tốn học tính tốn MatLab phát triển vào cuối năm 70 Cleve Moler (Stanford) với mục đích giúp sinh viên thực tính tốn số mà khơng cần phải học ngơn ngữ lập trình bậc thấp, ví dụ Fortran Được thiết kế công ty MathWorks ngôn ngữ lập trình bậc cao chun sử dụng cho tính tốn kỹ thuật, đặc biệt tốn có dạng ma trận vector MatLab tích hợp tính tốn, đồ họa lập trình mơi trường thân thiện, cho phép thể toán nghiệm dạng ký hiệu toán học quen thuộc MatLab hệ tương tác, có thành phần liệu mảng mà không cần khai báo trước số chiều MatLab trải qua nhiều năm phát triển với đóng góp nhiều chuyên gia Trong trường đại học, cơng cụ chuẩn cho khóa học tốn, kỹ thuật khoa học từ đến nâng cao Trong công nghiệp, MatLab cơng cụ hữu ích cho việc nghiên cứu, phát triển phân tích sản phẩm chất lượng cao Trần Minh Toàn (SAMI-HUST) Matlab / 66 Giới thiệu Matlab Matlab MatLab (MATrix LABoratory) môi trường phần mềm (problem-solving environment - PSE) tốn học tính tốn MatLab phát triển vào cuối năm 70 Cleve Moler (Stanford) với mục đích giúp sinh viên thực tính tốn số mà không cần phải học ngôn ngữ lập trình bậc thấp, ví dụ Fortran Được thiết kế cơng ty MathWorks ngơn ngữ lập trình bậc cao chun sử dụng cho tính tốn kỹ thuật, đặc biệt tốn có dạng ma trận vector MatLab tích hợp tính tốn, đồ họa lập trình mơi trường thân thiện, cho phép thể toán nghiệm dạng ký hiệu toán học quen thuộc MatLab hệ tương tác, có thành phần liệu mảng mà không cần khai báo trước số chiều MatLab trải qua nhiều năm phát triển với đóng góp nhiều chuyên gia Trong trường đại học, cơng cụ chuẩn cho khóa học tốn, kỹ thuật khoa học từ đến nâng cao Trong công nghiệp, MatLab cơng cụ hữu ích cho việc nghiên cứu, phát triển phân tích sản phẩm chất lượng cao Trần Minh Toàn (SAMI-HUST) Matlab / 66 Giới thiệu Matlab Matlab MatLab (MATrix LABoratory) môi trường phần mềm (problem-solving environment - PSE) tốn học tính tốn MatLab phát triển vào cuối năm 70 Cleve Moler (Stanford) với mục đích giúp sinh viên thực tính tốn số mà khơng cần phải học ngơn ngữ lập trình bậc thấp, ví dụ Fortran Được thiết kế cơng ty MathWorks ngơn ngữ lập trình bậc cao chun sử dụng cho tính tốn kỹ thuật, đặc biệt tốn có dạng ma trận vector MatLab tích hợp tính tốn, đồ họa lập trình mơi trường thân thiện, cho phép thể toán nghiệm dạng ký hiệu toán học quen thuộc MatLab hệ tương tác, có thành phần liệu mảng mà không cần khai báo trước số chiều MatLab trải qua nhiều năm phát triển với đóng góp nhiều chuyên gia Trong trường đại học, cơng cụ chuẩn cho khóa học toán, kỹ thuật khoa học từ đến nâng cao Trong công nghiệp, MatLab công cụ hữu ích cho việc nghiên cứu, phát triển phân tích sản phẩm chất lượng cao Trần Minh Toàn (SAMI-HUST) Matlab / 66 Giới thiệu Matlab Matlab MatLab ứng dụng Tốn học tính tốn Phát triển thuật tốn Thu thập liệu Mơ hình hóa, mơ Phân tích liệu, thăm dị trực quan hóa Đồ họa khoa học kỹ thuật Phát triển ứng dụng, xây dựng giao diện người dùng Trần Minh Toàn (SAMI-HUST) Matlab / 66 Giới thiệu Matlab Matlab MatLab ứng dụng Tốn học tính toán Phát triển thuật toán Thu thập liệu Mơ hình hóa, mơ Phân tích liệu, thăm dị trực quan hóa Đồ họa khoa học kỹ thuật Phát triển ứng dụng, xây dựng giao diện người dùng Trần Minh Toàn (SAMI-HUST) Matlab / 66 Giới thiệu Matlab Matlab MatLab ứng dụng Tốn học tính tốn Phát triển thuật tốn Thu thập liệu Mơ hình hóa, mơ Phân tích liệu, thăm dị trực quan hóa Đồ họa khoa học kỹ thuật Phát triển ứng dụng, xây dựng giao diện người dùng Trần Minh Toàn (SAMI-HUST) Matlab / 66 Cấu trúc (Structures) Nội dung Giới thiệu Matlab Biểu thức Matlab Biến Số Các toán tử Các hàm Vector Đa thức Ma trận Nhập ma trận Ghép nối Xóa hàng cột Một số lệnh xử lý ma trận Cấu trúc (Structures) Mảng tế bào (Cell Arrays) Vẽ đồ thị Vẽ đồ thị 2-D Vẽ đồ thị 3-D Trần Minh Toàn (SAMI-HUST) Matlab 52 / 66 Cấu trúc (Structures) Cấu trúc Là cách tổ chức liệu liên quan Ví dụ, tạo cấu trúc s với trường x,y name >> s.y=1; >> s.x=[1 1]; >> s.name=’abc’; >> s s = y: x: [1 1] name: ’abc’ đơn giản với từ khóa struct: >> s2=struct(’y’,1,’x’,[1 1],’name’,’abc’) Sử dụng trường biến bình thường Trần Minh Tồn (SAMI-HUST) Matlab 53 / 66 Cấu trúc (Structures) Cấu trúc Liệt kê danh sách trường f=fieldnames(s); Tham chiếu động tới trường (dynamic field reference): s.x; s.(’x’) % tham chiếu tĩnh (static field reference) tới s.x % tham chiếu động tới s.x Vòng lặp trường f=fields(s); % tương đương với f=fieldnames(s) for i=1:length(s) doSomething(s.(f{i})); end % for f=fields(s) % doSomething(s.(char(f))); end % gọn structfun(@doSomething,s); Trần Minh Toàn (SAMI-HUST) Matlab 54 / 66 Cấu trúc (Structures) Cấu trúc Ta tạo mảng cấu trúc, ví dụ for i=1:10 s(i).y=rand(); s(i).x=[i:i+2]; s(i).name=sprintf(’name %d’,i); end Biến đổi mảng cấu trúc → mảng thông thường for i=1:length(s) X(:,i)=s(i).x; end nhanh X=[s.x]; Trần Minh Toàn (SAMI-HUST) Matlab 55 / 66 Mảng tế bào (Cell Arrays) Nội dung Giới thiệu Matlab Biểu thức Matlab Biến Số Các toán tử Các hàm Vector Đa thức Ma trận Nhập ma trận Ghép nối Xóa hàng cột Một số lệnh xử lý ma trận Cấu trúc (Structures) Mảng tế bào (Cell Arrays) Vẽ đồ thị Vẽ đồ thị 2-D Vẽ đồ thị 3-D Trần Minh Toàn (SAMI-HUST) Matlab 56 / 66 Mảng tế bào (Cell Arrays) Mảng tế bào Mảng tế bào chứa kiểu liệu >> >> >> >> a=cell(3,2); a{1,1}=1; a{3,1}=’hello’; a{2,2}=randn(100,100); Hữu dụng cho việc xử lý xâu tránh việc dùng squeeze() Sử dụng mảng tế bào với kiểu liệu khác gây rắc rối số với dấu () cho ta thành phần mảng tế bào mà thân chúng tế bào số với dấu {} chuyển thành phần mảng tế bào sang dạng liệu bản, trả dạng danh sách cách dấu phẩy "," có nhiều phần tử Trần Minh Toàn (SAMI-HUST) Matlab 57 / 66 Mảng tế bào (Cell Arrays) Mảng tế bào Ví dụ >> a={[1 2],3} a = [1x2 double] [3] >> y=a{1} y = >> ycell=a(1) ycell = [1x2 double] >> x=y+1 x = >> xcell=ycell+1 ??? Undefined function or method ’plus’ for input arguments of type ’cell’ >> onetwothree=[a{1:2}] onetwothree = Trần Minh Toàn (SAMI-HUST) Matlab 58 / 66 Vẽ đồ thị Nội dung Giới thiệu Matlab Biểu thức Matlab Biến Số Các toán tử Các hàm Vector Đa thức Ma trận Nhập ma trận Ghép nối Xóa hàng cột Một số lệnh xử lý ma trận Cấu trúc (Structures) Mảng tế bào (Cell Arrays) Vẽ đồ thị Vẽ đồ thị 2-D Vẽ đồ thị 3-D Trần Minh Toàn (SAMI-HUST) Matlab 59 / 66 Vẽ đồ thị Vẽ đồ thị 2-D Vẽ đồ thị 2-D Lệnh bản: plot(x,f(x)) Trong đó, x vector chứa miền xác định hàm có biểu thức f (x) Ví dụ Vẽ đồ thị hàm số y = sin(x) với x biến thiên khoảng [0, 2π]: x = 0:pi/100: 2*pi; y = sin(x); plot(x, y); Trần Minh Toàn (SAMI-HUST) Matlab 60 / 66 Vẽ đồ thị Vẽ đồ thị 2-D Vẽ đồ thị 2-D Chú thích thêm cho đồ thị text(x, y, ’ ’) gtext(’ ’) title(’ ’) legend(’ ’,’ ’, ) xlabel(’ ’) ylabel(’ ’) \bf \it \rm hold on/off Trần Minh Toàn (SAMI-HUST) Đặt thích lên đồ thị tọa độ (x,y) Đặt thích lên đồ thị, vị trí xác định click chuột Tiêu đề đồ thị Thêm giải cho đồ thị Ghi nhãn cho trục Ox Ghi nhãn cho trục Oy Font in đậm Font in nghiêng Font chữ thường Bật/tắt chế độ cho phép vẽ nhiều đồ thị hệ trục tọa độ Matlab 61 / 66 Vẽ đồ thị Vẽ đồ thị 2-D Vẽ đồ thị 2-D Tùy chỉnh nét vẽ, dấu màu sắc Lệnh tổng quát >> plot(x,y,’color_style_marker’) Trong Các màu sắc: ’c’-cyan, ’m’-tím (magenta), ’y’-vàng (yellow), ’r’-đỏ (red), ’g’-xanh (green), ’b’-xanh nước biển (blue), ’w’-trắng (white) ’k’-đen (black) Nét vẽ: ’-’: nét liền, ’ ’: nét đứt, ’:’: chấm chấm, ’-.’: gạch chấm Dấu: ’+’, ’o’, ’*’ ’x’; ’s’: 2, ’d’: ’p’: , ’h’: ngơi cạnh Trần Minh Tồn (SAMI-HUST) , ’^’: Matlab , ’v’: , ’>’: , ’> subplot(m, n, p): tạo ma trận m hàng, n cột chứa m × n đồ thị , p vị trí đồ thị, thứ tự từ xuống Trần Minh Toàn (SAMI-HUST) Matlab 64 / 66 Vẽ đồ thị Vẽ đồ thị 3-D Vẽ đồ thị 3-D Lệnh >> plot3(x, y, z) Trong plot3, ta cần xác định vector (x, y, z) Để vẽ mặt z = f (x, y), sử dụng lệnh >> meshgrid(x,y) Ví dụ >> >> >> >> t = 0:0.02*pi:25*pi; x = sin(t); y = cos(t); z = t; plot3(x,y,z); Ví dụ Vẽ mặt z(x, y) = x2 ye−x −y với −4 ≤ x ≤ 4; −4 ≤ y ≤ [x,y]=meshgrid([-4:0.1:4]); z=x.*x.*y.*exp(-x.^ 2-y.^ 2); plot3(x,y,z) Trần Minh Toàn (SAMI-HUST) Matlab 65 / 66 Vẽ đồ thị Vẽ đồ thị 3-D Vẽ đồ thị 3-D Một số lệnh khác (đọc help!) 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 Trần Minh Toàn (SAMI-HUST) Matlab 66 / 66 ... f1(x)=3x^6+15x^ 5-1 0x^ 3-3 x^2+15x-40 % f2(x)=3x^ 3-2 x-6 >> p1=[3 15 -1 0 -3 15 -4 0]; >> p2=[0 0 -2 -6 ]; >> p=p1+p2 p = 15 -7 -3 13 % f(x)=3x^6+15x^ 5-7 x^ 3-3 x^2+13x-46 Trần Minh Toàn (SAMI-HUST) -4 6 Matlab... đồ thị Vẽ đồ thị 2-D Vẽ đồ thị 3-D Trần Minh Toàn (SAMI-HUST) Matlab / 66 Giới thiệu Matlab Matlab MatLab (MATrix LABoratory) mơi trường phần mềm (problem-solving environment - PSE) tốn học tính... Toàn (SAMI-HUST) Matlab / 66 Giới thiệu Matlab Matlab MatLab ứng dụng Tốn học tính tốn Phát triển thuật tốn Thu thập liệu Mơ hình hóa, mơ Phân tích liệu, thăm dị trực quan hóa Đồ họa khoa học

Ngày đăng: 07/05/2014, 15:14

TỪ KHÓA LIÊN QUAN

w