You are on page 1of 32

3. S DNG FILE .

M chng 1, chng ta s dng ca s lnh thc hin cc php tnh ton bng cch tnh ton trc tip trn ca s lnh, nhng gii quyt cc vn phc tp th ta phi s dng cc file c lp trnh. Cc file c lp trnh ca Matlab c gi l cc M - file ( cc file ny c ui l : .m), do trong ton b gio trnh cc file c lp trnh s gi l M-file 3.1 Cch to M-file C 2 cch khi ng mt chng trnh bin son M-file: Cch 1 : t ca s lnh (command windows), g edit. Cch 2 : Vo menu file, chn New. Khi , chng trnh s hin th mt ca s trng chng ta son tho

Sau khi son tho xong M-file, chng ta nhn : Ctrl + S hoc File/Save lu file chng trnh. Khi t tn file chng trnh phi ng theo quy nh ca Matlab. C th, tn file phi c bt u bng ch, sau c th s dng s, v c dng du gnh ngang di phn bit, v d tn file : baitap_21.m

chay chng trnh, c th s dng mt trong 2 cch sau : Cch 1 : Trong mi trng son tho M-file, chng ta vo menu debug/ Run hoc nhn phm tt F5. Cch 2 : Trong ca s lnh command window, chng ta nhp vo ng tn M-file c lu, sau nhn Enter. Nu chng trnh c lp trnh ng, sau khi chy chng trnh, ngi s dng chuyn ra ca s lnh xem kt qu. Cn ngc li, chng trnh s bo li ,Matlab pht ra 1 ting bip bo hiu, ng thi chng trnh s t chuyn sang ca s lnh, thng bo cho ngi lp trnh v tr b li .

3.2 Cc hm nhp v hm xut d liu ra mn hnh a. hm nhp d liu C php : x = input ( 'prompt' ) Trong : input : T kho ca hm nhp d liu x : tn bin c gn gi tr nhp vo. promp : dng text m ngi s dng nh vo. Din t : bin x s c gi tr bng gi tr m ngi s dng nhp vo

b. hm xut d liu ra mn hnh C php : disp ( x ) disp( text ) Trong : disp : T kho ca hm xut d liu x : tn bin hoc cc gi tr s cn xut ra mn hnh text : dng text m ngi s dng cn xut ra mn hnh V d 3.1: Thnh lp hm M-file , nhp vo gi tr tit din dy dn, nhp vo chiu di v xut ra gi tr in tr ca on dy. Cho dy dn bng ng (=18.84 mm2/km) Thnh lp hm M-file

% Nhap tiet dien day dan - mm F=input('Nhap tiet dien day dan :') % Nhap chieu dai day dan - km l=input (' Nhap chieu dai - km :') % Tinh toan gia tri dien tro R=18.84*l/F % Xuat gia tri dien tro ra man hinh disp('Gia tri dien tro la :') disp(R) Chy chng trnh, ca s lnh s yu cu nhp vo F v l, sau s hin th kt qu in tr R Ghi ch : C php : clear hoc clear all s xa ton b cc bin ang c s dng trong matlab, gip chng trnh chy ng.

%chuong trinh tinh dthcn disp('tinh dien tich hinh chu nhat'); a=input('nhap a='); b=input('nhap b='); S=a*b disp('dien tich hinh chu nhat:'); disp(S) %chuong trinh giai phuong trinh bac hai disp('CHUONG TRINH GIAI PHUONG TRINH BAC HAI') disp('nhap vao cac he so:') a=input('nhap he so a = '); b=input('nhap he so b = '); c=input('nhap he so c = '); delta = b^2-4*a*c; disp('cac nghiem so : '); x1=(-b+sqrt(delta))/(2*a) x2=(-b-sqrt(delta))/(2*a)

3.3 Cc hm con . a. Hm iu kin: if- elseif - else end Dng n gin hm if end (if- else end) C php : if expression statements end Trong : if, end : T kho ca hm expression : iu kin biu thc logic statements : Lnh hoc nhm lnh cn thc thi Din t : Nu tha iu kin - biu thc logic th s thc hin lnh.

V d1: Nu x>=0 th y=x s c vit trong chng trnh Matlab nh sau: x=input('nhap gia tri x = : ') if x>= 0 y=sqrt(x) end V d2: a=input('nhap a = '); b=input('nhap b = '); if a<b disp('a nho hon b'); end if a==b disp('a bang b'); end if a>b disp('a lon hon b'); end

Vit chng trnh gii phng trnh bc nht ax + b = 0 ax + b = 0 ax = -b


% Giai phuong trinh bac nhat

a=input('nhap a='); b=input('nhap b='); if a~=0 x=-b/a;


fprintf('nghiem so x=%9.5g\n',x);

a 0 x = -b/a a= 0 0x = -b b 0: ptvn b = 0: ptvsn

else if b~=0 disp('ptvn') else disp('ptvsn') end end

%chuong trinh giai phuong trinh bac hai disp('giai phuong trinh bac hai') a=input('nhap a='); b=input('nhap b='); c=input('nhap c='); delta=b^2-4*a*c; d=delta; if d<0 disp('ptvn') else if d==0 x=-b/(2*a); fprintf('nghiem so x=%9.5g\n',x); else x1=(-b-sqrt(d))/(2*a); x2=(-b+sqrt(d))/(2*a); fprintf('nghiem so x1=%9.5g\n',x1); fprintf('nghiem so x2=%9.5g\n',x2); end end

Dng y if- elseif - else end C php :

if expression1 statements1 elseif expression2 statements2 else statements3 end

if, elseif, else, end : T kho ca hm expression1, 2, 3 : iu kin biu thc logic 1, 2, 3 statements 1, 2, 3 : Lnh hoc nhm lnh thc thi 1, 2, 3 Din t : Nu tha iu kin hoc biu thc logic 1 th s thc hin lnh 1. Nu khng tha iu kin 1, v tha iu kin 2 th s thc hin lnh 2. Nu khng tha iu kin 1 v iu kin 2 th s thc hin lnh 3. Ch : cc iu kin 1, 2 khng c trng lp nhau .

V d 3.3 : Phn bit cc loi in p : h p (<1000V), trung p (<110kV) v cao p (>=110kV) theo gi tr in p nhp vo Lp hm .m file % Nhap gia tri dien ap - kV u=input('Nhap gia tri dien ap - kV : '); % Tinh toan va xuat du lieu if u<1 disp('Day la mang ha ap') elseif u<110 disp('Day la mang trung ap') else disp('Day la mang cao ap') end

V d: Bi ton phn loi hc sinh: im 9-10 xp loi gii, im 7-8 xp loi kh, im 5-6 xp loi trung bnh; im 1,2,3,4 xp loi yu; nu im vo khng phi s nguyn nm gia 1 v 10 th thng bo im khng hp l.

diem = input('nhap diem = :') if (diem == 9)|(diem == 10) disp ('loai gioi ') elseif (diem == 7)|(diem == 8) disp ('loai kha ') elseif (diem == 5)|(diem == 6) disp ('loai trung binh ') elseif (diem>=1)&(diem<=4) disp ('loai yu ') else disp ('diem vao khong hop le ') end

Qui tc x l u tin: Trong mt biu thc Matlab va c ton t s hc, va c ton t quan h v ton t logic, th th t x l trong Matlab nh sau: 1. Cc cp du ngoc, c tnh t cp trong cng nht. 2. Cc ton t s hc v ton t NOT (~) c tnh t tri qua ph1. 3. Cc ton t quan h c tnh t tri qua ph1. 4. Ton t AND 5. Ton t OR

c. Hm vng lp for c s dng khi s ln lp c bit trc C php : for variable = expression statements end

variable = expression : iu kin ca vng lp statements : Lnh hoc nhm lnh thc thi ca vng lp.

Din t : Nu tha iu kin th s thc hin lnh ca vng lp. n khi khng tha iu kin th s thot ra khi vng lp.

V d 3.4 :Thc hin hm .m file tnh tng S = 1 + 2 + 3 + + n S = 0 + 1 + 2 + 3 + + n clc clear disp('tinh tong'); n=input('nhap so hang can tinh tong n='); s=0; % gia tri ban dau cua tong s for i=1:n s=s+i; end fprintf('tong so s=%2.5g\n',s);

V d 3.6 :Thc hin hm .m file tnh tng S = 2 + 4 + + (2n) S = 0 + 2 + 4 + 6 + + 2n clc clear disp('tinh tong'); n=input('nhap so hang can tinh tong n='); s=0; for i=2:2:(2*n) s=s+i; end fprintf('tong so: s=%2.5g\n',s);

Cu trc vng lp for lng vo nhau. Vd: tnh tng S = 1.1 + 1.2 + 1.3 .1.n = 2.1 + 2.2 + 2.3..2.n . . . = m.1 + m.2 + m.3 .m.n

clc clear disp('tinh tong'); n=input('nhap so hang n='); m=input('nhap so hang m='); s=0;% gia tri ban dau cua s for i=1:m for j=1:n s=s+i*j; end end fprintf('tong so: s=%2.5g\n,',s);

Vd: tnh n! n! = 1.2.3.4.5.n GT = 1.1.2.3.4.5n clc clear disp('tinh giai thua'); n=input('nhap so hang n='); GT=1;% gia tri ban dau cua giai thua for i=1:n GT=GT*i; end fprintf('tong so s=%2.5g\n',GT);

d. Hm vng lp while c s dng khi s ln lp khng c bit trc. Qu trnh lp s chm dt khi mt iu kin xc nh no c tha. Cu trc ca vng lp while nh sau: C php : while expression statements end Trong : expression : iu kin ca vng lp statements : Lnh hoc nhm lnh thc thi ca vng lp. Din t : Nu tha iu kin th s thc hin lnh ca vng lp. Hm while c s dng khi cha bit s ln lp, trong khi hm for c s dng khi bit r s ln lp.

Vd: tnh n! n! = 1.2.3.4.5.n GT = 1.1.2.3.4.5n clc clear disp('tinh giai thua'); n=input('nhap so hang can tinh giai thua n='); GT=1; i=1; while i<=n GT=GT*i; i=i+1; end fprintf('tong so s=%2.5g\n',GT);

V d 3.4 :Thc hin hm .m file tnh tng S = 1 + 2 + 3 + + n S = 0 + 1 + 2 + 3 + + n clc clear disp('tinh tong'); n=input('nhap so hang can tinh tong n='); s=0;% gia tri ban dau cua tong s i=1; while i<=n s=s+i; i=i+1; end fprintf('tong so s=%2.5g\n',s);

V d 3.4 :Thc hin hm .m file tnh tng S = 2 + 4 + + (2n) S = 0 + 2 + 4 + 6 + + 2n clc clear disp('tinh tong'); n=input('nhap so hang can tinh tong n='); s=0; i=1; while i<=n s=s+2*i; i=i+1; end fprintf('tong so: s=%2.5g\n',s);

e. Hm vng lp switch-case Cu trc switch-case cho php chng trnh c nhiu la chn v thc hin ch mt trong nhng nhnh ny, ty thuc vo gi tr cu biu thc u vo. Cu trc switch-case c dng nh sau: C php : switch biu thc u vo (v hng hoc chui k t) case gi tr 1 nhm lnh 1 case gi tr 2 nhm lnh 2 case gi tr n nhm lnh n otherwise nhm lnh n+1 end

V d 3.6: Tnh ton gi tr dng nh mc ca ng c theo loi ng c ( 1 pha, 2 pha, 3 pha) theo cc thng s cng sut, in th v hiu sut.

n=input('Nhap so pha cua dong co U=0.4; P=5; cos_fi=0.8; switch n case 1 I1=P/(U*cos_fi) disp('dong co 1 pha co I disp(I1) case 2 I2=P/(U*cos_fi) disp('dong co 2 pha co I disp(I2) case 3 I3=P/(sqrt(3)*U*cos_fi) disp('dong co 3 pha co I disp(I3) end

n:');

la:')

la:')

la:')

V d: tr li bi ton phn loi hc sinh, chng trnh c vit vi cu trc switch-case nh sau: n=input ('cho biet diem : '); disp('phan loai:'); switch n case {0,1,2,3,4} disp('loai yeu'); case {5,6} disp('loai trung binh'); case {7,8} disp('loai kha'); case {9,10} disp('loai gioi'); otherwise disp('khong hop le'); end

BT3.1 Xc nh in p, dng in ca t in trong mch DC Cho t in C =2F c in p v dng in c m t bi phng trnh .

Yu cu : Thnh lp hm .m file Nhp vo gi tr thi gian t Xc nh cc gi tr dng in, in p cng sut ng vi gi tr nhp vo ca t. Xut kt qu ra ca s lnh.

t=input('Nhap thoi gian t :'); if(t<2) i=4; u=2*t-5; p=u*i; elseif and(t>=2,t<=6) i=t+2; u=t^2/4+t-4; p=u*i; elseif and(t>6,t<=14) i=20-2*t u=-t^2/2+10*t-31 p=u*i; else i=-8 u=67-4*t p=u*i;

end disp ('Gia tri dong dien:') disp(i) disp ('Gia tri dien ap:') disp(u) disp ('Gia tri cong suat:') disp(p)

You might also like