208
a(i,j)=1/(i+j-1);
end
end
Bu dastur ishlashi natijasida (10x10) o’lchovli Gilbert matritsasi hosil
qilinadi. for i=0:2:10
y(i)=x(i)*sin(x(i))+1/(x(i)+1);
end
Sikl operatori
while…end ning umumiy ko’rinishi quyidagicha bo’lib, operator
qobig’idagi komandalar ketma-ketlgi noma’lum sonda (shart bajarilguncha)
qaytariladi:
while {operatorlar} end
Bunda {operatorlar}
ketma-ketligi “yolg’on” qiymat qabul qilguncha
takror bajarilaveradi, xuddi shartli operator if dagi kabi solishtirish amallari
orqali aniqlangan bo’lishi kerak.
Masalan, quyidagicha
i=2;
x(1)=10;
x(2)=11;
while abs(x(i)-x(i-1))>=0.001
i=i+1
x(i)=(1000-x(i-1))^(1/3);
end
ketma-ketlikda yozilgan kod
tenglamaning 0.0001 aniqlikdagi
taqribiy
yechimini topib beradi. Bunda, while… end operator qobig’idagi
hisoblashlar necha marta bajarilishi noma’lum.
x vektorning yig’indisi a sonidan oshmaydigan birinchisidan boshlab ketma-
ket kelgan barcha koordinatalarini aniqlasin. Bu masalani hal qiluvchi
komandalar ketma-ketligi quyidagicha bo’ladi:
>>x=a;
k=0;
s=0;
209
while s<=a
k=k+1;
s=s+x(k);
y(k)=x(k);
end
>>y
Yuqoridagi 1-misol vazifasini if…end operatori yordamida bajarish mumkin. U
holda quyidagi fayl funksiyani ishlatish mumkin:
8.4.2-
rasm.
Do'stlaringiz bilan baham: