|
Buxoro davlat universiteti
|
bet | 17/19 | Sana | 13.06.2021 | Hajmi | 0.54 Mb. | | #14988 |
with form1.Canvas do
begin
moveTo(i,b); LineTo(i,b-h); // Y o'qining grafigi
MoveTo(x0,y0); Lineto(x0+w,y0); // X o'qining grafigi
Textout(i+5,b-h,floattostrF(TRUNC(y2),ffGeneral,6,3)); // y o'qidagi yuqori qiumat
Textout(i,b,floattostrF(y1,ffGeneral,6,3)); // y o'qidagi pastki qiymat
hx:=int(x*mx/10); XH:=X/10;
FOR J:=1 TO 10 DO BEGIN
Textout(TRUNC(J*HX),Y0,floattostrF(J*XH,ffGeneral,3,3)); END;
Textout(TRUNC(W),Y0-15,'X');
Yuqorida Delphining to’g’ri chiziq chizish imkoniyatini beruvchi moveTo(i,b); LineTo(i,b-h); operatorlari va matnlarni ekranga beruvchi Textout(TRUNC(W),Y0-15,'X'); operatorlaridan foydalanildi.
Koordinata o’qlari va masshtabdan so’ng funksiya grafigini ekranga quyidagi operatorlar yordamida beriladi:
Repeat y:=f(x);
Pixels[i+round(x*mx),y0-Round(y*my)]:=clred; x:=x+dx;
Until(x>=x2);
Bu yerda Delphining nuqtalarni piksellarda ekranga chiqarish imkoniyatini beruvchi Pixels funksiyasidan foydalanildi. Takrorlash parametri x ga qo’shilayotgan dx juda kichik bo’lganidan nuqtalar ekranda bir-biriga yopishgan holda chiqadi va chiziq hosil bo’ladi.
Tajriba nuqtalari topilgan ko’phad grafigiga qanchalik yaqin joylashganini ko’rish uchun ularni kichil aylanalar ko’rinishida ekranga beramiz, bunda ekranning maydoni piksellarda ekanini inobatga olib, masshtab kattaliklaridan foydalanamiz:
for j:=1 to n do begin xa:=x3[j]; ya:=y3[j];
form1.Canvas.Ellipse(trunc(xa*mx),trunc(y0-a*my),trunc(xa*mx+5),trunc(y0-ya*my+5)); end;
Tajriba nuqtalari bilan ularga mos ko’phad qiymatlari orasidagi ayirmalar yig’indisini hisoblash operatorlarini quyidagicha yozamiz:
SY:=0;
FOR J:=1 TO N DO BEGIN SY:=SY+ABS(Y3[J]-F(X3[J]));
MEMO1.Lines.Add(' YNAZ= '+FLOATTOSTR(f(X3[J]))+ ' YTAJ= '+FLOATTOSTR(Y3[J])); END;
MEMO1.Lines.Add(' AYRMA= '+FLOATTOSTR(SY));
LABEL5.Caption:=FLOATTOSTR(SY); end;
Boshlang’ich ma’lumotlar kiritilgan holdagi Delphi loyihasi ko’rinishi quyidagicha bo’ladi:
2.3.6-chizma. Grafik chizish uchun ma’lumotlar.
Ana shu ma’lumotlar asosida regressiya tenglamasi tuzilib, grafigi ekranga berilganda quyidagi ko’rinishni olamiz:
2.3.7-chizma. Tajriba nuqtalari tushirilgan regressiya tenglamasi ko’rinishi.
Endi dasturni qayta ishlatib, darajali funksiya ko’rinishiga yaqin quyidagi qiymatlarni kiritamiz:
2.3.8-chizma. Darajali funksiyaga yaqin qiymatlar kiritilgan hol.
Ushbu berilganlar asosida grafik chizamiz:
2.3.9-chizma. Darajali ko’rinishfagi regressiya tenglamasi grafikda.
Shunday qilib ettita funksiya ko’rinishiga yaqin regrassiya tenglamasini yaratish uchun matematik model asosida algoritm va dastur, shuningdek, grafik chizuvchi Delphida dastur tuzildi.
|
| |