1. Trang chủ
  2. » Thể loại khác

52387712 giai bai tap matlab

5 310 6

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 88,16 KB

Nội dung

bài tập matlab rất hay và bổ ích đã giải sẵn bài tập matlab rất hay và bổ ích đã giải sẵn bài tập matlab rất hay và bổ ích đã giải sẵn bài tập matlab rất hay và bổ ích đã giải sẵn bài tập matlab rất hay và bổ ích đã giải sẵn bài tập matlab rất hay và bổ ích đã giải sẵn bài tập matlab rất hay và bổ ích đã giải sẵn bài tập matlab rất hay và bổ ích đã giải sẵn

Trang 1

Giải bài tập matlab

Có mấy bài ko có input, output thì tự viết, tốn giấy vãi

Câu 1.

a) Tạo hàm để xác định một số n có phải là số nguyên tố hay không

function f=songto(x)

%input x

%output f=1 thi x la so nguyen to, f=0 thi x khong phai so nguyen to

s=0;

for i=1:x/2

if mod(x,i)==0;

s=s+1;

end

end

if s==1

f=1;

else f=0;

b) Tạo hàm script m-file in ra màn hình 50 số nguyên tố đầu tiên (có sử dụng hàm đã tạo)

s=0;

i=0;

while s<10

i=i+1;

if songto(i)==1;

s=s+1;

disp(i);

end;

end;

Câu 2.

a) Tạo hàm để xác định một số n có phải là số hoàn hảo hay không (tự làm)

function f=sohoanhao(n)

%input n

%output f=1 thi x la so hoan hao, f=0 thi x khong phai so hoan hao

s=0;

for i=1:n/2

if (mod(n,i)==0)

s=s+i;

end

end

if(s==n)

f=1;

else

f=0;

end;

b) Tạo script m-file in ra màn hình những số hoàn hảo nhỏ hơn n (có sử dụng hàm đã tạo), với n được nhập từ bàn phím

n=input('Nhap n= ');

for i=1:n-1

if sohoanhao(i)==1

disp(i);

end;

end;

Trang 2

Câu 3.

a) Tạo hàm tính giai thừa của một số n

function f=giaithuăn)

% ham tinh giai thua cua 1 so

f=prod(1:n);

b) Tạo script m-file tính Cnk = n!/(k!*(n-k)!) với n, k được nhập từ bàn phím, k<=n

%input n,k (n>=k)

%output to hop chap k cua n

n=input('Nhap n= ');

k=input('Nhap k= ');

c=giaithuăn)/(giaithuăk)*giaithuăn-k));

disp(['To hop chap ' num2str(k) 'cua ' num2str(n) ' bang: ']);

disp(c);

Câu 4 Viết 1 script để thể hiện

%Nhap ma tran

m=input('Nhap so hang cua ma tran: ');

n=input('Nhap so cot cua ma tran: ');

for i=1:m

for j=1:n

ăi,j)=input(['Nhap ắ num2str(i) ',' num2str(j) ')= ']);

end;

end;

disp(a);

% Gan cho vector x là dong cuoi cung cua Ạ

x=ăend,:);

disp('Dua ra dong cuoi cung cua a: ');

disp(x);

% Gan cho ma tran y la hai cot dau tien cua Ạ

y=ă1:m,1:2);

disp('Dua ra 2 cot dau tien cua a: ');

disp(y);

% Tinh tong theo dong ma tran A, tinh tong theo cot ma tran A

for i=1:m

s(i)=0;

end;

for j=1:n

c(j)=0;

end;

for i=1:m

for j=1:n

s(i)=s(i)+ăi,j);

end;

end;

for i=1:m

disp(['Tong cac phan tu cua hang ' num2str(i) ' = ' num2str(s(i))]);

end;

for j=1:n

for i=1:m

c(j)=c(j)+ăi,j);

2

Trang 3

end;

end;

for j=1:n

disp(['Tong cac phan tu cua cot ' num2str(j) '= ' num2str(c(j))]);

end;

% Tim gia tri lon nhat và nho nhat cua ma tran

min=a(1,1);

max=a(1,1);

for i=1:m

for j=1:n

if(max<a(i,j)) max=a(i,j);

elseif(min>a(i,j)) min= a(i,j);

end;

end;

end;

disp(['Max= ' num2str(max)]);

disp(['Min= ' num2str(min)]);

% Tinh tong trung binh cac phan tu cua A

tb=0;

for i=1:m

for j=1:n

tb=tb+a(i,j);

end;

end;

tb=tb/(m*n);

disp(['Tong trung binh cua MT la: ' num2str(tb)]);

Câu 5.

- Tạo hàm để xác định một số Fibonaxi của số n (F(1)=F(2)=1; F(n)=F(n-2)+F(n-1))

function f=fibo(x)

if x<=2

f=1;

else

f=fibo(x-1)+fibo(x-2);

end;

- Tạo script m-file in ra màn hình những số Fibonaxi nhỏ hơn n (có sử dụng hàm đã tạo), với n được nhập từ bàn phím

n=input('Nhap n= ');

for i=1:n

if fibo(i)<n

disp(fibo(i));

end;

end;

Câu 6

- Tạo script, sử dụng vòng lặp for, tính tổng

s = 2002 + 2 + 4 + 6 + … + 2*n, với n nguyên dương nhập vào từ bàn phím

n=input('Nhap n= ');

s=2002;

for i=1:n

Trang 4

s=s+2*i;

end;

disp(['Tong s= ' num2str(s)]);

- Viết script giải và biện luận phương trình dạng ax + b = 0;

a=input('Nhap a= ');

b=input('Nhap b= ');

if a==0

if b==0

disp(['Phuong trinh co vo so nghiem']);

else disp(['Phuong trinh vo nghiem']);

end;

else disp(['Phuong trinh co nghiem x= ' num2str(-b/a)]);

end;

Câu 7

- Viết hàm tính UCLN của hai số nguyên dương a, b

function f=UCLN(a,b)

a=abs(a);

b=abs(b);

while a~=b

if a>b

a=a-b;

else b=b-a;

end;

f=a;

end;

- Áp dụng tính bội chung nhỏ nhất của hai số nguyên dương được nhập từ bàn phím.

function f=BCNN(a,b)

a=abs(a);

b=abs(b);

f=(a*b)/UCLN(a,b);

Câu 8.

- Viết script giải và biện luận phương trình dạng ax2 + bx + c = 0;

%input a b c

%output nghiem cua Phuong trinh a*x^2 + bx + c = 0;

a=input('Nhap a= ');

b=input('Nhap b= ');

c=input('Nhap c= ');

if a==0

if b==0

if c==0

disp('Phuong trinh vo so nghiem');

else disp('Phuong trinh vo nghiem');

end;

else disp(['Phuong trinh co nghiem kep x1=x2= ' num2str(-c/b)]);

end;

else

delta=b*b-4*a*c;

if delta<0

4

Trang 5

disp('Phuong trinh vo nghiem voi x la so thuc');

end;

if delta==0

disp(['Phuong trinh co nghiem kep x1=x2= ' num2str(-b/2/a)]);

else

x1=(-b+sqrt(delta))/2/a;

x2=(-b-sqrt(delta))/2/a;

disp(['Phuong trinh co 2 nghiem: x1= ' num2str(x1) ' x2= ' num2str(x2)]); end;

end;

Câu 9

- Viết hàm kiểm tra một xâu nhập vào có đối xứng hay không

%input xau ky tu

%output xau ky tu co doi xung hay khong

str=input('Nhap xau ky tu bat ky: ','s');

dao=str(end:-1:1);

if str==dao

disp('Xau tren la xau doi xung');

else disp('Xau ko phai xau doi xung');

end;

Câu 10 Các bài tập cộng, trừ, nhân, chia đa thức.

The End

Ngày đăng: 17/07/2018, 15:01

TỪ KHÓA LIÊN QUAN

w