Yechimlarni berilgan aniqlikda topish. Yechim toq bo`ladigan oraliq tanlab olinadi. Bu oraliqning o`rta nuqtasi topiladi. Oraliqning har ikki bo`lagi uchun funktsiyaning ishoralari aniqlanadi. Agar funktsiya hosil qilingan oraliqlardan birortasining chegaraviy nuqtalarda bir hil ishorali qiymatlarni qabul qilsa, bu oraliqni tashlab yuborish mumkin. Olib qolingan yangi oraliqning chegaraviy nuqtalarida funktsiyaning qiymatlari turli ishorali qiymatlarni qabul qiladi. Bu oraliqni ham o`rta nuqtasi yordamida ikkiga bo`lamiz. Bu jarayon to yechim mavjud bo`lgan oraliqning uzunligi biror ξ dan kichik bo`lib qolguncha davom etadi. Oxirgi oraliq yagona yechim mavjud bo`lgan oraliq hisoblanadi va ildizlarni ajratish jarayonini boshqa oraliq uchun davom ettirish mumkin bo`ladi.
Ildizlarni Excel dasturi yordamida ajratish masalasi quyidagi tartibda amalga oshiriladi. Jarayonni quyidagi tenglama yordamida bayon etamiz:
x5-4x-2=0 (1.3)
a) (1.3) tenglamaning ildizlarni ajratish uchun DELPHI tilida interfeys ishlab chiqiladi;
b) (1.3) tenglamaning barcha ildizlarini ajratiladi.
1. Ildizlarni ajratish uchun DELPHI tilida interfeys ishlab chiqish. Bu jarayonda DELPHI dasturlash tili ishga tushuriladi va bo’sh formaga izohlar uchun
5 ta LABEL, oraliq chegaralari bo’lgan a va b sonlarni kiritish uchun 2 ta EDIT, hisoblash jarayonini boshlash uchun 1 ta buyruqli tugma joylashtiriladi (1.3-rasm).
1.3-rasm. Ilova interfeysi
Interfeysga joylashtirilgan komponentalarning hususiyatlari rasmga mos ravishda o’zgartiriladi. Shundan keyin ISHNI BOSHLASH tugmasi uchun hodisalarni qayta ishlagich kodini ishlab chiqiladi.
Biz yuqorida ko`rdikki, tenglamaning ildizlarini ajratish jarayoni bir nechta bosqichlardan iborat bo`ladi:
ko’rinib turibdiki, berilgan funksiya sonlar o’qida uzluksiz;
[a, b] oraliqning chegaraviy nuqtalaridagi funksiya ishoralari aniqlanadi;
agar bu qiymatlar turli ishorada bo`lsa, ya`ni f(a)*f(b)<0 bo`lsa, bu oraliqda f΄(x) yoki f΄΄(x) funktsiyalarning o`z ishoralarini saqlashlari aniqlanadi;
Agar f΄(x) yoki f΄΄(x) funktsiyalar [a, b] oraliqda o`z ishoralarini saqlasa, bu oraliqda (1.3) tenglama yagona yechimga ega bo`ladi.
Demak, yaratiladigan elektron jadval a) - c) shartlarni bajarilishini ta`minlashi lozim. Interval chegaralarining o`zgaprishi bu jarayonni yangi interval uchun takroran bajaradi. Bu ma’lumotlarni yodda saqlagan holda kod listingini quyidagicha yoziladi.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Label5: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c, a1, a2 : real;
begin
a:=StrToFloat(Edit1.text);
b:=StrToFloat(Edit2.text);
while (a
begin
c:=a+0.1;
a1:=a*a*a*a*a-4*a-5;
a2:=c*c*c*c*c-4*c-5;
If (a1*a2<0) then
Label5.Caption:=Label5.Caption+'['+FloatToStr(a)+' , '+FloatToStr(c)+'] ';
a:=c;
end;
end;
end.
Dasturni ishga tushirib, yechim uchun oraliqlarni mos oynalarga kiritilsa, u yagona yechim mavjud bo’lgan oraliqlarni aniqlab beradi (1.4-rasm)
1.4-rasm. Dastur natijasi
Do'stlaringiz bilan baham: |