Bài giảng chương 1 trình bày những nội dung chính sau: Giới thiệu matlab, tổng quan về lập trình matlab, cách sử dụng biến trong matlab, các lệnh và các hàm cơ bản, cách thao tác v cách thao tác với ma trận, vẽ đồ thị trong matlab, làm việc với hàm và m-file, lập trình gui.
Xử lý tín hiệu nâng cao -Advanced signal processingChương Tổng quan công cụ MATLAB Tài liệu tham khảo Xử lý tín hiệu nâng cao - Nguyễn Quốc Trung Digital signal processing using MATLAB - Viney K.Ingle & John G.Proakis Digital Signal and Image Processing Using MATLAB Gerard Blanchet & Maurice Charbit Digital image processing using MATLAB - Gonzalez Woods & Eddins Xử lý số tín hiệu - Hồ Văn Sung Nội dung Giới thiệu Matlab Tổng quan lập trình Matlab Cách sử dụng biến Matlab Các lệnh hàm Cách thao tác với ma trận Vẽ đồ thị Matlab Làm việc với hàm m-file Lập trình GUI Giới thiệu Matlab Matlab viết tắt từ ‘MATrix LABoratory’ Matlab phát triển MathWorks Là ngôn ngữ lập trình thơng dịch Hỗ trợ lập trình hướng đối tượng Ứng dụng rộng rãi Có khả liên kết với nhiều ngơn ngữ lập trình khác Lịch sử phát triển Cuối thập niên 1970, Matlab Cleve Moler phát minh Đại học New Mexico Matlab nguyên sơ viết ngôn ngữ Fortran đến 1980 Matlab phận dùng nội Đại học Stanford Năm 1983, Jack Little, người học MIT Stanford, viết lại MATLAB ngôn ngữ C, xây dựng thêm thư viện phục vụ cho thiết kế hệ thống điều khiển, hệ thống hộp công cụ (tool box), mô MATLAB trở thành mơ hình ngơn ngữ lập trình sở ma trận (matrix-based programming language) Lịch sử phát triển Năm 1984: Phiên MATLAB 1.0 viết C cho MS-DOS PC Năm 1986, MATLAB đời hỗ trợ UNIX Năm 1987, MATLAB phát hành Năm 1990 Simulink 1.0 phát hành gói chung với MATLAB Lịch sử phát triển Năm 1992 MATLAB thêm vào hỗ trợ 2-D 3-D đồ họa màu ma trận truy tìm Năm cho phát hành phiên MATLAB Student Edition (MATLAB ấn cho học sinh) Năm 1993 MATLAB cho MS Windows đời Đồng thời cơng ty có trang web www.mathworks.com Năm 1995 MATLAB cho Linux đời Trình dịch MATLAB có khả chuyển dịch từ ngơn ngữ MATLAB sang ngôn ngữ C phát hành dịp Lịch sử phát triển Năm 1996 MATLAB bao gồm thêm kiểu liệu, sửa lỗi tạo dựng GUI Năm 2000 MATLAB cho đổi môi trường làm việc MATLAB, thêm LAPACK FFTW (Fastest Fourier Transform in the West - "biến đổi Fourier nhanh phương Tây") Năm 2002 MATLAB 6.5 phát hành cải thiện tốc độ tính tốn, sử dụng phương pháp dịch JIT (Just in Time) tái hỗ trợ MAC Năm 2004 MATLAB phát hành, có khả xác đơn kiểu ngun, hỗ trợ hàm lồng nhau, cơng cụ vẽ điểm, có mơi trường phân tích số liệu tương tác Lịch sử phát triển 12/2008, MATLAB 7.7 phát hành với SP3 cải thiện Simulink với 75 sản phẩm khác Năm 2009 cho đời MATLAB 7.8 (R2009a) MATLAB 7.9 (R2009b) Năm 2010 cho đời MATLAB 7.10 (R2010a) MATLAB 7.11 (R2010b) Năm 2012 cho đời MATLAB 7.12 (R2012a) MATLAB 7.13 (R2012b) Hệ thống Matlab Gồm có phần chính: Ngơn ngữ Matlab Môi trường làm việc Matlab Xử lý đồ hoạ Thư viện tốn học Matlab Giao diện chương trình ứng dụng Matlab API (Application Program Interface) Viết chương trình Matlab Ví dụ tốn vẽ độ thị trên, ta tạo file dothi3D.m với nội dung: function dothi3D [X,Y] = meshgrid(-8:.5:8); R = sqrt(X.^2 + Y.^2) + eps; Z = sin(R)./R; mesh(X,Y,Z) Khi đó, để thực nhóm câu lệnh file trên, dấu nhắc cửa sổ lệnh, việc gõ dothi3D Thực hành Nhập vào số, kiểm tra xem số có phải cạnh tam giác hay không Nhập số a,b,c từ bàn phím, giải phương trình, sau giải phương trình ax2+bx+c=0 Nhập vào số từ bàn phím, kiểm tra xem số có phải số nguyên tố hay không Matlab GUI Matlab GUI là giao diện hình ảnh chương trình Bao gồm nút bấm, trượt, cửa sổ, menu v.v Được sử dụng để cung cấp cho người dùng môi trường làm việc đơn giản thân thiện Matlab GUI Matlab GUI Khi Matlab tạo file mới: File có phần mở rộng fig chứa nội dung giao diện File có phần mở rộng m chứa mã nguồn Matlab GUI Các thuộc tính Hàm Callback Mọi điều khiển Matlab có hàm Callback, Hàm Callback điều khiển gọi phụ thuộc vào điều khiển khác Trong hàm Callback có thuộc tính quan trọng hObject : handle điều khiển control handles : cấu trúc chứa tất điều khiển liệu người dùng Dùng để truy xuất điều khiển khác Đọc & thiết lập giá trị Đọc liệu Get(handle, ‘property’) Thiết lập giá trị Set(handle, ‘property’,value) Edit text & Static text Ví dụ x=get(handles.edit1,'string'); y=get(handles.edit2,'string'); z=str2num(x)+str2num(y); set(handles.text1,'string',num2str(z)); Điều khiển Toggle Nút bấm trạng thái: button_state = get(hObject,'Value'); if button_state == get(hObject,'Max') grid on; elseif button_state == get(hObject,'Min') grid off; end List box & Axes Ví dụ axes(handles.axes1); x = get(handles.popupmenu1, 'Value'); switch x case plot(rand(5)); case plot(sin(1:0.01:25)); case bar(1:10); end Slider bar Các thuộc tính cần quan tâm: Min, max Slider Step Ví dụ axes(handles.axes2); k= get(hObject,'Value'); set(handles.edit1,'String',k) n=1:k; x=rand(1,k); stem(n,x); Run & Debug Bấm nút Play công cụ F5 cửa sổ lập trình để chạy chương trình Trong trường hợp muốn debug chương trình Đặt breakpoint phím F12, Trong trình Debug, chuyển sang lệnh sử dụng phím F10 Khi chạy chương trình, in giá trị biến lệnh msgbox, ví dụ: msgbox(x,'Thong bao'); Thực hành Viết chương trình thực cơng việc giống công cụ calculator Windows 2/1: Thanh, thắng, Hà, Liên, Đơng, Hương, Vi Nam, Long, Kiên, Hồng Dương, Hồng Nam, Tuấn (14) 16/1: Hạnh, hà, Tuấn, Hoàng Dương, T.Hoàng Nam, Hương (6) Muộn: Chương, Tùng, Liên, Linh, Đông Phép: Thắng, Thanh, Phong ... Digital image processing using MATLAB - Gonzalez Woods & Eddins Xử lý số tín hiệu - Hồ Văn Sung Nội dung Giới thiệu Matlab Tổng quan lập trình Matlab Cách sử dụng biến Matlab Các lệnh hàm Cách thao...Tài liệu tham khảo Xử lý tín hiệu nâng cao - Nguyễn Quốc Trung Digital signal processing using MATLAB - Viney K.Ingle & John G.Proakis Digital Signal and Image Processing Using MATLAB Gerard Blanchet... liệu công cụ phát triển, quản lý, gỡ rối định hình M-file, ứng dụng Matlab Hệ thống Matlab Xử lý đồ hoạ: hệ thống đồ hoạ Matlab Bao gồm lệnh cao cấp cho trực quan hoá liệu hai chiều ba chiều, xử