Islom karimov nomidagi toshkent davlat texnika universiteti «elektronika va avtomatika»


-jadval f(x)=0 ko‘rinishidagi bir necha xil sonli tenglama usullarini iteratsion formulalari


Download 0.71 Mb.
bet6/8
Sana14.10.2023
Hajmi0.71 Mb.
#1702731
1   2   3   4   5   6   7   8
Bog'liq
ТЖMOA Курсовой

2-jadval
f(x)=0 ko‘rinishidagi bir necha xil sonli tenglama usullarini iteratsion formulalari



2. Nyuton

  1. Yarim bo’linish

Metod nomi

Iteratsion formula

Boshlang’ich yaqinlashuv


Oddiy iteratsiya usulidagi kabi mahsus qayta o’zlashtirilgan funksiya

maxsus qayta o’zlashtirilgan funksiya

3. Sekushiy

4.Oddiy iteratsiya

5. Vegsteyna

Analiz usuli.


Gidravlik sistemani kompyuter model hisobini statik harakteristikali Analiz yoli bilan statsanar holatdagi tadqiq etishni asosiy maqsadi unung effektiv ishlash sharoitini aniqlash va optimizatsiyalash masalasini ishlash uchun qo‘shimcha manbalarni keltirish.


NATIJA
Dasturning ko‘rinishi bilan tanishib chiqamiz. Kirish va chiqish bosimlari (P1,P2,P3,P4,P5,P6) Kpa da kiritiladi,balandliklar (Hg1,Hg2) esa, m da kiritiladi.



Gidravlik sistemaning statsionar rejimini hisoblash dasturi
//---------------------------------------------------------------------------

#include


#pragma hdrstop
#include
#include "Unit1.h"

//---------------------------------------------------------------------------


#pragma package(smart_init)
#pragma link "CGAUGES"
#pragma resource "*.dfm"
TForm1 *Form1;
float P1,P2,P3,P4,P5,P6,Pn,t1,h,c1,c2,c7,c3,c4,c5,c6,c7,Hg1,Hg2,h1,h2,h1m[1000],h2m[1000],p7[1000],p8[1000];
float fx[1000],px9[1000],px10[1000],fy[1000],vx1[1000],vx2[1000],vx3[1000],vx4[1000],vx5[1000],vx6[1000],vx7[1000],P7,P8,P9,P10,t,H1x,H2x,V1,V2,V3,V4,V5,V6,V7,b,f,F1,F2,k0,k1,k2,k3,q0,q1,q2,q3,m1,m2;
int rk,tx,l,t2,av;
float hg2,r,c,d,e,pn,D,yechim,x1,x2,p9,h2x,p9x,i,p7j,pnj,sd;
float a1,b1,hg1,x,F3,F,xx,e1;

//---------------------------------------------------------------------------


__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
h=1;
rk=0;
l=0;
m1=0;
av=0;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)


{

P1=StrToFloat(Edit1->Text);


P2=StrToFloat(Edit2->Text);
P3=StrToFloat(Edit3->Text);
P4=StrToFloat(Edit4->Text);
P5=StrToFloat(Edit5->Text);
P6=StrToFloat(Edit6->Text);
Pn=StrToFloat(Edit16->Text);
c1=StrToFloat(Edit7->Text);
c2=StrToFloat(Edit8->Text);
c3=StrToFloat(Edit9->Text);
c4=StrToFloat(Edit10->Text);
c5=StrToFloat(Edit11->Text);
c6=StrToFloat(Edit12->Text);
c7=StrToFloat(Edit13->Text);
Hg1=StrToFloat(Edit14->Text);
Hg2=StrToFloat(Edit15->Text);

h1=0; h2=0;t1=1;t2=1000;h=1;t=t1;tx=t; sd=2;


hisoblash->Click();

}
//---------------------------------------------------------------------------

void __fastcall TForm1::hisoblashClick(TObject *Sender)
{
mx:
P9=Pn*Hg1/(Hg1-h1); // 2
P7=P9+1000*9.81*h1/10000; // 3
b=P1-P7; sgn->Click(); // 4
V1=c1*f*sqrt(fabs(b));
b=P2-P7; sgn->Click(); // 5
V2=c2*f*sqrt(fabs(b));
b=P7-P4; sgn->Click(); // 6
V4=c4*f*sqrt(fabs(b));
P10=Pn*Hg2/(Hg2-h2); // 8
P8=P10+1000*9.81*h2/10000; // 9
b=P3-P8; sgn->Click(); // 10
V3=c3*f*sqrt(fabs(b));
b=P8-P5; sgn->Click(); // 11
V5=c5*f*sqrt(fabs(b));
b=P8-P6; sgn->Click(); // 12
V6=c6*f*sqrt(fabs(b));
b=P7-P8; sgn->Click(); // 13
V7=c7*f*sqrt(fabs(b));
//if(j==0){ p6[0]=P6; p7[0]=P7;j=1;}
F1=(V1+V2-V4-V7);
F2=(V3+V7-V5-V6); //korrektlovchi

if(sd==0){


T3:

a1=0;
b1=hg1+0.1;


i=0;
T1:
i++;
x=(a1+b1)/2;
h1=(a1+b1)/2;

if(x>=(hg1-1)){


hg1=2*hg1; Edit15->Text=2*hg1;Edit13->Text=2*hg1; goto T3; } // }
else{

// Hisoblash qismi


hisoblash->Click();F3=F;
if(F==0){H2->Click(); yech->Click();}
else{ h1=a1;hisoblash->Click(); F1=F;
h1=b1;hisoblash->Click(); F2=F; xx=fabs(F2-F1);

if(xx<2*e1){ h1=(a1+b1)/2;H2->Click();yech->Click();}


else{ if(F3*F1>0){a1=x; goto T1;}
else{ b1=x; goto T1;}

}}}}


switch(rk)
{
case 0 :

p8[tx-1]=P8; fy[tx]=F2; vx1[tx]=V1; vx3[tx]=V3; vx5[tx]=V5; vx7[tx]=V7; px10[tx]=P10;


p7[tx-1]=P7; fx[tx]=F1; vx2[tx]=V2; vx4[tx]=V4; vx6[tx]=V6; px9[tx]=P9;

k0=F1;
q0=F2; t=tx+h/2; h1=H1x+(h/2)*k0;


h2=H2x+(h/2)*q0;
rk=1; break;
case 1 : k1=F1;
q1=F2; t=tx+h/2; h1=H1x+(h/2)*k1;
h2=H2x+(h/2)*q1;
rk=2; break;
case 2: k2=F1;
q2=F2; t=tx+h; h1=H1x+h*k2;
h2=H2x+h*q2;
rk=3; break;
case 3: k3=F1;
q3=F2; goto mx1; break;

} goto mx;


mx1:
h1=H1x+(h/6)*(k0+2*k1+2*k2+k3);
h2=H2x+(h/6)*(q0+2*q1+2*q2+q3);

H1x=h1; h1m[tx]=h1;


H2x=h2; h2m[tx]=h2;
tx=tx+h;
rk=0;
if(tx<=t2){ goto mx;}

p8[t2]=p8[t2-1];


p7[t2]=p7[t2-1];

}
//---------------------------------------------------------------------------

void __fastcall TForm1::sgnClick(TObject *Sender)
{

if(b>0){f=1;}


if(b<0){f=-1;}
if(b==0){f=0;}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::yechClick(TObject *Sender)


{Button5->Click();
Memo1->Lines->Add("v1= "+FloatToStr(vx1[990]));
Memo1->Lines->Add("v2= "+FloatToStr(vx2[990]));
Memo1->Lines->Add("v3= "+FloatToStr(vx3[990]));
Memo1->Lines->Add("v4= "+FloatToStr(vx4[990]));
Memo1->Lines->Add("v5= "+FloatToStr(vx5[990]));
Memo1->Lines->Add("v6= "+FloatToStr(vx6[990]));
Memo1->Lines->Add("v7= "+FloatToStr(vx7[990]));
Memo1->Lines->Add("p7= "+FloatToStr(p7[990]));
Memo1->Lines->Add("p8= "+FloatToStr(p8[990]));
Memo1->Lines->Add("p9= "+FloatToStr(p9[990]));
Memo1->Lines->Add("p10= "+FloatToStr(p10[990]));
Memo1->Lines->Add("h1= "+FloatToStr(h1m[990]));
Memo1->Lines->Add("h2= "+FloatToStr(h2m[990]));
}
//---------------------------------------------------------------------------

void __fastcall TForm1::H2Click(TObject *Sender)


{
float k,m,n;
hg2=StrToFloat(Edit13->Text);
r=0;t=0;
c=1000*9.81/100000;
d=-p7j-c*hg2;
e=hg2*(p7j-pnj);

D=pow(d,2)-4*e*c;


if(D<0){yechim=0;}
if(D>0){
k=-d;
m=pow(D,0.5);
x1=(k-m)/(2*c);
x2=(k+m)/(2*c);
if(x1>=0){r=2; h2=x1; p10=pn*hg2/(hg2-h2);yechim=2;} else{ yechim=0;}
if(x2>=0){t=3; h2x=x2; p10x=pn*hg2/(hg2-h2x);yechim=2;} else{ yechim=0;}
}
if(D==0){ x1=d/(2*c);h2=x1; p10=pn*hg2/(hg2-h2);yechim=2;}

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{

}

//---------------------------------------------------------------------------



Download 0.71 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling