formula bilan hisoblanadi. Bu yerda n yaqinlashishlar tartib soni, xn – ildizga n – yaqinlashish. Boshlang’ich, ya’ni nolinchi yaqinlashish f(a) f’"(a)>0 shartni bajaradigan qilib olinadi. Agar shart bajarilsa x0=a, aksincha x0=b qilib olinadi. Urinmalar usuli bilan tenglama ildizlarini aniqlash ikki bosqichda amalga oshiriladi. Urinmalar usuli bilan tenglama ildizlarini aniqlash ikki bosqichda amalga oshiriladi. Birinchi bosqichda x0 tanlab olinadi. Buning uchun f(x) funksiyaning ikkinchi tartibli hosilasi topiladi va uning x=a nuqtadagi qiymati hisoblanadi hamda yuqoridagi shartga asosan x0 tanlab olinadi. Ikkinchi bosqichda f(x), f(x) qiymatlarini hisoblash uchun funksiyalar tuziladi, x0, qiymatlari EHMga kiritiladi va dastur yordamida hisoblashlar bajariladi. #include - #include
- #include
- using namespace std;
- float fnf(float x){
- return exp(x)-10*x-2;
- }
- float fna(float x){
- return exp(x)-10;
- }
- float fnb(float x){
- return exp(x);
- }
- int main(){
- float a,b,h,eps,x1,x2,x; int i;
- cout<<"Ildiz yotgan kesma [a,b]"<
- cout<<"a="; cin>>a;
- cout<<"b="; cin>>b;
- cout<<"h="; cin>>h;
i=1;eps=0.001; x1=a; - i=1;eps=0.001; x1=a;
- L1: x2=x1+h;
- x=x1; a=x2;
- if(x2>b) goto L4;
- if(fnf(x1)*fnf(x2)>0) goto L3;
- if(fnf(x1)*fnb(x1)>0) goto L2;
- x=x2; a=x1;
- L2: x=x-fnf(x)*(a-x)/(fnf(a)-fnf(x));
- if (fabs(fnf(x))>eps) goto L2;
- cout.precision(4);
- cout<Download 1,92 Mb.
Do'stlaringiz bilan baham: |