1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

TH Tin học kỹ thuật matlab

38 420 9

Đ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 38
Dung lượng 1,4 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC CÔNG NGHỆ TP.HCM THỰC HÀNH TIN HỌC KỸ THUẬT Biên soạn: ThS Phạm Hùng Kim Khánh www.hutech.edu.vn THỰC HÀNH TIN HỌC KỸ THUẬT Ấn 2019 MỤC LỤC I MỤC LỤC MỤC LỤC HƯỚNG DẪN BÀI 1: CƠ SỞ VỀ MATLAB 1.1 MA TRẬN 1.2 VECTOR 1.3 ĐA THỨC 1.4 ĐỒ HOẠ 1.5 SCRIPT - FUNCTION 14 BÀI 2: GUI (GRAPHICAL USER INTERFACE) 19 BÀI 3: SIMULINK 24 BÀI 4: SYMBOLIC 24 TÀI LIỆU THAM KHẢO 35 II HƯỚNG DẪN HƯỚNG DẪN MÔ TẢ MÔN HỌC Thực hành tin học kỹ thuật môn học hỗ trợ cho môn Tin học kỹ thuật Môn học dựa MATLAB để hỗ trợ cho môn học kỹ thuật NỘI DUNG MÔN HỌC − Bài Cơ sở MATLAB − Bài 2: GUI − Bài 3: Simulink − Bài 4: Symbolic KIẾN THỨC TIỀN ĐỀ Môn học Thực hành tin học kỹ thuật địi hỏi sinh viên có tảng Tin học kỹ thuật YÊU CẦU MÔN HỌC Người học phải dự học đầy đủ buổi lên lớp làm tập đầy đủ CÁCH TIẾP NHẬN NỘI DUNG MƠN HỌC Để học tốt mơn này, người học cần thực hành theo hướng dẫn, làm tập; đọc trước tìm thêm thơng tin liên quan đến học PHƯƠNG PHÁP ĐÁNH GIÁ MÔN HỌC Môn học đánh giá gồm: − Điểm trình: 50% Hình thức nội dung giảng viên định, phù hợp với quy chế đào tạo tình hình thực tế nơi tổ chức học tập − Điểm thi: 50% Hình thức thi máy tính 90 phút BÀI 1: CƠ SỞ VỀ MATLAB BÀI 1: CƠ SỞ VỀ MATLAB Sau học xong này, người học có thể: − Sử dụng phần mềm MATLAB − Thực tạo script file hay function lưu trữ MATLAB − Biết công cụ MATLAB MATLAB (Matrix laboratory) phần mềm dùng để giải toán kỹ thuật, đặc biệt toán liên quan đến ma trận MATLAB cung cấp toolboxes, tức hàm mở rộng môi trường MATLAB để giải vấn đề đặc biệt xử lý tín hiệu số, hệ thống điều khiển, mạng neuron, fuzzy logic, mô v.v Cửa sổ biểu tượng chương trình MATLAB: BÀI 1: CƠ SỞ VỀ MATLAB Cửa sổ làm việc MATLAB: Thư mục hành Workspace: Danh sách file biến nhớ có thư mục hành • Cửa sổ lệnh Nút Start: chứa Các lệnh toolbox thực Cửa sổ lệnh (Command window): Là cửa sổ giao tiếp MATLAB nơi nhập giá trị biến, hiển thị giá trị, tính tốn giá trị biểu thức, thực thi hàm có sẵn thư viện hàm người dùng lập trình M-files Các lệnh nhập sau dấu nhắc ‘>>‘ thực thi lệnh phím Enter Để mở chương trình soạn thảo MATLAB, gõ lệnh: >>edit BÀI 1: CƠ SỞ VỀ MATLAB Sau nhập vào đoạn chương trình lưu chương trình cách nhấn Ctrl+S hay nhấn vào biểu tượng Save • Cửa sổ Command History: Các dòng nhập Command window (các dòng dịng nhập biến, dịng lệnh) giữ lại cửa sổ Command History cửa sổ cho phép ta sử dụng lại lệnh cách nhấp đúp chuột lên lệnh hay biến • Cửa sổ Workspace: Là cửa sổ thể tên biến bạn sử dụng với kích thước vùng nhớ (số bytes), kiểu liệu (lớp), biến giải phóng sau lần tắt chương trình Cửa sổ Workspace cho phép thay đổi giá trị biến cách nhấn phím chuột phải lên biến chọn Edit • Nút Start: • Cửa sổ Edit: Là cửa sổ dùng để soạn thảo chương trình ứng dụng, khởi động lệnh edit Command Window Chương trình soạn thảo cửa sổ edit có dạng: + Dạng Script file : tập hợp câu lệnh viết dạng liệt kê, khơng có biến liệu vào biến + Dạng function: có biến liệu vào biến BÀI 1: CƠ SỞ VỀ MATLAB 1.1 MA TRẬN Bài 1.1 Cho ma trận A = [2 7; 6; 5], sinh viên giải thích kết lệnh sau: a A' b A(:,[1 4]) c A([2 3],[3 1]) d reshape(A,2,6) e A(:) f [A;A(end,:)] g A(1:3,:) h [A ; A(1:2,:)] i sum(A) j sum(A') k [ [ A ; sum(A) ] [ sum(A,2) ; sum(A(:)) ] ] Bài 1.2 Cho ma trận A = [2 1; 2; 9], sinh viên dùng lệnh cần thiết để: a Lấy dòng ma trận A b Tạo ma trận B dòng cuối A c Tính tổng phần tử cột A (gợi ý: tính tổng phần tử cột 1: sum(A(:,1))) d Tính tổng phần tử dịng A Bài 1.3 Giải hệ phương trình sau: 2x1 + 4x2 + 6x3 – 2x4 = x1 + 2x2 + x3 + 2x4 = 2x2 + 4x3 + 2x4 = 3x1 - x2 + 10x4 = 10 Gợi ý: A.X = B → X = inv(A).B Bài 1.4 Chứng tỏ (A+B)C=AC+BC, với: BÀI 1: CƠ SỞ VỀ MATLAB 1.2 VECTOR Vector thực chất ma trận có kích thước n x hay x n, nên ta tạo vector cách tạo ma trận Ngồi ra, dùng số cách sau: >>x=0:0.1:1 >>y=linspace(1, 10, 20) % vector 20 phan tu cach deu tu den 10 >>z=rand(10,1) ; tạo 10 số ngẫu nhiên phân bố Bài 1.5 Cho vector x = [3 6], giải thích kết lệnh sau: a x(3) b x(1:7) c x(1:end) d x(1:end-1) e x(6:-2:1) f x([1 1]) g sum(x) Bài 1.6 Tạo vector x có 100 phần tử, cho: x(n) = (-1)n+1/(2n+1) với n = – 99 1.3 ĐA THỨC Các đa thức MATLAB mô tả vector hàng với phần tử vector hệ số đa thức, xếp theo thứ tự số mũ giảm dần Ví dụ, đa thức m = s4-s3+4s2-5s-1 biểu diễn là: >>m=[1 -1 -5 -1] Để xác định giá trị đa thức, ta dùng hàm polyval Ví dụ, xác định giá trị đa thức điểm s=2: BÀI 2: GUI (GRAPHICAL USER INTERFACE) Đối tượng Thông số Slider Max: 9032 Min: -459.4 SliderStep: [0.001 0.1] Tag: SliderDoF Edit text String: 32 Tag: editDoF Edit text String: Tag: editKQ Nhấn Save để lưu giao diện, cửa sổ Editor cho giao diện mở Mã lệnh cho đối tượng: function pushbuttonConvert_Callback(hObject, eventdata, handles) doF = str2num(get(handles.editDoF,'String')); if get(handles.radiobuttonC,'Value') == set(handles.editKQ,'String',num2str((doF-32)*5/9)); elseif get(handles.radiobuttonR,'Value') == set(handles.editKQ,'String',doF+459.7); else set(handles.editKQ,'String',(doF-32)*5/9+273.15); end function radiobuttonC_Callback(hObject, eventdata, handles) set(handles.radiobuttonK,'Value',0); set(handles.radiobuttonR,'Value',0); set(handles.text2,'String','Celcius degree'); function radiobuttonR_Callback(hObject, eventdata, handles) set(handles.radiobuttonC,'Value',0); set(handles.radiobuttonK,'Value',0); set(handles.text2,'String','Rankine degree'); function radiobuttonK_Callback(hObject, eventdata, handles) set(handles.radiobuttonR,'Value',0); 21 22 BÀI 2: GUI (GRAPHICAL USER INTERFACE) set(handles.radiobuttonC,'Value',0); set(handles.text2,'String','Kelvin degree'); Kiểm tra kết Bài 2.2 Thiết kế cửa sổ hình vẽ: Viết chương trình theo yêu cầu: nhấn nút Draw, vẽ hình y = xn chọn chế độ vẽ 2D vẽ hình z = xn + yn chọn chế độ vẽ 3D (giá trị n chấp nhận  n  10) Bài 2.3 Thiết kế cửa sổ hình vẽ: BÀI 2: GUI (GRAPHICAL USER INTERFACE) 23 Viết chương trình theo yêu cầu: Khi nhấn nút Ve, vẽ đồ thị hàm số tuỳ theo hàm số chọn: - Chọn sin: vẽ hàm số y = Biên độ*sin(x) - Chọn sinc: vẽ hàm số y = Biên độ*sinc(x) - Chọn sa: vẽ hàm số y = Biên độ*sin(x)/x - Chọn sa^2: vẽ hàm số y = Biên độ*(sin(x)/x)2 Giá trị biên độ cho phép thoả mãn: 0.1  biên độ  Bài 2.4 Thiết kế cửa sổ hình vẽ: Bài 2.5 Thiết kế cửa sổ thực cho 1.31 24 BÀI 3: SYMBOLIC BÀI 3: SYMBOLIC Sau học xong này, người học có thể: − Sử dụng Symbolic Toolbox để tính tốn tích phân, đạo hàm, giới hạn Bài 3.1 Dùng hàm diff để xác định đạo hàm hàm số >>syms x >> y=diff(cos(x)) >>diff('x^3+3*x^2+2*x-1',2) >>y = diff('x/(1+x^3)') >> simplify(y) >> syms m >> z = 2*sin(x) + m^2*cos(x) >> diff(z,m,2) >> diff(z,x,3) Bài 3.2 Tính đạo hàm cấp hàm số sau: 𝑦 = (1 − 𝑥 )𝑒 𝑥 Bài 3.3 Dùng hàm int để tính tích phân >> y = int(1/(1+x^2)) >>y = int(log(x)/exp(x^2)) >> y = int(x*log(1+x),0,1) >> y = int(x^3*atan(x),0,pi/4) >> eval(y) >> y=int(exp(x)*atan(x^2)/cos(x),0,1) >> y=inline('(exp(x).*atan(x.^2)./cos(x)’) >> quad(y,0,1) 𝑥 (2𝑥 +1) Bài 3.4 Tính tích phân: 𝑦 = ∫−1 5(𝑥 +3) 𝑑𝑥 +2𝑥 BÀI 3: SYMBOLIC 25 Bài 3.5 Dùng hàm finverse để tìm hàm ngược >> finverse(1/x) >> finverse(a*x+b) >> finverse(x^2) Bài 3.6 Vẽ đồ thị >> subplot(211) >> ezplot(sin(x)/x) >> subplot(212) >> ezplot(sin(x)/x,[0,4*pi]) >>clear x y >>syms x y >> ezsurf(x*exp(-x^2 - y^2)) Bài 3.7 Tính vẽ đạo hàm hàm số y = sinx3 Bài 3.8 Vẽ mặt có phương trình sau: 𝑓 (𝑥, 𝑦) = 2𝑥 𝑥 + 𝑦2 Bài 3.9 Dùng hàm solve giải phương trình hệ phương trình >>y=solve(x^3+1==0) >> eval(y) >> y=solve(x^3+2*x^2+1==0) >> y=vpa(y) >> eval(y) >> syms x1 x2 x3 >> [y1,y2,y3]=solve(2*x1+3*x2-2*x3==1,x1-x2+3*x3==2,x2-2*x3==4) >> [y1,y2,y3]=solve(2*x1+3*x2-2*x3==1,x1-x2+3*x3==2,x2^2-2*x3==4) >> eval([y1 y2 y3]) Bài 3.10 Giải phương trình: 𝑒 𝑥 = 𝑥 Bài 3.11 Giải hệ phương trình: { 𝑥 𝑠𝑖𝑛𝑥 − 𝑦 = 𝑥−𝑦 =2 26 BÀI 3: SYMBOLIC Bài 3.12 Dùng hàm dsolve giải phương trình hệ phương trình vi phân >> y=dsolve('Dy=y*tan(x)+cos(x)',x) >> y = simplify(y) >> pretty(y) >> y=dsolve('Dy=1+y^2','y(0)=1','x') >> y=dsolve('D2y=cos(2*x)-y','Dy(0)=1','y(0)=1','x') >> y=simplify(y) >> pretty(y) >>[f,s] = dsolve ('Dz=3*z+4*y', 'Dy=-4*z+3*y' , 'z(0)=0','y(0)=1','x') Bài 3.13 Giải phương trình y’’ + 3y’ - 4y = e-4x +xe-x Bài 3.14 Giải phương trình y’’ - 3y’ + 2y = 3x +5sin2x với điều kiện đầu y(0) = y’(0) = Bài 3.15 Giải hệ phương trình: với ngõ vào V hàm bước (hàm heaviside(x)) Bài 3.16 Giải phương trình với ngõ vào F(t) hàm bước Bài 3.17 Giải hệ phương trình: { 𝑚1 𝑥1′′ = −𝑏1 (𝑥1′ − 𝑥2′ ) − 𝐾1 (𝑥1 − 𝑥2 ) + 𝑢 𝑚2 𝑥2′′ = 𝑏1 (𝑥1′ − 𝑥2′ ) + 𝐾1 (𝑥1 − 𝑥2 ) + 𝑏2 (𝑤 ′ − 𝑥2′ ) + 𝐾2 (𝑤 − 𝑥2 ) − 𝑢 với ngõ vào u hàm bước BÀI 4: SIMULINK 27 BÀI 4: SIMULINK Sau học xong này, người học có thể: − Sử dụng Simulink − Dùng Simulink để mơ hình hóa hệ thống Bài 4.1 Mơ tín hiệu AM: 𝑉𝐴𝑀 (𝑡) = 𝑉Ω 𝑐𝑜𝑠Ω𝑡𝑐𝑜𝑠𝜔0 𝑡 Khởi động Simulink cách gõ lệnh Simulink từ Command Window hay chọn Simulink Library Chọn New để tạo mơ hình 28 BÀI 4: SIMULINK Kéo thả khối Signal Generator (trong thư viện Simulink > Sources) vào cửa sổ thiết kế Thêm khối nối liên kết hình BÀI 4: SIMULINK Double-click vào khối Signal Generator chọn thông số biên độ, tần số 29 30 BÀI 4: SIMULINK Khối Sine Wave: BÀI 4: SIMULINK Khối Power Spectral Density Vào menu Simulation > Model Configuration Parameters 31 32 BÀI 4: SIMULINK Chọn thơng số hình: Nhấn Run chạy mơ Bài 4.2 Mơ tín hiệu AM: 𝑉𝐴𝑀 (𝑡) = (𝑉0 + 𝑉𝛺 𝑐𝑜𝑠𝛺𝑡)𝑐𝑜𝑠𝜔0 𝑡 - Khối Sine Wave: Amplitude = - Khối Constant: Constant Value = 𝑧 + 𝑧2 = Bài 4.3 Giải hệ phương trình: { −𝑧1 + 𝑧2 = Bài 4.4 Giải phương trình: x2 + 3x + = Bài 4.5 Giải phương trình: x′(t) = −2x(t) + u(t) Bài 4.6 Mô hệ thống v' = (u – bv)/m f m u BÀI 4: SIMULINK Bài 4.7 Mô hệ thống điều khiển tốc độ động DC 33 34 BÀI 4: SIMULINK Bài 4.8 Mô hệ thống sau: Bài 4.9 Mô hệ thống sau: { 𝑚1 𝑥1′′ = −𝑏1 (𝑥1′ − 𝑥2′ ) − 𝐾1 (𝑥1 − 𝑥2 ) + 𝑢 𝑚2 𝑥2′′ = 𝑏1 (𝑥1′ − 𝑥2′ ) + 𝐾1 (𝑥1 − 𝑥2 ) + 𝑏2 (𝑤 ′ − 𝑥2′ ) + 𝐾2 (𝑤 − 𝑥2 ) − 𝑢 Trong đó: m1 = 2500 (trọng lượng thân) m2 = 320 (trọng lượng giảm xóc) K1 = 80000 (hệ số lị xo giảm xóc) K2 = 500000 (hệ số bánh xe) b1 = 350 (hệ số chống rung hệ thống giảm xóc) b2 = 15000 (hệ số chống rung bánh xe) w: ngõ vào (ảnh hưởng mặt đường) u: ngõ vào (lực điều khiển) x1, x2: ngõ (vị trí xe) TÀI LIỆU THAM KHẢO Phạm Hùng Kim Khánh Tin học kỹ thuật ĐH Công nghệ TPHCM Sanjit K Mitra Digital Signal Processing Laboratory using MatLab Academic and Research Computing Text formatting with LaTex 2007 The Mathworks Inc R2018b Documentation

Ngày đăng: 24/10/2020, 10:41

TỪ KHÓA LIÊN QUAN

w