Tài liệu gồm các bài tập Matlab đơn giản cho người mới bắt đầu gồm cả phần đại số và phần đồ họa. Phù hợp với sinh viên chuyên nghành điện điện tử, điện tử viễn thông, và các nghành kĩ thuật có liên quan.
Trang 1Đồ họa1
1 clc
2 clear
3 x=[2:0.1:6];
4 y=sin(x);
5 plot(x,y,'gp',x,y,'cs',x,y,'r-*') %c la mau xanh xam p la hinh da giac polygon
6 xlabel('Truc hoanh')
7 ylabel('Truc ttung')
8 grid
9 text(4,0,'Quang Vuong')
10 gtext('dep trai') %matlab se dua ra toa do ngam de dat xau vao
11 legend('hoc dot','gia nua') % them chu thich vao doo thi, co the di chuyen di khap do thi
a %'hoc dot':se chu thich cho do thi 1
b %'gia nua': se chu thich cho do thi 2
12 title('Do thi vi du cho Do Hoa Matlab')
Đồ họa2
1 clc
2 clear
3 x=linspace(0,2*pi,30);
4 y=sin(x);
5 z=cos(x);
6 subplot(1,3,1)
7 plot(x,y);
8 subplot(1,3,3)
9 plot(x,z,'m')
10 subplot(1,3,2)
11 plot3(y,x,y)
Đồ họa 3:
clc
clear
t=linspace(5,15);
subplot(1,2,1);
plot3(sin(t),cos(t),t,'pr')
view([100,70])
Trang 2*Cac phep toan co ban
1 clc
2 clear
3 %CacPhepToanCoBanTrongMatlab
4 5/4 %Chia phai kq=1,25
5 5\4 %Chia trai kq=0,8
6 2^3 %luy thua
7 , %chuyen vi ma tran hay so phuc lien hop
8 %Cac toan tu quan he:
9 %< <= > >= == bang ~= khong bang
10 %Cac toann tu logic:
11 % & va | or ~ not
12 %Cac hang so:
13 %pi 3,14159265
14 % i so ao
15 % j tuong tu i
16 % eps sai so 2^-52
17 % realmin :sothuc nho nhat 2^-1022
18 %realmax :sothuc lon nhat 2^1023
19 %inf :vo cung lon
20 %NaN :not a number
Giai ax +b =0
%Giai phuong trinh ax+b=0
clc
a=input('a=');
b=input('b=');
if a==0
if b==0
disp('phuong trinh vo so nghiem')
else
disp('phuong trinh vo nghiem')
end
else
x=-b/a;
disp(x)
end
*Giai phuong trinh 2 an:
clc
a=input('a=');
b=input('b=');
c=input('c=');
if(a==0)
if b==0
if c==0
disp('phuong trinh vo so nghiem')
else
disp('phuong trinh vo nghiem')
end
else
x=-c/b;
Trang 3disp(x)
end
else
delta=b*b-4*a*c;
if((delta)>0)
disp('Phuong trinh da cho co 2 nghiem:')
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
disp(x1)
disp(x2)
else
if((delta)<0)
disp('\nPhuong trinh da cho vo nghiem vi delta <0')
else((delta)==0)
disp('\nPhuong trinh co nghiem kep:')
x=-b/(2*a);
disp(x)
end
end
end
*Giai he
%Giai he phuong trinh bac nhat 2 an:
%a1X + b1Y = c1
%a2X + b2Y = c2
clc
fprintf('Giai phuong he phuong trinh 2 an: \na1X + b1Y = c1\na2X + b2Y = c2') fprintf('\nNhap vao he phuong trinh bac nhat 2 an:\n')
a1=input('a1=');
b1=input('b1=');
c1=input('c1=');
a2=input('a2=');
b2=input('b2=');
c2=input('c2=');
d=a1*b2-a2*b1;
d1=c1*b2-c2*b1;
d2=a1*c2-a2*c1;
if (d==0 & d1==0 & d2==0)
disp('He phuong trinh vo so nghiem')
else
if(d==0 & (d1==0 | d2==0))
disp('He phuong trinh vo nghiem')
else
disp('He phuong trinh da cho co nghiem:')
x=d1/d;
y=d2/d;
fprintf('\nX = %d',x)
fprintf('\nY = %d\n',y)
end
end
Trang 4Khai bao ma tran
clc
clear
a=[1 2 4; 5 7 23] %Matran 2 hang 3 cot
a(1) %lay ra phan tu thu 1 trong ma tran
a(3) %lay tra phan tu thu 3 cua ma tran, chu y matlab dem tu tren xung roi sang hang khac
length(a) %ham length chi ra kich thuoc lon nhat cua hang hoac cot
%neu hang hoac cot dai hon thi chi ra kich thuoc lon hon
size(a) %chi ra kich thuoc ma tran a dang 2*3
5>4 %Dung nen matlab tra ve ket qua 1
5>4 & 6>7 %sai o 6>7 nen matlab tra ve ket qua 0 AND
5>4 | 6>7 %chi can 1 trong hai dung thi cho ket qua dung 1 OR
Khai báo véc tơ
clc
clear
b=[7:1:20] %[phantudau : khoangcach : phantucuoi]
i=[1:10] %Neu ta khong ghi khoang cach may mac dinh khoang cach bang 1 b=[i:1:20] %May se cong tiep day i den 20
c=[i 2 1] %May se them hai phan tu 2 va 1 vao mang i
d=length(c) %Cho biet so phan tu cua mang c
Săp xếp mảng
%Sap xep mang theo thu tu giam dan
clc
clear
disp('So gia tri n ban se nhap la:')
n=input('n=');
for i=[1:n]
a(i)=input('Gia tri thu i =');
end
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 duoc sap xep lai:' )
for j=[1:n]
disp(a(j))
end
>0 và chia het 3
Trang 5clear
disp( 'Nhap vao gia tri:' )
n=input( 'n=' );
for i=[1:n]
fprintf( 'gia tri thu %d ' ,i)
a(i)=input( 'la:' );
end
dem=0;
s=0;
for i=[1:n]
if a(i)>10 & rem(a(i),3)==0
s=s+a(i);
dem=dem+1;
end
end
tbc=s/dem
Tìm max
%VD8.Nhap vao mang, dua ra gia tri lon nhat va vi tri cua no
clc
clear
disp('Ban se nhap n gia tri:');
n=input('n=');
for i=[1:n]
fprintf('Gia tri thu %d ',i);
a(i)=input('la: ');
end
max=a(1);
vitri=0;
for i=[2:n]
if a(i)>max
max=a(i);
vitri=i;
end
end
disp('Gia tri lon nhat cua mang la:')
max
disp('O vi tri:')
vitri
TBC của ma trận
%VD9: Nhap vao so nguyen kich thuoc [n:m] voi n, m nhap tu ban phim
%a, tinh trung binh cua ma tran
%b,Dem xem o cot 1 co bao nhieu phan tu chi het cho 3
%c,Nhap k tu ban phim voi 0<k<=n Sap xep hang k theo thu tu tang dan clc
clear
disp('Ma tran n*m ban se nhap tu ban phim co:');
n=input('n=');
m=input('m=');
for i=[1:n]
Trang 6for j=[1:m]
fprintf('\nGia tri thu %d*%d',i,j)
a(i,j)=input(' la: ');
end
end
tong=0;
for i=[1:n]
for j=[1:m]
tong=tong+a(i,j);
end
end
tbc=tong/(m*n);
disp('Trung binh cong:')
tbc
% phan b)
dem=0;
for i=[1:n]
if rem(a(i,1),3)==0
dem=dem+1;
end
end
disp('So phan tu chia het cho 3 la:')
dem
%phan c)
disp('nhap so hang can sap xep')
k=input('k=');
for i1=[1:n-1] %i va j o day khong phai la hang va cot nua ma la for j1=[i1+1:m]
if a(k,i1)>a(k,j1)
tg=a(k,i1);
a(k,i1)=a(k,j1);
a(k,j1)=tg;
end
end
end
for j1=[1:m]
disp(a(k,j1));
end
XYZ
clc
clear
x=[-20:0.1:20];
y=x;
[x,y]=meshgrid(x,y);
a=sqrt(x.^2+y.^2);
z=sin(a)./a;
mesh(x,y,z)