Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » DJopek 23:08
 » petropank 23:07
 » Fl@sh 23:07
 » rarek 23:06
 » Wolf 23:05
 » Zbyszek.J 23:02
 » b0b3r 22:58
 » cVas 22:56
 » dugi 22:51
 » Dexter 22:50
 » Soulburne 22:44
 » stefan_nu 22:41
 » Brauni 22:41
 » maddog 22:39
 » Kenny 22:36
 » toledo 22:35
 » Raist 22:33
 » DYD 22:32
 » buddookan 22:32
 » siwydym 22:29

 Dzisiaj przeczytano
 39195 postów,
 wczoraj 25604

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2025
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

  1. 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.

    1. czepiać się nie chcę , McKania 17/10/05 23:53
      ale na moje oko poprawnie zapisał . . .

      config: skóra, fura i coreDuo ;)

      1. 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

        1. wiem ; ) , McKania 18/10/05 00:09
          jw.

          config: skóra, fura i coreDuo ;)

    2. ok - to pisze jeszcze raz , Nero 18/10/05 00:18
      2e^x - x^2 = 0

      czyli x^2 odejmujemy od calosci.

      GG:344842

  2. 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

    1. 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

      1. OT - czy metoda , wukillah 19/10/05 09:59
        opisywana przez Ciebie jest metoda Newtona-Raphsona?

        just d'oh it!

        1. tak , Hummer 19/10/05 13:57
          tutaj jeszcze inny przyklad z ilustracja
          http://skocz.pl/aisa

    2. 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-2025, TwojePC.PL