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

Thực hành phương pháp tính và matlab gvpt nguyễn mai minh kha báo cáo thực hành tuần 8

12 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Thực Hành Phương Pháp Tính Và Matlab
Tác giả Đỗ Minh Nhật
Người hướng dẫn GVPT: Nguyễn Mai Minh Kha
Trường học Trường Đại Học Khoa Học Tự Nhiên Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Thể loại báo cáo
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 12
Dung lượng 621,65 KB

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

Nội dung

Câu 2: Cho dòng điện ??? của một MOSFET kênh N được cho như sau:Vẽ đặc tính của MOSFET với các thông số nhập từ giao diện: Cho ??? có giá trị từ 0 đến 5 bước là 0.1.. Câu 3: *Dành cho Ap

Trang 1

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

Họ và tên: Đỗ Minh Nhật

MSSV:22200115

Lớp:22DTV2

THỰC HÀNH PHƯƠNG PHÁP TÍNH VÀ MATLAB

GVPT: Nguyễn Mai Minh Kha

BÁO CÁO THỰC HÀNH TUẦN 8 Câu 1:

Câu 1:

Cho mạch điện R, L, C mắc nối tiếp với tổng trở tương đương Z như sau

Z(𝑗𝜔) = 𝑅+𝑗𝜔𝐿+ jωC1

R, L, C được nhập vào từ giao diện

Vẽ giá trị độ lớn của tổng trở |𝑍(𝑗𝜔)| theo tần số góc 𝜔 (𝜔 có giá trị từ 0 đến 2𝜋) với các giá trị R, L, C

Biết R (Ω), L (𝐻), C (𝜇𝐹)

Trang 2

- Giao diện Design:

- Giao diện Code:

2

Trang 3

- Code: Nút nhấn Button

c = app.CEditField.Value; %Khai báo giá trị nhập vào C (𝜇𝐹)

l = app.LEditField.Value; %Khai báo giá trị nhập vào L (𝐻)

r = app.REditField.Value; %Khai báo giá trị nhập vào R (Ω)

omega=0:0.1:2*pi; %khai báo khoảng giá trị omega từ 0 đến 2pi với

bước nhảy là 0.1

z = r + 1i*omega*l + 1./(1i*omega*c); %Công thức tính tổng trở

DoLonZ = abs(z); %Độ lớn tổng trở

plot(app.UIAxes, omega, DoLonZ) %Vẽ đồ thị độ lớn tổng trở

Trang 4

- Kết quả:

4

Trang 5

Câu 2: Cho dòng điện 𝐼𝐷𝑆 của một MOSFET kênh N được cho như sau:

Vẽ đặc tính của MOSFET với các thông số nhập từ giao diện:

Cho 𝑉𝐷𝑆 có giá trị từ 0 đến 5 bước là 0.1

Vẽ đặc tuyến của MOSFET trên cùng biểu đồ với 𝑉𝐺𝑆 lần lượt là 𝑉𝐺𝑆1 = 0.5,𝑉𝐺𝑆2 = 2, 𝑉𝐺𝑆3 = 3.5,𝑉𝐺𝑆4 = 4.5

Sinh viên tự chọn loại đối tượng để thay đổi các giá trị tham số trong bảng trên

Đồ thị mẫu

Trang 6

- Giao diện Design:

- Giao diện Code:

6

Trang 7

- Code:

VT=app.VtEditField.Value; %Khai báo Vt

Lamda=app.LamdaEditField.Value; %Khai báo Lamda

W=app.WEditField.Value; %Khai báo W

L=app.LamdaEditField.Value; %Khai báo L

VGS = [0.5, 2, 3.5, 4.5] %Mảng gồm các giá trị Vgs

VDS = 0:0.1:5; %Mảng các giá trị của Vds từ 0 đến 5 với bước nhảy 0.1

IDS = zeros(length(VGS), length(VDS)); %Tạo mảng gồm các phần tử 0 chứa kết quả Ids với cùng kích cỡ với Vgs và Vds

for i = 1:length(VGS) %Lặp từ 1 đến giới hạn kích cỡ của mãng Vgs

for j = 1:length(VDS) % Lặp từ 1 đến giới hạn kích cỡ của mãng Vds

if VGS(i) <= VT %Điều kiện vùng ngưng dẫn

IDS(i, j) = 0; %Giá trị dòng =0 ở vùng ngưng dẫn

elseif VGS(i) > VT && VDS(j) <= (VGS(i) - VT) %Điều kiện vùng tuyến tính IDS(i,j) = 200*(W/L)*((VGS(i) -

VT)*VDS(j)-((VDS(j))^2)/2)*(1+Lamda*VDS(j)); %Công thứ dòng ở vùng tuyến tính

else VGS(i)>VT && VDS(j)>(VGS(i) - VT) %Điều kiện vùng bão hòa

IDS(i, j) = 200 * (W /(2*L)) * ((VGS(i) - VT)^2) * (1 + Lamda * VDS(j));

%Công thức dòng ở vùng bão hòa

end

end

end

plot(app.UIAxes, VDS, IDS(1, :), VDS, IDS(2, :), VDS, IDS(3, :), VDS, IDS(4, :));

%Vẽ biểu đồ các biểu đồ các vùng chồng nhau

grid(app.UIAxes, "minor");

legend(app.UIAxes, 'VGS = 0.5V', 'VGS = 2V', 'VGS = 3.5V', 'VGS = 4.5V');

Trang 8

- Kết quả:

8

Trang 9

Câu 3: (*Dành cho App Designer) Thiết kế ứng dụng máy tạo dạng sóng có giao diện như sau

- Giao diện design:

- Giao diện Code:

Trang 10

- Code: hàm tính

- Code: callback các khối:

calculate_a_draw(app); %Gọi function hàm tính vô khối

10

methods (Access = private)

function calculate_a_draw(app)

value = app.DngsngKnob.Value;

A = app.BinVKnob.Value; %Biên độ

f = app.TnsKnob.Value; %Tần số

t =app.tsKnob.Value; %Thời gian

tanso = app.XSwitch.Value; %Chuyển đổi tần số

switch tanso

case 'KHz'

f = f*1000; %Trường hợp Khz là tần số * 1000

case 'Hz'

f=f*1;

end

[x ,n] = Drawave(value,t,f,A);

plot(app.UIAxes,n,x);

grid(app.UIAxes,"on");

end

end

Trang 11

- Code: Drawave.m

function [x , n] = Drawave(wave,t,f,A)

fs = 10*f;

n =0:1/(100*fs):t;

switch wave

case 'Sine'

x = A*sin(2*pi*f*n);

case 'Square'

x = A *square(2*pi*f*n);

case 'Ramp'

x = A* sawtooth(2*pi*f*n);

case 'Triangle'

x = A* sawtooth(2*pi*f*n,1/2);

end

end

Trang 12

- Kết quả:

12

Ngày đăng: 08/01/2025, 19:18

HÌNH ẢNH LIÊN QUAN

Đồ thị mẫu - Thực hành phương pháp tính và matlab gvpt nguyễn mai minh kha báo cáo thực hành tuần 8
th ị mẫu (Trang 5)

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