1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO cáo môn TIN học kỹ THUẬT tìm hiểu về phần mềm MATLAB bài 1 cơ sở về MATLAB

63 4 0

Đ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

Tiêu đề Báo cáo môn Tin học kỹ thuật: Cơ sở về MATLAB
Tác giả Tạ Hoàng Quân
Người hướng dẫn Ths. Phạm Nguyễn Nhựt Thanh
Trường học Viện Kỹ Thuật HUTECH (Trường Đại học Công Nghệ TP Hồ Chí Minh)
Chuyên ngành Tin học kỹ thuật
Thể loại Báo cáo môn học
Năm xuất bản 2022
Thành phố TP Hồ Chí Minh
Định dạng
Số trang 63
Dung lượng 2,3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

% --- Executes on button press in pushbuttonConvert.function pushbuttonConvert_Callback hobject, eventdata, handles % hobject handle to pushbuttonConvert see GCBO % eventdata reserved -

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH

VIỆN KỸ THUẬT HUTECH

TP.HCM, ngày 13 tháng 10 năm 2022

Trang 2

LỜ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 3

BÀI 1 :CƠ SỞ VỀ MATLAB 1.1 GIỚI THIỆU

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ức cá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 4

Cử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 6

Nhậ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:

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 8

Ones : 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 9

Eye(n): tạo ra ma trận đơn vị

Pascal(n): tạo ra tam giác Pascal

Trang 11

Chương trình đoán tuổi

Trang 12

Chương trình đón tuổi

Kết quả

Trang 14

x = -pi: pi/10: pi; y = tan(sin(x)) sin(tan(x));

Giá trị hàm lân cận giá trị -0.2

Trang 15

plot(x,y,'rs','lineWidth',2,'MarkeredgeColor','k ', 'MarkerfaceColor','g','MarkerSize',10)

Trang 16

Kế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 17

Bài 1.4: Vẽ nhiều trục tọa độ

Ta dùng hàm subplot để vẽ nhiều trục tọa độ

x=linspace(0,2*pi);

y1=sin(x);y2=cos(x);y3=2*exp(-x).*sin(x);

x1=linspace(-2*pi,2*pi); y4=sinc(x1);

pver \pi x}$$','interpreter','later')

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 18

zlabel 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 19

barh 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ằm ngang.

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ạng 3D

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 3D nằm ngang

Mặc định,mỗi phần tử của ma trận được biểu diễn bằng một bar

Ví dụ 1.14:

Nhập đoạn chương trình :

a=[5 2 1;6 7 3;8 6 3;5 5 5;1 5 8];

subplot (211) ;bar (a) ;

subplot (212) ;bar3 (a) ;

Kết quả:

b.Xếp chồng đồ thị:

Trang 20

Ta 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ác trê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 21

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êng và tô đầy vùng khô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 22

Kế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 24

vector 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ên cột 1:

Trang 32

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

x 0

Trang 33

radiốbuttốn, radiốbuttốnkString: Fahrenheit degreeString: Celcius degreeTag: text2

Max: 9032Min: -459.4SliderStep: [0.001 0.1]Tag: SliderDốF

Value: 32String: 32Tag: 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 MATLAB

% handles 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)

% hobject handle to radiobuttonC (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hint: get (hObject, 'Value') returns toggle state of radiobuttonC set (handles radiobuttonk, 'Value", 0);

Let (handles radiobuttonR, 'Value", 0);

set (handles text2, 'String', 'Celcius degree');

I- Executes on button press in radiobuttonR

function radiobutton_Callback (hobject, eventdata, handles)

% hobject handle to radiobutton (see GCBO)

eventdata reserved - to be defined in a future version of MATLAB & handles structure with handles and user data (see GUIDATA)

% Hint: get (hObject, 'Value') returns toggle state of radiobutton set (handles radiobuttonC, 'Value', 0);

set (handles radiobuttonK, 'Value', 0);

set (handles text2, 'String', 'Rankine degree');

% - Executes on button press in radiobuttonK

function radiobuttonK Callback (hObject, eventdata, handles)

% hobject

handle to radiobuttonK (see GCBO)

% eventdata reserved - to be defined in a future version of MATIAB

% handles

Trang 35

structure 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 to sliderDoF (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, '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'));

Bài tập ôn tập:

function varargout = untitled(varargin)

% UNTITLED MATLAB code for untitled.fig

% UNTITLED, by itself, creates a new UNTITLED or raises the existing

% singleton*

%

% H = UNTITLED returns the handle to a new UNTITLED or the handle to

% the existing singleton*

%

% UNTITLED('CALLBACK',hObject,eventData,handles, ) calls the local

% function named CALLBACK in UNTITLED.M with the given input

arguments

%

% UNTITLED('Property','Value', ) creates a new UNTITLED or raises the

% existing singleton* Starting from the left, property value pairs are

% applied to the GUI before untitled_OpeningFcn gets called An

% unrecognized property name or invalid value makes property application

% stop All inputs are passed to untitled_OpeningFcn via varargin

%

% *See GUI Options on GUIDE's Tools menu Choose "GUI allows only one

% instance to run (singleton)"

%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help untitled

Trang 36

% Last Modified by GUIDE v2.5 24-Sep-2022 10:04:10

% Begin initialization code - DO NOT EDIT

% 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 MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to untitled (see VARARGIN)

% Choose default command line output for untitled

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

varargout{1} = handles.output;

function editAmp_Callback(hObject, eventdata, handles)

% 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'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

function editFreq_Callback(hObject, eventdata, handles)

% hObject handle to editFreq (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 editFreq as text

% str2double(get(hObject,'String')) returns contents of editFreq as a double

% - Executes during object creation, after setting all properties

function editFreq_CreateFcn(hObject, eventdata, handles)

% hObject handle to editFreq (see GCBO)

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

as cell array

% contents{get(hObject,'Value')} returns selected item from popupmenuFunc

% - Executes during object creation, after setting all properties

function popupmenuFunc_CreateFcn(hObject, eventdata, handles)

% 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

% - Executes on button press in pushbuttondraw

function pushbuttondraw_Callback(hObject, eventdata, handles)

% hObject handle to pushbuttondraw (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

Amp = str2num (get(handles.editAmp,'string')) ;

Trang 41

Bà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Ị

subplot (211) ; ezplot (sin (x) /x)

subplot (212) ; ezplot (sin (x) /x, 0, 4*pi)

Trang 42

3.5 ĐỊNH DẠNG BIỂU THỨC

Trang 43

3.6 GIẢI PHƯƠNG TRÌNH VÀ HỆ PHƯƠNG TRÌNH Giải phương trình bậc n:

Trang 44

Giải hệ phương trình

Trang 46

Giải phương trình lượng giác

Trang 47

Giải phương trình vi phân

Giải phương trình vi phân có điều kiện đầu

Trang 48

Giải hệ phương trình vi phân

Trang 49

3.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 51

Câ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 53

BÀI 4: SIMULINK4.1 Mô hình hóa một chương trình:

Trang 54

Hì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

Xét hệ phương trình tuyến tính: { z1+z2=1

−z1+z2 =1

Sơ đồ mô phỏng :

Trang 55

Hì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 56

Hì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 57

Hình 4.4: Mô hình hệ thống giải phương trình vi phân bậc 1

Trang 58

Bà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 60

Hì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 61

Hì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 62

Câu hỏi ôn tập

Bài 1

Bài 2:

Trang 63

Bài 3:

Ngày đăng: 09/12/2022, 10:49

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w