các bài tập cơ bản của matlab . hướng dẫn giúp các bạn mô phỏng , vẽ đồ thị và tính toán các khâu trong lí thuyết điền khiển tự động , điện tử cơ bản .... hướng dẫn vài chương trình về simulink , phần so sánh , mô phỏng mạch điện toán học
BÀI TẬP MATLAB Sinh viên:PHAN VĂN TRUYỀN CHƯƠNG 1 .GIỚI THIỆU MATLAB Bài tập 1.2.2 thực hiện phép toán sqrt, exp, trên cửa sổ Command windows >> sqrt(4) ans = 2 >> exp(3) ans = 20.0855 Bài tập 1.2.3 khai báo vecto có 5 phần tử bằng cách nhập trực tiếp >> v=[1 2 3 4 5] v = 1 2 3 4 5 Bài tập 1.2.4 khao báo một ma trận có 5 hàng , 4 cột bằng cách nhâp trực tiếp > m=[1 2 3 4;5 6 7 8;9 10 11 12; 13 14 15 16; 17 18 19 20] m = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 Bài tập 1.2.5 khai bào một véc tơ có 20 phần tử bằng toán tử >> v=1:1:20 xuất phát =1 ; bước =1; đích 20 v = Columns 1 through 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Columns 18 through 20 18 19 20 Bài tập 1.2.6 khai báo một véc tơ có 20 phần tử bằng lệnh linspace >> v=linspace(1,20,20) xuất phát=1,đích 20, số lượng phần tử =20 v = Columns 1 through 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Columns 18 through 20 18 19 20 Bài tập 1.2.7 sử dụng các lệnh ones, zeros,rand tạo ma trận 3 4 × >> v=ones(3,4) v = 1 1 1 1 1 1 1 1 1 1 1 1 >> zeros(3,4) ans = 2 0 0 0 0 0 0 0 0 0 0 0 0 >> rands(3,4) ans = 0.6294 0.8268 -0.4430 0.9298 0.8116 0.2647 0.0938 -0.6848 -0.7460 -0.8049 0.9150 0.9412 Bài 1.2.8 Truy xuất phần tử (1,2) trong ma trận vừa tạo >> v=ones(3,4) v = 1 1 1 1 1 1 1 1 1 1 1 1 >> v(1,2) truy suất hang 1 , côt 2 ans = 1 >> v=zeros(3,4) v = 0 0 0 0 0 0 0 0 0 0 0 0 >> v(1,2) 3 ans = 0 >> v=rands(3,4) v = 0.9143 -0.7162 0.5844 -0.9286 -0.0292 -0.1565 0.9190 0.6983 0.6006 0.8315 0.3115 0.8680 >> v(1,2) ans = -0.7162 Bài tập 1.2.9 khai báo một cáu trúc gồm có 3 biến . truy suất từng biến. >> s1=struct('que','vinh phuc','ten','truyen','tuoi','22') s1 = que: 'vinh phuc' ten: 'truyen' tuoi: '22' Truy suat từng biến >> s1.que ans = vinh phuc >> s1.ten ans = truyen 4 >> s1.tuoi ans = 22 Bài tập 1.2.10 khai báo một cấu trúc vòng , truy suất các phần tử của cấu trúc . >> s1=struct('ten','phan van truyen') s1 = ten: 'phan van truyen' >> s2=struct('ngay','5','thang','4','nam','1993') s2 = ngay: '5' thang: '4' nam: '1993' >> s1.sinhnhat=s2 s1 = ten: 'phan van truyen' sinhnhat: [1x1 struct] >> s1.sinhnhat ans = ngay: '5' thang: '4' nam: '1993' Truy suất từng biến >> s1.ten 5 ans = phan van truyen >> s2.ngay ans = 5 >> s2.thang ans = 4 >> s2.nam ans = 1993 Bài 1.2.11 khai báo một trường bất kỳ và truy suất các phần tử của trường >> s1=struct('ten','nguyen van nam') s1 = ten: 'nguyen van nam' >> s2=struct('ngay','21','thang','ba','nam','1999') s2 = ngay: '21' thang: 'ba' nam: '1999' >> s1.sinhnhat=s2 s1 = ten: 'nguyen van nam' 6 sinhnhat: [1x1 struct] >> s1.sinhnhat ans = ngay: '21' thang: 'ba' nam: '1999' >> c1=cell(2,3) c1 = [] [] [] [] [] [] >> c{1,1}='dau tien la mot dong chu' c = [1x24 char ] [ 100] [2x2 double] [1x1 struct] 'nguyen van nam' '18-Dec-2014' >> c{1,2}=100 c = [1x24 char ] [ 100] [2x2 double] [1x1 struct] 'nguyen van nam' '18-Dec-2014' >> c{1,3}=[1,2;3,4] c = [1x24 char ] [ 100] [2x2 double] [1x1 struct] 'nguyen van nam' '18-Dec-2014' >> c{2,1}=s1 7 c = [1x24 char ] [ 100] [2x2 double] [1x1 struct] 'nguyen van nam' '18-Dec-2014' >> c{2,2}=s1.ten c = [1x24 char ] [ 100] [2x2 double] [1x1 struct] 'nguyen van nam' '18-Dec-2014' >> c{2,3}=date c = [1x24 char ] [ 100] [2x2 double] [1x1 struct] 'nguyen van nam' '18-Dec-2014' Truy suất >> c{2,1}.sinhnhat.nam ans = 1999 >> c{2,1}.ten ans = nguyen van nam 8 Bài 1.2.12 lấy ví dụ về cách sử dụng cách lệnh size , length , who, whos >> s1=[1,3,5] s1 = 1 3 5 >> size(s1) ans = 1 3 >> length(s1) ans = 3 >> who Your variables are: 9 ans s1 >> whos Name Size Bytes Class Attributes ans 1x1 8 double s1 1x3 24 double Bài 1.13: sử dụng lệnh diary lưu dữ liệu đã nhập/ xuất tại command windows dưới dạng file Bài 2: Lý thuyết: Đối thoại của matlab với người dùng − Việc hỏi số liệu từ người dùng được thực hiện bởi lệnh: >> ten_bien=input(string) VD: >> tuoi=input('ban bao nhieu tuoi?\n') ban bao nhieu tuoi? 21 tuoi = 21 − Nếu hỏi lấy dữ liệu là một chuỗi kí tự thì dùng lệnh: >> ten_bien=input(string,'s') VD >> ten=input('ban ten la gi?\n','s') ban ten la gi? Phan Truyen ten = Phan Truyen 10 [...]... nguyen to 14 khong phai la so nguyen to 15 khong phai la so nguyen to 16 khong phai la so nguyen to !!17 la so nguyen to Bài 3.5: viết 1 scrip kiểm tra xem các số nguyên thuộc khoảng 33-57,số nào không *Các hàm của matlab- function: Function là một dạng đặc biệt của m-file , là một hàm của matlab do người dùng tự tạo ra *Cách tạo function: File/New/M-file Function[ra1,ra2,ra3]=ten_function(vao1,vao2,vao3)... 64 Bài 3.6: Viết 1 function tính chu vi và diện tích của hình tròn bán kính r function[c,s]=function7(r,pi) c=2*pi*r s=pi*r^2 >> [c,s]=function7(8,pi) c= 50.2655 s= 201.0619 c= 50.2655 s= 201.0619 Bài 3.7: Xác định điện áp ,dòng điện của tụ điện trong mạch DC Yêu cầu : thành lập hàm m file -Nhập vào giá trị thời gian t -Xác định các giá trị dòng điện ,điện áp ,công suất ứng với giá trị nhập vào của. .. bang_chan_ly=[a b a&b a/b xor(a,b) ~a ~(a&b) ~(a/b)] bang_chan_ly = 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 0 1 1 Bài 2.3 : Kiểm tra lại bảng chân lý bằng phần mềm matlab Bài 2.4 : Phép biến đổi Y/∆ Công thức biến đổi : R1= R12 R31 R12 + R23 + R31 R1 = R1 + R2 + 13 R1 R2 R3 R2 R3 R1 R2 = R23 R12 R12 + R23 + R31 R23 = R2 + R3 + R3 = R31 R23 R12... “bạn đã nhập vào: Tên: …….Ngày tháng năm sinh:……, số CMT:… ” Bài 2.2: thực hiện ví dụ phần “cất vào hoặc gọi dữ liệu từ file”trên máy tính >> v1=[1:1:10]; >> v2=[11:1:20]; >> m=[v1;v2] m= 1 11 2 3 4 5 6 7 8 12 13 14 15 16 17 >> save file1 >> clear >> load file1 11 9 10 18 19 20 >> who Your variables are: m v1 v2 CHƯƠNG 2 : CÁC PHÉP TOÁN CƠ BẢN Bài 2.1: Các phép so sánh và phép tính logic Các phép so sánh... hoặc gt(a,b) *Lớn hơn hoặc bằng: >= hoặc ge(a,b) 12 Bài 2.2: Cho các ví dụ về cách sử dụng các phép so sánh Mỗi phép so sánh cho một ví dụ Các phép tính logic a,Các kí hiệu: *Not-Hàm đảo: ~ hoặc not(a) *AND-Hàm nhân & hoặc and(a,b) *OR-Hàm cộng hoặc or(ab) *XOR-Hàm không tương đương-Hàm cộng Modul-2 xor(a,b) B,Bảng chân lý: (bảng biểu diễn kết quả của các phép tính logic) >> a=[0;0;1;1]; >> b=[0;1;0;1];... disp(G+G*0.1) Bài 3.9: khảo sát đáp ứng quá độ mạch RLC song song Cho đáp ứng của mạch RLC song có giá trị điện áp : v ( t ) = 544e −2761t sin(1257t ) sai_so=1e-4 t=0.002 v=1000 while v>sai_so t=t+1/10000 v=abs(544*exp(-276*t)) end w=1257; f=w/(2*pi); T=1/f if(t> while n . s1=struct('que','vinh phuc','ten',&apos ;truyen& apos;,'tuoi','22') s1 = que: 'vinh phuc' ten: &apos ;truyen& apos; tuoi: '22' Truy suat từng. s1.ten ans = truyen 4 >> s1.tuoi ans = 22 Bài tập 1.2.10 khai báo một cấu trúc vòng , truy suất các phần tử của cấu trúc . >> s1=struct('ten','phan van truyen& apos;) s1. van truyen& apos; sinhnhat: [1x1 struct] >> s1.sinhnhat ans = ngay: '5' thang: '4' nam: '1993' Truy suất từng biến >> s1.ten 5 ans = phan van truyen >>