Đề cương môn matlab và đáp án

18 3K 7
Đề cương môn matlab và đáp á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ài tập 1: Nhập vào 3 số? Kiểm tra xem có tạo thành tam giác hay không. Nếu có tính chu vi và diện tích tam giác đó clear all a=input (nhap vao do dai canh a : ); b=input (nhap vao do dai canh b : ); c=input (nhap vao do dai canh c : ); if (a>0)(b>0)(c>0)(a+b>c)(c+b>c)(a+c>b) cv=a+b+c; disp (chu vi tam giac la : ); cv p=cv2; disp (dien tich tam giac la : ); dt=sqrt(p(pa)(pb)(pc)) else disp (3 so khong tao thanh tam giac ); end; ======================================== Bài tập 2 : dùng hàm mfile để tính tổng bình phương của 2 số (x2+2) clear all function z=tbp(x,y) z=xx+yy; t1=input (nhap vao gia tri t1 : ); t2=input (nhap vao gia tri t2 : ); kq= tbp(t1,t2); disp (tong binh phuong cua 2 so la ); kq ======================================== Bài tập 3 :viết bằng hàm mfile :tính tổng , hiệu và tích của 2 số nhập vào từ bàn phím clear all function f=tong(x,y); f=x+y; a= input (nhap vao so a : ); b= input (nhap vao so b : ); disp (tong cua 2 so la ); kq= tong(a,b) tính hiệu và tích tương tự. ======================================== Bài tập 4: Viết chương trình nhập vào 2 số a, b tìm giá trị lớn nhất clear all a=input (nhap vao gia tri a : ); b=input (nhap vao gia tri b : ); max=a; if max0)&(b>0)&(c>0)&(a+b>c)&(c+b>c)&(a+c>b) cv=a+b+c; disp ('chu vi tam giac la : '); cv p=cv/2; disp ('dien tich tam giac la : '); dt=sqrt(p*(p-a)*(p-b)*(p-c)) else disp ('3 so khong tao tam giac '); end; ======================================== Bài tập : dùng hàm m-file để tính tổng bình phương số (x^2+^2) clear all function z=tbp(x,y) z=x*x+y*y; t1=input ('nhap vao gia tri t1 : '); t2=input ('nhap vao gia tri t2 : '); kq= tbp(t1,t2); disp ('tong binh phuong cua so la '); kq ======================================== Bài tập :viết hàm m-file :tính tổng , hiệu tích số nhập vào từ bàn phím clear all function f=tong(x,y); f=x+y; a= input ('nhap vao so a : '); b= input ('nhap vao so b : '); disp ('tong cua so la '); kq= tong(a,b) tính hiệu tích tương tự ======================================== Bài tập 4: Viết chương trình nhập vào số a, b tìm giá trị lớn clear all a=input ('nhap vao gia tri a : '); b=input ('nhap vao gia tri b : '); max=a; if max b a = a - b; else b = b - a; y = a; end; end; function x = BCNN(a, b) x = (a * b) / UCLN(a, b); %Script.file clear all a = input(‘Nhap a’); b = input(‘Nhap b’); kq = UCLN(a, b); disp(‘UCLN la’); kq kq1 = BCNN(a, b); disp(‘BCNN’); kq1 ======================================== %Xây dựng hàm kiểm tra số có phải số nguyên tố, hoàn hảo phương hay không function x = snt(n) d = 0; for i = : n if rem(n, i) = =0 d = d + 1; end; end; if d = 2; x = 1; else x = 0; end; %script.file clear all n = input(‘Nhap n’); if snt(n) = = 1; disp(‘La so nguyen to’); else disp(‘Khong la so nguyen to’); end; function y = hoanhao(n) tong = 0; for i = : n if rem(n, j) = = tong = tong + i; end; end; if tong = = n y = 1; else y = 0; end; %script.file clear all n = input(‘Nhap n’); if hoanhao(n) = = disp(‘La so hoan hao’); else disp(‘Khong la so hoan hao’); end; function z = cp(a) if sqrt(a) * sqrt(a) = a z = 1; else z = 0; end; %script.file clear all n = input(‘Nhap n’); if cp(n) = = disp(‘La so chinh phuong’); else disp(‘Khong la so chinh phuong’); end; ======================================== %Xây dựng hàm tính UCLN BCNN số a, b sau nhập vào matrận cỡ n x m In hình UCLN, BCNN ma trận function y = UCLN(a, b) while a ~= b if a > b a = a - b; else b = b - a; y = a; end; end; function x = BCNN(a, b) x = (a * b) / UCLN(a, b); %Script.file clear all n=input('nhap vao so dong cho ma tran : '); m=input('nhap vao so cot cho ma tran : '); for i=1:n for j=1:m a(i,j)=input ('a(i, j) = '); end; end; UCLN1 = UCLN(a(1, 1), a(1, 2)); BCNN1 = BCNN(a(1, 1), a(1, 2)); for i = : n for j = : m UCLN1 = UCLN(UCLN1, a(i, j)); BCNN1 = BCNN(BCNN1, a(i, j)); end; end; disp(‘UCLN cua ma tran la’); UCLN1 disp(‘BCNN cua ma tran la’); BCNN1 ===================================== MẢNG CHIỀU: %Nhập vào dãy gồm n phần tử clear all n=input('nhap vao so phan tu cua day : '); for i=1:n a(i)=input ('a(i) ='); end; disp ('day vua nhap la : '); a % In hình giá trị lớn dãy số max=a(1); for i=1:n if maxa(j) tg=a(i); a(i)=a(j); a(j)=tg; end; end; end; i=1; while a(i)==a(i+1) i=i+1; end; disp(‘Gia tri lon thu day la’) a(i+1) % In hình giá trị nhỏ dãy số min=a(1); for i=1:n if min>a(i) min=a(i); end; end; disp ('gia tri nho nhat cua day la') %Tính trung bình cộng số dương dãy s=0;dem=0; for i=1:n if a(i)>0 s=s+a(i); dem=dem+1; end; end; disp ('trung binh cong so duong day la : ') tbc=s/dem %Nhập vào số x bất kỳ, kiểm tra xem x có xuất dãy hay không clear all x=input ('nhap vao so x: '); d=0; for i=1:n if x==a(i) d=d+1; end; end; if d==0 disp ('so vua nhap khong xuat hien day'); else disp ('so vua nhap co day'); end; %In hình tất số nguyên tố dãy disp ('so nguyen to day: ') d1=0; for i=1:n d=0; for j=1:a(i) if rem(a(i),j)==0 d=d+1; end; end; if d==2 d1=d1+1; a(i) end; end; if d1==0 disp ('trong day khong co so nguyen to') end; %In hình tất số hoàn hảo dãy disp ('so hoan hao day : ') d1=0; for i=1:n d=0; for j=1:a(i) if rem(a(i),j)==0 d=d+j; end; end; if a(i)==d d1=d1+1; a(i) end; end; end; if d1==0 disp ('trong day khong co so hoan hao') end; %Sắp xếp dãy theo chiều tăng dần for i=1:n-1 for j=i+1:n if a(i)>a(j) tg=a(i); a(i)=a(j); a(j)=tg; end; end; end; disp ('day sau sap xep tang la : ' ) a ======================================== MẢNG CHIỀU %Nhập vào ma trận cỡ n x m clear all n=input('nhap vao so dong cho ma tran : '); m=input('nhap vao so cot cho ma tran : '); for i=1:n for j=1:m a(i,j)=input (‘a(i, j) = '); end; end; disp ('ma tran vua nhap la : '); a %In hình giá trị lớn ma trận max=a(1,1); for i=1:n for j=1:m if max m(i, j) max2 = m(i, j); end; end; for j = : m if (max2 < m(i, j) & m(i, j) < max) max2 = m(i, j); end; end; disp(max); end; %Tính trung bình cộng số chẵn chia hết cho s=0;d=0; for i=1:n for j=1:m if rem(a(i,j),6)==0; s=s+a(i,j); d=d+1; end; end; end; if d==0 disp ('trong ma tran khong co so chan va chia het cho '); else disp ('trung binh cong cac so chan va chia het cho la : '); tbc=s/d end; %In hình tất số nguyên tố ma trận disp ('so nguyen to ma tran: ') d1=0; for i=1:n for j=1:m d=0; for k=1:a(i,j) if rem (a(i,j),k)==0 d=d+1; end; end; if d==2 d1=d1+1; a(i,j) end; end; end; if d1==0 disp ('trong ma tran khong co so nguyen to') end; %Tính tổng số nguyên tố ma trận s=0; for i=1:n for j=1:m d=0; for k=1:a(i,j) if rem (a(i,j),k)==0 d=d+1; end; end; if d==2 s=s+a(i,j); end; end; end; disp ('tong cac so nguyen to ma tran la: '); s %In hình số hoàn hảo ma trận disp ('so hoan hao ma tran : ') d1=0; for i=1:n for j=1:m s=0; for k=1:a(i,j)-1 if rem(a(i,j),k)==0 s=s+k; end; end; if a(i,j)==s d1=d1+1; a(i,j) end; end; end; if d1==0 disp ('trong ma tran khong co so hoan hao') end; %Tính tổng số hoàn hảo ma trận d=0; for i=1:n for j=1:m s=0; for k=1:a(i,j)-1 if rem(a(i,j),k)==0; s=s+k; end; end; if s==a(i,j) d=d+a(i,j); end; end; end; disp ('tong ca so hoan hao ma tran la : ') d %Tính tổng số phương ma trận s = 0; for i = : n for j = : m for i = : a(i, j) if i * i = = a(i, j) s = s + a(i, j); end; end; end; disp(‘Tong cac so chinh phuong la’); s %Sắp xếp ma trận theo chiều tăng dần hàng for i = : n for j = : m - for k = j + : m if a(i, j) > a(i, k) tg = a(i, j); a(i, j) = a(i, k); a(i, k) = tg; end; end; end; disp(‘Ma tran tang theo hang la’); a %Sắp xếp ma trận theo chiều tăng dần cột for j = : m for i = : n - for k = i + : n if a(i, j) > a(k, j) tg = a(i, j); a(i, j) = a(k, j); a(k, j) = tg; end; end; end; disp(‘Ma tran tang theo cot la’); a ===================================== ĐẠI SỐ GIẢI TÍCH %Nhập vào vector biểu diễn hệ số hàm số bất kỳ, in hình đạo hàm hàm số n = input(‘Nhap dai vector’); for i = : n a(i) = input(‘Nhap a(i) =’); end; for i = : n - b(i) = a(i) * (n - 1); end; disp(‘Dao ham cua ham so la’); b ===================================== %Nhập vào vector biểu diễn hệ số đa thức bất kỳ, in hình tổng đa thức n = input(‘Nhap vector 1:’); for i = 1: n a(i) = input(‘a(i)=’); end; m = input(‘Nhap vector 2:’); for i = : m b(i) = input(‘b(i)=’); end; if n > m for i = : n - m c(i) = a(i); end; for i = n - m + : n c(i) = a(i) + b(i); end; else if m > n for i = : m - n c(i) = b(i); end; for i = m - n + : m c(i) = a(i) + b(i); end; else for i = : n c(i) = a(i) + b(i); end; end; disp(‘Tong da thuc la’); c ===================================== %Hàm tính tổng đa thức function y = polyadd(a, b) n = length(a); m = length(b); if n = = m c = a + b; else if n > m for i = : n - m c(i) = a(i); end; for i = n - m + : n c(i) = a(i) + b(i); end; else for i = : m - n c(i) = b(i); end; for i = m - n + : m c(i) = a(i) + b(i); end; end; y = c; %script.file a = input(‘Nhap vector a’); b = input(‘Nhap vector b’); kq = polyadd(a, b); disp(‘Tong vector la’); kq ===================================== %Nhập vào vector hệ số đa thức giá trị x bất kỳ, tính giá trị đa thức x clear all n=input('nhap vao so gia tri cua vec to: '); for i=1:n a(i)=input ('nhap vao phan tu vec to: '); end; disp ('vec to vua nhap la: ') a x=input('nhap vao gia tri x bat ky : '); disp ('gia tri cua da thuc tai x la : '); polyval (a,x) ===================================== %Xây dựng hàm giải phương trình: ax2 + bx + c = (a ≠ 0) function [x1, x2] = ptb2(a, b, c) delta = (a * a) - (4 * a * c); if delta < x1 = x = realmin; else if delta = = x1 = x = - b / (2 * a); else x1 = (- b + sqrt(delta)) / (2 * a); x2 = (- b - sqrt(delta)) / (2 * a); end; %script.file a = input(‘Nhap a’); b = input(‘ Nhap b’); c = input(‘Nhap c’); kq = ptb2(a, b, c); if x1 = x2 = realmin disp (‘Phuong trinh vo nghiem’); else disp(‘Nghiem la’); kq end; ===================================== %Tính tích phân: I = int(f, a, b); f = * x2 * cos(x) function I = C5(a, b, n) h = (b - a) / n; I = 0; for i = : n x = a + h * i; c = 2; if ((i = = 0) | (i = = 1)) c = 1; end; I = I * c *(2 * x^2 * cos(x)); end; I = I * h / 2; ===================================== function s = simpson(f, a, b, n) if mod (n, 2) ~= n = n + 1; end; h = (b - a) / (2 * n); s1 = 0; s2 = 0; for k = : n x = a + h *(2* k - 1); s1 = s1 + f(x); end; for k = : (n - 1) x = a + h * * k; s2 = s2 + f(x); end; s = h * (f(a) + f(b) + * s1 + 2* s2) / 3; clc clear all, clc f = inline(‘exp(x) * sin(x)’, ‘x’); a = 0; b = 1; n = 6; s = simpson(f, a, b, n); ... gia tri n '); n=input(''); end; ======================================== % Nhập vào tháng năm bất kỳ, in số ngày tháng clear all thang = input(‘Nhap thang’); nam = input(‘Nhap nam’); switch thang... disp(‘so thang la’); ======================================== % Nhập vào số thực phép toán (+, -, *, /) sau cho biết kết phép toán lên số clear all a = input(‘Nhap a =’); b = input(‘Nhap b =’);... end; disp(‘Ma tran tang theo cot la’); a ===================================== ĐẠI SỐ VÀ GIẢI TÍCH %Nhập vào vector biểu diễn hệ số hàm số bất kỳ, in hình đạo hàm hàm số n = input(‘Nhap dai vector’);

Ngày đăng: 25/09/2017, 14:29

Từ khóa liên quan

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

Tài liệu liên quan