Hình 1.15: Ví dụ xếp chồng đồ thịc.Đồ họa vùng:Hàm area hiển thị đừng cong tại từ một vector hay từ một cột của ma trận.Nó vẽcác giá trị của một cột của ma trận thành một đường cong riên
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH
VIỆN KỸ THUẬT HUTECH
BÁO CÁO MÔN TIN HỌC KỸ THUẬT
Giáo viên hướng dẫn: Ths Phạm Nguyễn Nhựt Thanh Sinh viên thực hiện: Tạ Hoàng Quân
21DTDA1
Lớp:
TP.HCM, ngày 13 tháng 10 năm 2022
Trang 2LỜI NÓI ĐẦU
Lời đầu tiên, em xin gửi lời tri ân sâu sắc đến Thầy Phạm Nguyễn Nhựt Thanh, người đã trực tiếp giảng dạy chúng em bộ môn “ Tin học Kỹ thuật”
Trong quá trình học tập và tìm hiểu về “Phần mềm MATLAB” của bộ môn này, em đã nhận được sự giảng dạy và hướng dẫn rất tận tình, tâm huyết của Thầy Trong thời gian làm việc với thầy, em không những học hỏi được nhiều kiến thức bổ ích mà còn học được tinh thần làm việc đầy thoải mái và nhanh nhẹn Từ những kiến thức mà Thầy truyền đạt, em xin trình bày bài báo cáo của mình về những gì đã được học và tìm hiểu
về phần mềm này để gửi đến giảng viên.
Mặc dù đã rất cố gắng hoàn thiện lượng bài tập lớn với tất cả kiến thức được học và sự nỗ lực của bản thân, nhưng em chắc rằng không thể
tránh khỏi được những thiếu sót Em kính mong nhận được sự đóng góp
từ giảng viên để bài báo cáo của em được hoàn thiện hơn.
Lời nói cuối cùng, em kính chúc Giảng viên luôn dồi dào sức khỏe, hạnh phúc và thành công hơn nữa trong sự nghiệp “trồng người” để tiếp tục dìu dắt nhiều thế hệ học trò đến với những bến bờ tri thức Và em xin chân thành cảm ơn gia đình, bố mẹ, những người luôn ở bên cạnh ủng
hộ, giúp đỡ em có thời gian thực hiện bài báo cáo và hết lòng hỗ trợ em
về mặt tinh thần trong suốt thời gian thực hiện
Em xin chân thành cảm ơn!
Trang 3BÀI 1 :CƠ SỞ VỀ MATLAB 1 GIỚI THIỆU
1
MATLAB(Matrix laboratory ) là phần mềm dùng để giải các bài toán kỹ thuật, đặcbiệt là các bài toán liên quan đến ma trận.MATLAB cung cấp các toolboxes, tứccác hàm mở rộng môi trường MATLAB để giải quyết các vấn đề đặc biệt như xử
lý tín hiệu số,hệ thống điều khiển,mạng neuron,fuzzy logic,mô phỏng v.v
Cửa sổ biểu tượng của chương trình MATLAB:
Hình 1.1: Cửa sổ khởi động của Matlab
Trang 4Cửa sổ làm việc của Matlab:
Hình 1.2: Cửa sổ làm việc của Matlab
Cửa sổ lệnh Command window:
A = pi/2
B = sin(A)
B = 1
Trang 6Nhập ma trận
A = [16 3 2 13; 5 10 11 8;9 6 7 12;4 15 14 1];Thực hiên lênh:
sum (A)
Toán tử “:”
Trang 7 Tạo ma trận bằng hàm có sẵn
- Linspace: tạo một vectơ có giá trị cách đều nhau
-Zeros : tạo một ma trận phần tử bằng 0
Trang 8Ones : tạo một ma trận phần tử bằng 1
Rand: tạo ra ma trận các phân từ ngẫu nhiên phân bố đều
Trang 9Eye(n): tạo ra ma trận đơn vị
Pascal(n): tạo ra tam giác Pascal
Trang 11 Đa thức
Giá trị đa thức tại điểm
s=2
Xác định nghiệm đa thức
Trang 12Kết quả
Chương t ình đón tuổi
Trang 14Giá trị hàm lân cận giá trị -0.2
Trang 15plot(x,y,'rs','lineWidth',2,'MarkeredgeColor','k , 'MarkerfaceColor','g','MarkerSize',10)
Trang 16Kết quả:
Hình 1.5: Vẽ hai trục y Bài tập 1.3: Vẽ đường cong 3D
Nếu x,y,z là 3 vector có cùng độ dài thì plot3 sẽ vẽ đường cong 3D.
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
Kết quả:
Hình 1.3: Vẽ đồ thị 3D
Trang 17Bài 1.4: Vẽ nhiều trục tọa độ
Ta dùng hàm subplot để vẽ nhiều trục tọa độ
Kết quả:
Hình 1.4: Ví dụ dùng subplotBài 1.5 Ghi nhãn trên các trục tọa độ
MATLAB cung cấp các lệnh ghi nhãn lên độ họa gồm :
title thêm nhãn vào đồ họa
xlabel thêm nhãn vào trục x
ylabel thêm nhãn vào trục y
Trang 18zlabel thêm nhãn vào trục z
legend thêm chú giải vào đồ thị
text hiển thị chuỗi văn bản ở vị trí nhất định
gtext đặt văn bản kên đồ họa nhờ chuột
Trang 19barh hiển thị các cột của ma trận m*n như là m nhóm,mỗi nhóm có n bar nằmngang.
bar3 hiển thị các cột của ma trận m*n như là m nhóm,mỗi nhóm có n bar dạng3D
bar3h hiển thị các cột của ma trận m*n như là m nhóm,mỗi nhóm có n bar dạng
subplot (211) ;bar (a) ;
subplot (212) ;bar3 (a) ;
Kết quả:
b.Xếp chồng đồ thị:
Trang 20Ta có thể xếp chồng số liệu trên đồ thị thanh bằng cách tạo ra một trục kháctrên cùng một vị trí và như vậy ta có một trục y độc lập với bộ số liệu khác.
set (h2, 'YAxislocation', 'right', 'Color', 'none', 'XTickLabel',[])
set (h2, 'XLim', get (h1, 'XLim' ) , 'Layer', 'top') set (h2, 'YAxislocation','right', 'Color', 'none', 'XTickLabel', [])
Kết quả :
Trang 21Hình 1.15: Ví dụ xếp chồng đồ thịc.Đồ họa vùng:
Hàm area hiển thị đừng cong tại từ một vector hay từ một cột của ma trận.Nó vẽcác giá trị của một cột của ma trận thành một đường cong riêng và tô đầy vùngkhông gian gữa các đường cong và trục x
Ví dụ 1.16:
Y = [5 2 1; 6 7 3; 8 6 3; 5 5 5; 1 5 8];
area (Y);
Trang 22Kết quả:
Hình 1.16: Hiển thị đồ thị dạng vùng
d Đồ thị pie:
Đồ thị pie hiển thị theo tỉ lệ phần tram của một phần tử của một vector hay một
ma trận so với tổng các phần tử.Pie và pie3 tạo ra đồ thị 2D và 3D
Trang 23[c,offset] = max(x2); explode(offset) = 1;
subplot(221);pie(x2,explode);
subplot(222);pie3(x2,explode);
Kết quả:
Hình 1.17: Đồ thị pie dạng 2D và 3DBài 1.4: Đồ họa 3D
Trang 24vector x và y thành ma trận x và y Sau đó ta dung ma trận này để đánh giáhàm.
Câu 1 Cho ma trận A = [2 4 1; 6 7 2; 3 5 9], các lệnh cần thiết để:
a Lấy dòng đầu tiên của ma trận A
b Tạo ma trận B bằng 2 dòng cuối cùng của A
c Tính tổng các phần tử trên các cột của A (gợi ý: tính tổng các phần tử trêncột 1:
Trang 2765Giải thích:
e : >> A(:)
ans =
Trang 33VÍ DỤ TẠO GUI
Đối tượng
Buttốn
Thống sốString: CốnvertTag: pushbuttốnCốnvert
Kelvin Value: 1.0, 0.0, 0.0Tag: radiốbuttốnC,
Static text
Static text
radiốbuttốn, radiốbuttốnkString: Fahrenheit degree
String: Celcius degreeTag: text2
Slider
Max: 9032Min: -459.4SliderStep: [0.001 0.1]Tag: SliderDốF
Value: 32Edit text
Tag: editDốFString: 0Tag: editkQ
Trang 34% - Executes on button press in pushbuttonConvert.
function pushbuttonConvert_Callback (hobject, eventdata, handles)
%
%
%
hobject handle to pushbuttonConvert (see GCBO)
eventdata reserved - to be defined in a future version of MATLABhandles structure with handles and user data (see GUIDATA)doF = str2num(get (handles.editDoF, 'String' ));
if get (handles radiobuttonC, 'Value') == 1
% Chuyen oC
set (handles.editKI, 'String',num2str ( (doF-32) *5/9));
elseif get (handles radiobutton, 'Value') == 1
set (handles.editkQ, 'String', (doF-32) *5/9+273.15);
% -Executes on button press in radiobuttonC
function radiobuttonC_Callback (hobject, eventdata, handles)
%
%
%
%
Trang 35structure with handles and user data (see GUIDATA)
Hint: get (hObject, 'Value') returns toggle state of radiobuttonk set (handles
%
radiobuttonR, 'Value', 0);
Set (handles radiobuttonC, 'Value', 0);
set (handles text2, 'String', 'Kelvin degree');
- Executes on slider movement.so
function sliderDoF_Callback (hob ject, eventdata, handles) & hobject handle tosliderDoF (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB %handlesstructure with handles and user data (see GUIDATA)
%
%
Hints: get (hObject, 'Value') returns position of slider)
get (hobject, 'Min' ) and get (hObject, 'Max') to determine range of slider set(handles editDoF, 'String', get (handles.sliderDoF, 'Value'));
UNTITLED MATLAB code for untitled.fig
UNTITLED, by itself, creates a new UNTITLED or raises the existingsingleton*
H = UNTITLED returns the handle to a new UNTITLED or the handle tothe existing singleton*
UNTITLED('CALLBACK',hObject,eventData,handles, ) calls the localfunction named CALLBACK in UNTITLED.M with the given inputarguments
Trang 36%
Last Modified by GUIDE v2.5 24-Sep-2022 10:04:10
Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename,
'''''
% End initialization code - DO NOT EDIT
% - Executes just before untitled is made visible
function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
This function has no output args, see OutputFcn
hObject handle to figure
eventdata reserved - to be defined in a future version of MATLABhandles structure with handles and user data (see GUIDATA)varargin command line arguments to untitled (see VARARGIN)
%
Trang 37%
%
%
varargout cell array for returning output args (see VARARGOUT);
hObject handle to figure
eventdata reserved - to be defined in a future version of MATLAB
handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
hObject handle to editAmp (see GCBO)
eventdata reserved - to be defined in a future version of MATLAB
handles structure with handles and user data (see GUIDATA)
%
%
Hints: get(hObject,'String') returns contents of editAmp as text
str2double(get(hObject,'String')) returns contents of editAmp as a double
% - Executes during object creation, after setting all properties
function editAmp_CreateFcn(hObject, eventdata, handles)
%
%
%
hObject handle to editAmp (see GCBO)
eventdata reserved - to be defined in a future version of MATLAB
handles empty - handles not created until after all CreateFcns called
%
%
Hint: edit controls usually have a white background on Windows
See ISPC and COMPUTER
if ispc && isequal(get(hObject,'BackgroundColor'),
Trang 38%
eventdata reserved - to be defined in a future version of MATLAB
handles empty - handles not created until after all CreateFcns called
%
%
Hint: edit controls usually have a white background on Windows
See ISPC and COMPUTER
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% - Executes on selection change in popupmenuFunc
function popupmenuFunc_Callback(hObject, eventdata, handles)
%
%
%
hObject handle to popupmenuFunc (see GCBO)
eventdata reserved - to be defined in a future version of MATLAB
handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenuFunc contents
hObject handle to popupmenuFunc (see GCBO)
eventdata reserved - to be defined in a future version of MATLAB
handles empty - handles not created until after all CreateFcns called
Hint: popupmenu controls usually have a white background on Windows.See ISPC and COMPUTER
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
Trang 41Bài 3: SYMBOLIC3.1 ĐẠO HÀM VÀ VI PHÂN
Dùng hàm diff để xác định đạo hàm của một hàm số
finverse (x^2) %Warning do có 2 kết quả khác nhau
Warning: finverse(x^2) is not unique
ans =
(x^1/2)
3.4 VẼ ĐỒ THỊ
syms X
Trang 42ezsurf('x*exp(-x^2-y^2)')
Trang 433.6 GIẢI PHƯƠNG TRÌNH VÀ HỆ PHƯƠNG TRÌNH Giải phương trình bậc n:
Trang 44Giải hệ phương trình
Trang 46Giải phương trình lượng giác
Trang 47Giải phương trình vi phân
Giải phương trình vi phân có điều kiện đầu
Trang 48Giải hệ phương trình vi phân
Trang 493.7 TÌM GIỚI HẠN
Tính và vẽ đạo hàm y= sinx3
Trang 50-Câu 3
Câu 4:
Trang 51Câu 5:
syms x
y=diff((1-x)*exp((x^2)+2*x),2)
CÂU HỎI ÔN TẬP:
Câu 1 Tính và vẽ đạo hàm của hàm số y = sinx3
Trang 53BÀI 4: SIMULINK4.1 Mô hình hóa một chương trình:
Trang 54Hình 4.1: Mô hình hệ thống chuyển đổi độ C sang độ F
Bài 4.2 Mô hình hóa hệ phương trình tuyến tính
Trang 55Hình 4.2: Mô hình hệ thống giải hệ phương trìnhBài 4.3 Giải phương trình bậc cao :
Xét phương trình: x2 + 3x + 1 = 0
Sơ đồ mô phỏng:
Trang 56Hình 4.3: Mô hình hệ thống giải phương trình bậc 3 Bài 4.4 Mô hình hóa hệ thống liên tục đơn giản
Phương trình vi phân : x′(t) = −2x(t) + u(t) với u(t) là một sóng hình chữ nhật có biên độ bằng 1 và tần số 1rad/s.
Sơ đồ mô phỏng:
Trang 57Hình 4.4: Mô hình hệ thống giải phương trình vi phân bậc 1
Trang 58Bài 4.5:Mô hình hóa hệ phương trình vi phân bậc cao
Xét hệ mô tả bởi phương trình vi phân bậc hai sau: x’’(t)+ 3x’(t)
+2x(t)=4u(t)
Sơ đồ mô phỏng :
Hình 4.5:Mô hình hệ thống giải phương trình vi phân bậc 2 với điều kiện
đầu = 0 Bài 4.6: Mô hình hóa hệ phương trình vi phân bậc cao
Xét hệ mô tả bởi phương trình vi phân bậc hai sau:
x’’(t)+3x’(t)+2x(t)=4u(t)
Trang 60Hình 4.7: Mô hình hệ thống trên Simulink Bài 4.8: Mô hình hóa hệ phi tuyến
Sơ đồ mô phỏng:
Trang 61Hình 4.8:Mô hình hệ thống giải phương trình vi phân Val der Pol Bài 4.7 Mô hình hệ thống giải phương trình vi phân Val der POl
Trang 62Câu hỏi ôn tập
Bài 1
Bài 2:
Trang 63Bài 3: