TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
Pascal i rownania nieliniowe , Nero 17/10/05 23:27 Otoz mam taki problem - jestem na 2 roku budownictwa Politechniki i na dzisiejszych zajeciach z informatyki wpadl jakis profesor, w ciagu godziny omowil Pascala i dal nam do napisania program rozwiazujacy rownanie nieliniowe 2e^x-x^2=0 za pomoca metody siecznych.
Wszystko fajnie tylko ze na 1 roku to na informatyce robilismy worda, excela, mathcada i autocada glownie - o zadnych programowaniu nie bylo mowy co mnie raczej nie dziwi bo budowanie z programowaniem nie za wiele ma chyba wspolnego ale nie wazne.
2 problem to taki ze na matmie rownan nieliniowych to tez nie bylo wiec mam spory problem jak sie za to zabrac w gole.
Jakby ktos bylby tak mily i napisal program to bylbym wdzieczny - tylko zalezy mi zeby nie bylo to samo begin i end tylko tez jakies komentarze co dana linia robi bo pewnie cos podobnego bedzie na kolosie do napisania wiec chcialbym sie zorientowac.GG:344842 - zapisz poprawnie ta funkcje , Hummer 17/10/05 23:50
chodz o to by od x odjac x^2 czy od 2e^x odejmujemy x^2. Wyjasnij to bo bedzie mialo kluczowe znaczenie dla wyniku i mozesz zaraz podac pochodna tej funkcji, a za chwile postaram cii sie reszte napisac.- czepiać się nie chcę , McKania 17/10/05 23:53
ale na moje oko poprawnie zapisał . . .config: skóra, fura i coreDuo ;) - nie mowie ze zle chodzi mi o to , Hummer 18/10/05 00:04
ze zapis komputerowy moze byc mylacy bo nie wiem czy -x^2 jest w wykladniku czy tez od calego 2e^x mam odjac x^2.
mam nadzieje ze wiesz o co chodzi
To jest bardzo mylace i zanim sie tego nie rozstrzygnie nie ma sensu zabieracsie za zadanie- wiem ; ) , McKania 18/10/05 00:09
jw.config: skóra, fura i coreDuo ;)
- ok - to pisze jeszcze raz , Nero 18/10/05 00:18
2e^x - x^2 = 0
czyli x^2 odejmujemy od calosci.GG:344842
- no wiec , Hummer 18/10/05 01:18
zadanie jest proste, zapisze je jednak w kodzie javy bo pascala juz nie pamietam, ale tych linijek jest tak malo i ze podstawy juz znasz nie bedziesz mial problemu zapisac ich w pascalu.
Z pomoca przy rozwiazaniu tego rownania przychodzi nam slawny Newton ktory sobie wymyslil ze aby policzyc miejsce zerowe funkcji nieliniowej wybieramy sobie punkt nalezacy do tej funkcji i prowadzimy przez niego styczna do tej funkcji. Nastepnie liczymy miejsce zerowe stycznej. Jezeli f(x)=0 znalazlem m. zer. I przerywam poszukiwania, jeżeli f(x) rozne od 0 szukam nastepnego punktu, prowadze kolejna styczna (tyle ze tym razem jeszcze bliżej) i powtarzam proces.
Wiec jeszcze raz. Newton powiedzial ze:
Xk+1 = X - f(X)/f '(X)
Program w javie bedzie wiec wygladal tak (tzn jego glowny fragment bez importow i funkcji main):
double x=0; //wybieram dowolny punkt
double funkcja = 2*e^x - x*x; // nasza funkcja
double pochodna = 2^e*x - 2*x //pochodna funkcji, mam nadzieje ze sie nie pomylilem dawno mialem matme
while (Math.abs(funkcja)>0.000001) // dopoki wartosc bezwzgledna z naszej funkcji jest znacznie rozna od 0 (samo 0 moze byc trudno osiagnac, czasami bedzie to wymagalo dlugich obliczen jednak liczbe 0.000001 mozemy uznac za 0 :p
{
x = x - funkcja/pochodna
System.out.println("Licze miejsca zerowe "+x);
}
Zaryzykuje ze w Pascalu może wyglądać to tak ale mozecie mnie poprawic
USES CRT;
VAR
x:double;
Funkcja, pochodna: double;
BEGIN
clrscr;
x:=0;
funkcja:= 2*e^x - x*x;
pochodna:= 2^e*x - 2*x;
while abs(funkcja)>0.000001 DO
begin
{
x = x - funkcja/pochodna
writeln (‘Licze miejsca zerowe ‘,x);
}
End
End- oczywiscie w kodzie programu , Hummer 18/10/05 01:27
zamiast e^x musi byc exp(x) :p
no i widze ze w pochodnej zamienilem znaki zamiast 2^e*x - 2*x ma byc
2*e^x - 2*x czyli 2*exp(x) - 2*x- OT - czy metoda , wukillah 19/10/05 09:59
opisywana przez Ciebie jest metoda Newtona-Raphsona?just d'oh it! - tak , Hummer 19/10/05 13:57
tutaj jeszcze inny przyklad z ilustracja
http://skocz.pl/aisa
- no faktycznie nie wyglada to na trudne , Nero 18/10/05 12:36
w wolnej chwili przesledze to dokladniej i moze jakos zalicze :)
Dzieki za pomoc.GG:344842
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|