3-Mavzu: Matlab 2014 dasturida oddiy chiziqli dasturlar yaratish.
Nazariy qism.
Arifmеtik amallar. Matlabda skalyar miqdorlar ustida quyidagi oddiy arifmеtik amallarni bajarish mumkin:
+ - qo’shish;
- - ayirish;
* - ko’paytirish;
/ - o’ngdan bo’lish;
\ - chapdan bo’lish;
^ - darajaga oshirish.
Agar bir qatordagi ifodada bir nеchta amallar bo’lsa, ularni bajarilish kеtma-kеtligi quyidagi ustivorlik qoidasi bo’yicha amalga oshiriladi:
Matlabda bu qoidalar skalyar miqdorlarga oddiy usulda qo’llaniladi.
Masalan:
komanda natija
2*5 ans =10
5/8 ans =0.625
5\8 ans = 1.600
x= pi/6; y= sin(x) y= 0.500
a=0; z=exp (4*a)/8 z= 0.125
Amaliy qism.
1.Ikkita haqiqiy a va b sonlari berilgan bo´lsin. Ularning yig‘indisi, ayirmasi va ko‘paytmasini toping.
function misol1()
a=input('a=');
b=input('b=');
c=a+b;
d=a-b;
f=a*b;
disp(c);
disp(d);
disp(f);
end
Natija:
>> misol1
a=15
b=5
20
10
75
2. Ikkita haqiqiy a va b sonlari berilgan bo´lsin. Ularning o’rta arifmetig va o’rta geometrigini toping.
function misol2()
a=input('a=');
b=input('b=');
C=(a+b)/2;
D=sqrt(a*b);
disp('arifmetik->>');disp(C);
disp('geometrik->>');disp(D);
end
Natija:
>> misol2
a=4
b=16
arifmetik->>
10
geometrik->>
8
3. Ikkita haqiqiy a va b musbat sonlari berilgan bo´lsin. Ularning o’rta garmonik qiymatini toping.
function misol3 ()
a=input('a=');
b=input('b=');
c=2/(1/a+1/b);
disp(c);
end
Natija:
>> misol3
a=2
b=4
2.6667
4.Tomonlari a va b haqiqiy musbat sonlar bo’lgan to’g’ri to’rtburchakning yuzini toping.
function misol4()
a=input('a=');
b=input('b=');
S=a*b;
disp(S);
end
Natija:
>> misol4
a=15
b=25
375
5. Koordinatalari (x1, y1) va (x2, y2) bo‘lgan ikki nuqta orasidagi masofani toping.
function misol5 ()
x1=input('x1=');
x2=input('x2=');
y1=input('y1=');
y2=input('y2=');
d=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
disp(d);
end
Natija:
>> misol5
x1=5
x2=4
y1=6
y2=4
2.2361
6. Uchburchak uchlarining koordinatalari orqali berilgan bo‘lsin. Uning
perimetri va yuzini toping.
function misol6 ()
x1=input('x1=');
x2=input('x2=');
x3=input('x3=');
y1=input('y1=');
y2=input('y2=');
y3=input('y3=');
a=sqrt(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1);
b=sqrt(x3-x2)*(x3-x2)+(y3-y2)*(y3-y2);
c=sqrt(x3-x1)*(x3-x1)+(y3-y1)*(y3-y1);
P=a+b+c;
p=P/2;
S=sqrt(p*(p-a)*(p-b)*(p-c));
disp(a);
disp(b);
disp(c);
disp(P);
disp(p);
disp(S);
end
Natija:
>> misol6
x1=12
x2=4
x3=6
y1=2
y2=8
y3=3
36.0000 -22.6274i
27.8284
1.0000 -14.6969i
64.8284 -37.3244i
32.4142 -18.6622i
3.4413e+02 + 5.6982e+01i
7.To’g’ri burchakli uchburchakning katetlari a va b haqiqiy musbat sonlardan tashkil topgan. Berilgan uchburchakning gipotenuzasini toping.
function misol7()
a=input('a=');
b=input('b=');
c=sqrt(a*a+b*b);
disp(c);
end
Natija:
>> misol7
a=6
b=8
10
8. Uchta haqiqiy a va b va c sonlari berilgan bo´lsin. Ularning qiymatlarini almashtiring.
function misol8 ()
a=input('a=');
b=input('b=');
c=input('c=');
d=a;
a=b;
b=c;
c=d;
disp(a);
disp(b);
disp(c);
end
Natija:
>> misol8
a=5
b=3
c=15
3
15
5
9.Tomoni a ga teng bo’lgan kvadratning yuzini va perimetrini toping.
function misol9 ()
a=input('a=');
S=a*a;
P=4*a;
disp(S);
disp(P);
end
Natija:
>> misol9
a=25
625
100
10.y = kx + b funksiyaning qiymatini hisoblang.Bu yerda k,x va b haqiqiy sonlar. a haqiqiy son.
function misol10 ()
x=input('x=');
k=input('k=');
b=input('b=');
y=k*x+b;
disp(y);
end
Natija:
>> misol10
x=100
k=16
b=25
1625
4-Mavzu: Matlab 2014 dasturi yodamida tarmoqlanuvchi operatorlar.
Nazariy qism:
Matlab 2014 dasturida boshqa dasturlash tillari kabi ko’p funksiyalarda ishlash imkonini beradi. Asosan c va c++ dasturlash tiliga ancha yaqin bo’lib ba’zi operatorlar o’xshashligi bilan farqlanadi. Matlab 2014 dasturida yordamida tarmoqlanuvchi operatorlar if va else hizmatchi so’zlaridan foydalaniladi. Asosan matlab 2014 dasturi va ko’p funksiyali obyektga yo’naltirilgan dasturlash tillari shu jumlasiga kiradi. If operatori tarmoqlanuvchi operator bo’lib bu operatorda shart bajariladi if – agar shart bajarilsa unda qiymat chiqarilsin else – aks holda boshqa shart bajarilib qiymatni chiqarilsin. Hamisha operator bajarilganidan keyin end – hizmatchi so’zi ishlatiladi asosan operator tugaganidan darak beradi. Har bir operatordan keyin nuqta vergul (;) ishlatiladi aks holda operator tugamaganini bildiradi va dastur ishlamaydi. Quyida matlab 2014 dasturi yordamida tarmoqlanuvchi operatorlarga misollar ko’rilgan. Tarmoqlanuchi operatorlarga if, else – operatorlari kiradi. Matlab 2014 dasturi ham ko’p funksiyali dasturlash tillari hisoblaniladi. Shu jumladan ba’zi operatorlari bir biriga o’xshash jihatlari mavjudligini ko’ramiz. Misol sifatida quyidagi masalani yechilishiga e’tibor beramiz.
x va y haqiqiy sonlar berilgan bo‘lsin.Shu sonlarning eng kattasini toping.
function max() ------------------- funksiya nomi
x=input('x='); ------------------- x o’zgaruvchini e’lon qilamiz.
y=input('y='); ------------------- y o’zgaruvchini e’lon qilamiz.
if x > y ------------------- x>y shart bajarilsa
fprintf('max element - %.d\n',x); ------------------- x ni chiqar
else ------------------- aks holda
fprintf('max element - %.d\n',y); ------------------- y ni chiqar
end ------------------- if operatori tugadi.
end ------------------- max dasturi tugadi.
Amaliy qism.
1.x va y haqiqiy sonlar berilgan bo‘lsin.Shu sonlarning eng kattasini toping.
function misol1 ()
x=input('x=');
y=input('y=');
if x>y
max=x;
else
max=y;
end
disp(max);
end
Natija:
>> misol1
x=5
y=15
15
2. x va y haqiqiy sonlar berilgan bo‘lsin.Shu sonlarning eng kichigini toping.
function misol2 ()
x=input('x=');
y=input('y=');
if x>y
min=y;
else
min=x;
end
disp(min);
end
Natija:
>> misol2
x=20
y=35
20
3. x va y haqiqiy sonlar berilgan bo‘lsin.Shu sonlarning eng kichigini noll bilan kattasini 1 bilan almashtiring.
function misol3 ()
x=input('x=');
y=input('y=');
if x>y
x=1;
y=0;
else
x=0;
y=1;
end
disp(x);
disp(y);
end
Natija:
>> misol3
x=100
y=250
0
1
4. x, y va z haqiqiy sonlar berilgan bo‘lsin. Shu sonlarning eng kattasini toping.
function misol4 ()
x=input('x=');
y=input('y=');
z=input('z=');
if x>y
max=x;
else
max=y;
end
if max>z
max1=max;
else
max1=z;
end
disp(max1);
end
Natija:
>> misol4
x=124
y=235
z=452
452
5. x, y va z haqiqiy sonlar berilgan bo‘lsin. Shu sonlarning eng kichigini toping.
function misol5 ()
x=input('x=');
y=input('y=');
z=input('z=');
if x>y
min=y;
else
min=x;
end
if min>z
min1=z;
else
min1=min;
end
disp(min1);
end
Natija:
>> misol5
x=150
y=236
z=345
150
6.a,b va c haqiqiy sonlarin berilgan bo’lsin.Shu sonlarda munosabat o’rinlimi? Agar shu munosabat o’rinli bo’lsa ekranga “ha” so’zini aks holda “yo’q” so’zini chiqaring.
function misol6 ()
a=input('a=');
b=input('b=');
c=input('c=');
if a
min=a;
end
if minend
if bdisp('ha');
else
disp('yoq');
end
end
Natija:
>> misol6
a=12
b=25
c=36
ha
7. Ikkita haqiqiy son berilgan. Agar ularning birinchisi ikkinchisidan kichik bo‘lsa, uni nol bilan, aks holda berilgan sonlarning o‘rta arifmetigi bilan almashtiring.
function misol7 ()
a=input('a=');
b=input('b=');
if ac=0;
else
c=(a+b)/2;
end
disp(c);
end
Natija:
>> misol7
a=26
b=54
0
8. Uchta o‘zaro har xil sonlarning yig‘indisi birdan kichik bo‘lsa, berilgan sonlarning eng kichigi, aks holda eng kattasi topilsin.
function misol8 ()
a=input('a=');
b=input('b=');
c=input('c=');
if (a+b+c)<1
min1=min(a,b);
min2=min(min1,c);
disp(min2);
else
max1=max(a,b);
max2=max(max1,c);
disp(max2);
end
end
Natija:
>> misol8
a=0.2
b=0.1
c=0.5
0.1000
9. Ikkita a va b haqiqiy sonlar berilgan bo‘lsin. ax+b=0 tenglamaning yechimimi toping.
function misol9 ()
a=input('a=');
b=input('b=');
if a=0
disp(yechim yoq);
else
disp(-b/a);
end
end
Natija:
>> misol9
a=0
b=5
yechim yoq
>> misol9
a=5
b=25
-5
10.Uchta a, b va c haqiqiy sonlar berilgan bo‘lsin. Shu sonlar uchun ax2+bx-c=0 tenglamaning haqiqiy yechimlari mavjudmi? Agar mavjud bo‘lsa, bu yechimlarni aniqlang.
function misol10 ()
a=input('a=');
b=input('b=');
c=input('c=');
D=b*b-4*a*c;
if D>=0
x1=(-b+sqrt(D))/2*a;
x2=(-b-sqrt(D))/2*a;
disp(x1);
disp(x2)
else D<0
disp('yechim yoq');
end
end
Natija:
>> misol10
a=1
b=-7
c=12
4
3
5-Mavzu: Matlab 2014 dasturda takrorlanuvchi operatorlar.
Nazariy qism:
Matlab 2014 dasturida boshqa dasturlash tillari kabi ko’p funksiyalarda ishlash imkonini beradi. Asosan c va c++ dasturlash tiliga ancha yaqin bo’lib ba’zi operatorlar o’xshashligi bilan farqlanadi. Matlab 2014 dasturida yordamida takrorlanuvchi operatorlar for hizmatchi so’zlaridan foydalaniladi. Asosan matlab 2014 dasturi va ko’p funksiyali obyektga yo’naltirilgan dasturlash tillari shu jumlasiga kiradi. For operatori takrorlanuvchi operator bo’lib bu operatorda sikl bajariladi for – qanchadan qanchagaga takrorlanuvchi takrorlash tanasi. Hamisha operator bajarilganidan keyin nuqta vergul (;) ishlatiladi aks holda operator tugamaganini bildiradi va dastur ishlamaydi. Quyida matlab 2014 dasturi yordamida takrorlanuvchi operatorlarga misollar ko’rilgan. Takrorlanuvchi operatorlarga for – operatori kiradi. Matlab 2014 dasturi ham ko’p funksiyali dasturlash tillari hisoblaniladi. Shu jumladan ba’zi operatorlari bir biriga o’xshash jihatlari mavjudligini ko’ramiz. Misol sifatida quyidagi masalani yechilishiga e’tibor beramiz.
1.a va m butun sоnlar bеrilgan. Quyidagi ifоdani hisоblash dasturini tuzing.
function misol1() funksiya nomi
a=input('a='); a o’zgaruvchini e’lon qilish
m=input('m='); m o’zgaruvchini e’lon qilish
s=0; s ga boshlang’ich nol qiymat beriladi
p=1; p bu yerda takrorlanish uchun siklning boshi
for i=1:m takrorlansin 1 dan m gacha
p=p*(a+i-1); takrorlanishning boshi va p ga o’zlashtiriladi
s=s+i/p; s natijalarni yig’adi
end for operatori tugadi
disp(s); s ni qiymatini hisoblanadi
end dastur tugallaniladi
Amaliy qism:
1.a va m butun sоnlar bеrilgan. Quyidagi ifоdani hisоblash dasturini tuzing.
function m1()
a=input('a=');
m=input('m=');
s=0;
p=1;
for i=1:m
p=p*(a+i-1);
s=s+i/p;
end
disp(s);
end
Natija:
0>1>
Do'stlaringiz bilan baham: |