Báo cáo thực hành matlab cơ bản

40 1K 2
Báo cáo thực hành matlab cơ bản

Đ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

Báo cáo thực hành matlab cơ bản

Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường BÁO CÁO THỰC HÀNH MATLAB CƠ BẢN Làm quen Matlab 1.1 Tính tay biểu thức sau, thử lại Matlab: a 2/2 * = f + round(6/9 + 3*2) / – = 2.5 >>2/2 * >>2 + round(6/9 + 3*2)/2 - ans = ans = 2.5000 b – 4/2 + 7^2 – = 52 g + floor(6/9 + 3*2) / – = >>6 - 4/2 + 7^2 - >>2 + floor(6/9 + 3*2)/2 - ans = ans = 52 c 10/2 \ 10 – + 2*4 =7 h + ceil(6/9 + 3*2) / – = 2.5 >> 10/2 \ 10 - + 2*4 >>2 + ceil(6/9 + 3*2)/2 - ans = ans = 2.5000 d 3^2 / = 1.5 k fix(4/9) + fix(3*(5/6)) = >> 3^2 / >> fix(4/9) + fix(3*(5/6)) ans = ans = 1.5000 e 3^2^2 = 81 >> 3^2^2 ans = 81 1.2 Dự đoán kết xuất hình: a ; >> ; ans = b 2/4 = 0.5 >> / ans = 0.5000 Báo cáo thực hành Matlab Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông c 2\4 = >> 2\4 ans = d , >> , ans = ans = e 2:4 >> 2:4 ans = GVHD: Nguyễn Mạnh Cường 1.3 Cho x = 2, y = Dự đoán kết tiếp theo: c x = y + x – z a z = x >> z = x >> x = y + x - z z = x = b y = y +z d x + y – z >> y = y +z >> x + y - z y = ans = 1.4 Giải phương trình bậc hai sau cách thực bước, sau kiểm tra với hàm Matlab: a x − 3x + = a = 1; b = −3;c = ∆ = b − 4ac = => x1 = −b − ∆ −b + ∆ = 1; x = =2 2a 2a Báo cáo thực hành Matlab Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường Kiểm tra Matlab: >> p =[1 -3 2]; KQ = roots(p) KQ = b x − x + = a = 1; b = −1; c = ∆ = b − 4ac = −7 => x1 = −b − ∆ −b + ∆ = 0.5 - 1.3229i ; x2 = = 0.5 + 1.3229i 2a 2a Kiểm tra Matlab: >> p =[1 -1 2]; KQ = roots(p) KQ = 0.5000 + 1.3229i 0.5000 - 1.3229i 1.5 a Tạo số ngẫu nhiên có giá trị từ đến >> a = rand a = 0.9501 b Tạo số ngẫu nhiên có giá trị từ đến 100 >> b = 100*rand b = 23.1139 c Tạo số ngẫu nhiên có giá trị từ n đến m (n> n = input ('Nhap n = ') m = input ('nhap m = ') KQ = n + (m-n)*rand Nhap n = Báo cáo thực hành Matlab Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường n = nhap m = m = KQ = 6.9439 1.6 Giải phương trình sau b x − x + x − = a x − x + = >> p = [1 -3 1]; KQ = roots(p) KQ = -1.8794 1.5321 0.3473 >> p = [3 -3 -1]; KQ = roots(p) KQ = -1.2229 1.0000 0.1114 + 0.5101i 0.1114 - 0.5101i 1.7 Cho a = 36, b = 15 Tính tay biểu thức sau, thử lại Matlab a mod(a,b) >> mod(a,b) %Chia lay phan du ans = b rem(a,b) >> rem(a,b) %Chia lay phan du ans = c gcd(a,b) >> gcd(a,b) %Uoc chung lon nhat ans = d lcm(a,b) >> lcm(a,b) %Boi chung nho nhat ans = 180 Báo cáo thực hành Matlab Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường Vector 2.1 Tạo vector chứa số nguyên từ 31 đến 75 >> A = 31:75 Tạo vector có 10 phần tử có giá trị nguyên lấy ngẫu nhiên khoảng [0, 100] >> B = round(100*rand(1,10)) B = 95 23 61 49 89 76 46 82 44 Tạo vector có 10 phần tử có giá trị nguyên lấy ngẫu nhiên khoảng [-20 ,10] >> C = round(30*rand(1,10))-20 C = -2 -15 -8 8 -8 2.2 Cho x = [3 6] dự đoán kết dòng lệnh sau thử lại Matlab: a x(3) >> x(3) ans = b x(1:7) >> x(1:7) ans = c x(1:end) >> x(1:end) ans = d x(1:end-1) >> x(1:end-1) ans = e x(6:-2:1) >> x(6:-2:1) ans = Báo cáo thực hành Matlab Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường f x([1 1]) >> x([1 1]) ans = g sum(x) >> sum(x) ans = 33 3 2.3 Cho x = [2 6] a Cộng thêm 16 vào tất phần tử >> x+16 ans = 18 21 17 22 b Cộng thêm vào phần tử vị trí lẻ >> x(1:2:end) = x(1:2:end) + x = 5 c Lấy bậc tất phần tử >> sqrt(x) ans = 1.4142 2.2361 1.0000 2.4495 d Bình phương tất phần tử >> x.^2 ans = 25 Báo cáo thực hành Matlab 36 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường 2.4 Cho x, y vector cột: x = [3 8]’ , y = [4 5]’ a Lấy tổng phần tử x cộng thêm vào phần tử y >> sum(x)+ y ans = 23 20 22 24 b Luỹ thừa phần tử x với số mũ tương ứng phần tử y >> x(:)= x.^y x = 81 216 32768 c Chia phần tử y với phần tử tương ứng x >> y./x ans = 1.3333 0.5000 0.5000 0.6250 d Nhân phần tử x với phần tử tương ứng y, đặt vector z >> z = x.*y z = 12 18 Báo cáo thực hành Matlab Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường 40 e Tính tổng phần tử z, gán cho w >> w = sum(z) w = 72 f Tính x * y – w >> x.*y - w ans = -60 -70 -54 -32 g Tích vô hướng x y >> sum(x.*y) ans = 72 2.5 Tạo vector x sau a [2, 4, 6, 8,…,2n] >> n = input (' Nhap n = ') x = 2:2:2*n Nhap n = n = x = b [10, 8, 6, 4, 2, 0, -2, -4,…,-2n] >> n = input (' Nhap n = ') x2 = 10:-2:-2*n Nhap n = n = x2 = 10 Báo cáo thực hành Matlab -2 -4 -6 -8 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường c [1, 1/2, 1/3, 1/4, 1/5,…, 1/n] >> n = input (' Nhap n = ') format rat % Hien thi dang phan so cua phan nguyen nho nhat x3 = 1./(1:n) Nhap n = n = x3 = 1/2 1/3 1/4 d [0, 1/2 2/3, 3/4, 4/5, (n-1)/n] >> n = input (' Nhap n = ') format rat x4 = ((1:n)-1)./(1:n) Nhap n = n = x4 = 1/2 2/3 3/4 2.6 Tạo vector x với phần tử xn= (-1)n+1/(2n - 1) Tính tổng 100 phần tử x n = input ('Nhap n = ') format rat x =((-1).^((1:n)+1))./((2.*(1:n) - 1)) S = 0; for i = 1:100 S = S + x(i); end Tong = S Báo cáo thực hành Matlab Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường Ma trận 3.1 Cho x = [1 8], y = [2 5] A = [3 ; 7] Xét xem dòng lệnh hợp lệ, dự đoán kết quả, giải thích; thử lại Matlab : a x + y >> x + y ans = 13 b x + A (Không thực phép cộng ma trận phải cỡ) >> x + A ??? Error using ==> plus Matrix dimensions must agree c x’ + y (Không thực phép cộng ma trận phải cỡ) >> x' + y ??? Error using ==> plus Matrix dimensions must agree d A – [x’ y’] (Không thực phép trừ ma trận phải cỡ) >> A - [x' y'] ??? Error using ==> minus Matrix dimensions must agree e [x ; y’] (Không thực hàng phải có số cột nhau) >> [x ; y'] ??? Error using ==> vertcat All rows in the bracketed expression must have the same number of columns f [x ; y] >> [x ; y] ans = Báo cáo thực hành Matlab 10 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường 4.4 Vẽ hàm số y = x3 − x + sử dụng hàm plot fplot >> x = -6:0.1:6; y = x.^3 - 3.*x +1; plot(x,y,'.-'); xlabel('Truc Ox'); ylabel('Truc Oy'); title ('Do thi ham so y = x^3-3x+1 '); gtext ('y = x^3-3x+1'); Hình – Đồ thị hàm số y = x3 − 3x + sử dụng hàm plot Báo cáo thực hành Matlab 26 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường >> y = inline('x.^3 - 3.*x +1'); fplot (y,[-6 6]); xlabel('Truc Ox'); ylabel('Truc Oy'); title ('Do thi ham so y = x^3-3x+1 '); gtext ('y = x^3-3x+1'); Hình – Đồ thị hàm số y = x3 − x + sử dụng hàm fplot Báo cáo thực hành Matlab 27 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường Biểu thức logic 5.3 Cho x = [3 15 12 -1 -12 1], viết lệnh thực hiện: a Chuyển giá trị dương thành giá trị >> x(x>0)=0 x = 0 0 -1 -12 b Chuyển bội số thành số >> x(mod(x,3)==0) = x = 3 3 -1 3 c Nhân giá trị chẵn cho >> x(mod(x,2)==0) = x(mod(x,2)==0)*5 x = 15 60 -1 d Gán cho vector y giá trị lớn 10 x >> y = x(x>10) y = 15 12 e Chuyển giá trị nhỏ trung bình cộng thành giá trị >> x(x> x = randperm(35) y(x=6)&(x=6)&(x=20)&(x=20)&(x 100 - Ghi M-file: if (T>0)&(T100 h = 0.45*T + 900 end - Lưu tên: bai65.m - Trên cửa sổ command window nhập: T=5, T=110 “bai65” Kết quả: >> T = >> T = 110 T = T = 110 >> bai65 >> bai65 h = h = -5 949.5000 6.6 f(x) = -1 =0 =1 x < x = x > - Ghi M-file: if x>0 f=1 elseif x=0 f=0 else f=-1 end Báo cáo thực hành Matlab 30 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường - Lưu tên: bai66.m - Trên cửa sổ command window nhập: x=-5, x=0, x=5 “bai66” Kết quả: >> x=-5 >> x=0 >> x=5 x = x = x = -5 >> bai66 >> bai66 >> bai66 f = f = f = -1 - So sánh với hàm sign >> x =[-5 5]; sign(x) %Xet dau tung phan tu cua x ans = -1 Báo cáo thực hành Matlab 31 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường Vòng lặp 7.1 Cho vector x = [1 1], viết dòng lệnh để : >> x = [1 1] x = a Tính tổng tất phần tử >> s = 0; n = size(x,1) * size(x,2); for i = 1:n s = s+x(i); end KetQua = s KetQua = 22 So sánh kết với lệnh sum: >> sum(x) ans = 22 b Viết hàm tính tổng dãy từ đến j >> n = size(x,2) %Dem so phan tu cua x if n > cumsum(x) ans = 12 21 Báo cáo thực hành Matlab 21 32 22 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường 7.2 Tạo ma trận M x N số ngẫu nhiên (dùng lệnh rand) Chuyển giá trị nhỏ 0.2 thành 0, giá trị lớn hay 0.2 thành - Ghi M-file: >> M = input('Nhap M = ') N = input('Nhap N = ') X = rand(M,N) X(X=0.2)=1 - Kết quả: Nhap M = M = Nhap N = N = X = 0.0811 0.8511 0.5620 0.3193 X = 1 0.3749 0.8678 0.3722 0.0737 1 0 0.1998 0.0495 0.5667 0.1219 1 0.5221 0.1171 0.7699 0.3751 0.8234 0.0466 0.5979 0.9492 1 7.5 Viết script yêu cầu nhập nhiệt độ Fahrenheit chuyển sang độ Celcius tương ứng Script chạy đến không nhập nhiệt độ (Sử dụng hàm isempty) F = input('Nhiet Fahrenheit: ') while isempty(F)==0 %Kiem tra F co la ma tran rong hay khong disp('Nhiet Celcius tuong ung la: ') C = (F-32)/1.8 F = input('Nhiet Fahrenheit: ') end Báo cáo thực hành Matlab 33 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường 7.6 Viết script yêu cầu: Nhập liên tục số, dừng lại nhập 0, xuất trung bình cộng số dương trung bình cộng số âm dãy số nói - Ghi M-File: s = []; x = input('Nhap vao mot so bat ky: ') while x~=0 s = [s x]; x = input('Nhap vao mot so bat ky: ') end DaySoDuong = s(s>0) TrungBinhDaySoDuong = mean(DaySoDuong) DaySoAm = s(s n = size(X,1)*size(X,2) = X(1); for i = 1:n if X(i) if mod(n,2)==0 n = n/2; s = [s n]; else n = n*3+1; s = [s n]; end end KetQua = s ChieuDaiDayLapLai = size (s,1)*size(s,2) - Kết quả: Nhap n = 13 n = 13 KetQua = 40 20 10 ChieuDaiDayLapLai = Báo cáo thực hành Matlab 16 40 Sinh viên: Nguyễn Văn Tùng [...]... 2.2361 Báo cáo thực hành Matlab cơ bản 19 1.0000 1.4142 1.7321 2.2361 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường 4 Vẽ đồ thị 4.1 Vẽ đồ thị hàm số x , x 3 , e x và e x với 0 < x < 4 2 >> x = 0:0.1:4; y = x; plot(x,y,'-.'); xlabel('Truc Ox'); ylabel('Truc Oy'); title ('Do thi ham so y = x'); gtext('y = x'); Hình 1 – Đồ thị hàm số y = x Báo cáo thực hành Matlab cơ bản. .. gtext('y = x^3'); Hình 2 – Đồ thị hàm số y = x 3 Báo cáo thực hành Matlab cơ bản 21 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường >> x = 0:0.1:4; y = exp(x); plot(x,y,'*'); xlabel('Truc Ox'); ylabel('Truc Oy'); title ('Do thi ham so y = e^x'); gtext('y = e^x'); Hình 3 – Đồ thị hàm số y = e x Báo cáo thực hành Matlab cơ bản 22 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng... số y = e Báo cáo thực hành Matlab cơ bản 23 2 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông 4.2 Vẽ đồ thị hàm số f ( x) = sin GVHD: Nguyễn Mạnh Cường 1 với 0.01 < x < 0.1 x >> x = 0.01:0.001:0.1; y = sin(1./x); plot(x,y,'-.'); xlabel('Truc Ox'); ylabel('Truc Oy'); title ('Do thi ham so y=sin(1/x)'); gtext('y=sin(1/x)'); Hình 5 – Đồ thị hàm số y = sin Báo cáo thực hành Matlab cơ bản 24 1... 36-x((x>=20)&(x> x = -6:0.1:6; y = x.^3 - 3.*x +1; plot(x,y,'.-'); xlabel('Truc Ox'); ylabel('Truc Oy'); title ('Do thi ham so y = x^3-3x+1 '); gtext ('y = x^3-3x+1'); Hình 7 – Đồ thị hàm số y = x3 − 3x + 1 sử dụng hàm plot Báo cáo thực hành. .. Báo cáo thực hành Matlab cơ bản 30 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường - Lưu dưới tên: bai66.m - Trên cửa sổ command window nhập: x=-5, x=0, x=5 và “bai66” Kết quả: >> x=-5 >> x=0 >> x=5 x = x = x = -5 0 5 >> bai66 >> bai66 >> bai66 f = f = f = -1 0 1 - So sánh với hàm sign >> x =[-5 0 5]; sign(x) %Xet dau tung phan tu cua x ans = -1 0 1 Báo cáo thực hành. .. dụng hàm plot Báo cáo thực hành Matlab cơ bản 26 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường >> y = inline('x.^3 - 3.*x +1'); fplot (y,[-6 6]); xlabel('Truc Ox'); ylabel('Truc Oy'); title ('Do thi ham so y = x^3-3x+1 '); gtext ('y = x^3-3x+1'); Hình 8 – Đồ thị hàm số y = x3 − 3 x + 1 sử dụng hàm fplot Báo cáo thực hành Matlab cơ bản 27 Sinh viên: Nguyễn Văn Tùng... 12 21 21 22 So sánh kết quả với lệnh cumsum: >> cumsum(x) ans = 1 9 12 21 Báo cáo thực hành Matlab cơ bản 21 32 22 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường 7.2 Tạo ma trận M x N các số ngẫu nhiên (dùng lệnh rand) Chuyển các giá trị nhỏ hơn 0.2 thành 0, các giá trị lớn hơn hay bằng 0.2 thành 1 - Ghi M-file: >> M = input('Nhap M = ') N = input('Nhap N = ') X =... A - 3 ans = 0 -2 3 2 -1 4 3.2 Cho A = [2 7 9 7 ; 3 1 5 6 ; 8 1 2 5], dự đoán kết quả, giải thích; rồi thử lại bằng Matlab: a A’ >> A' ans = 2 3 8 7 1 1 9 5 2 7 6 5 b A(:,[1 4]) >> A(:,[1 4]) ans = 2 7 3 6 8 5 c A([2 3], [3 1]) >> A([2 3], [3 1]) ans = 5 3 2 8 Báo cáo thực hành Matlab cơ bản 11 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường d reshape(A, 2, 6) >> reshape(A,... ] ] >> [[A;sum(A)][sum(A,2);sum(A(:))]] ans = 2 7 9 7 25 3 1 5 6 15 8 1 2 5 16 13 9 16 18 56 3.3 Cho ma trận A = [2 4 1 ; 6 7 2 ; 3 5 9], viết lệnh Matlab để: a Gán cho vector x là dòng thứ nhất của A >> x = A(1,:) x = 2 4 1 Báo cáo thực hành Matlab cơ bản 14 Sinh viên: Nguyễn Văn Tùng Tin ứng dụng Điện tử viễn thông GVHD: Nguyễn Mạnh Cường b Gán cho ma trận y là hai dòng còn lại (cuối) của A >> y ... phương trình bậc hai sau cách thực bước, sau kiểm tra với hàm Matlab: a x − 3x + = a = 1; b = −3;c = ∆ = b − 4ac = => x1 = −b − ∆ −b + ∆ = 1; x = =2 2a 2a Báo cáo thực hành Matlab Sinh viên: Nguyễn... lệnh sau thử lại Matlab: a x(3) >> x(3) ans = b x(1:7) >> x(1:7) ans = c x(1:end) >> x(1:end) ans = d x(1:end-1) >> x(1:end-1) ans = e x(6:-2:1) >> x(6:-2:1) ans = Báo cáo thực hành Matlab Sinh viên:... dự đoán kết quả, giải thích; thử lại Matlab: a A’ >> A' ans = 1 b A(:,[1 4]) >> A(:,[1 4]) ans = c A([2 3], [3 1]) >> A([2 3], [3 1]) ans = Báo cáo thực hành Matlab 11 Sinh viên: Nguyễn Văn Tùng

Ngày đăng: 26/03/2016, 14:30

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan