Žodžiu lygtis: [math]2ln(x)-sin(x)+1=0[/math] ir reikia man ja ispresti paprastuju iteraciju metodu. pirmiausia reikia iš tos lygties išsireikšti x ir sioje vietoje aš pakibau :) Gal galite mane kasnors bent jau ant kelio užvesti?
pakeista prieš 16 m
zzzoak (+107)
Gal taip tiks [math]lnx=(sinx-1)/2([/math] [math]x=exp((sinx-1)/2)[/math]
AncientMariner (+411)
Garantuoju, kad šitos lygties analitiškai neišspręsi. Galima rasti tik apytikslį atsakymą, tą (spėju) ir reikia padaryti.
Nesu girdėjęs sąvokos "paprastosios iteracijos", bet iš skambesio spėčiau, jog tai galėtų reikšti tokį procesą:
0) pasikoreguoji lygtį į 2 ln x - sin x + 1 + x = x; 1) pasirenki kokį nors x_0, geriausia arčiau tiesos (pvz., x_0 = 1); 2) įstatai x_0 į 2 ln x - sin x + 1 + x. Gauni x_1 = 2 ln x_0 - sin x_0 + 1 + x_0; 3) įstatai x_1: gauni x_2 = 2 ln x_1 - sin x_1 + 1 + x_1; 4) įstatai daug kartų: gauni x_(n+1) = 2 ln x_n - sin x_n + 1 + x_n su daug n reikšmių; 5) x_n turėtų artėti į lygties sprendinį, kai n didėja.
Už rezultatus neatsakau: turėk omenyje, kad tai tik mano spėjimas.
AncientMariner (+411)
zzzoak pasiūlymas turėtų būti geresnis.
Rodos, reikia išsireikšti x = f(x) taip, kad aplink sprendinį turėtume |f'(x)| kuo mažesnį (būtinai mažesnį nei 1). zzzoak siūlo f(x) = exp( (sin x - 1) / 2 ), taigi f'(x) = 1/2 * cos x * exp( (sin x - 1) / 2 ). Sprendinys yra ≈ 1 ir turime f'(x) ≈ 1/2 * cos 1, kai x ≈ 1, kas yra gerai.
Mano siūlymas bene turi f'(x) > 1, kai x ≈ 1, kas yra blogai.