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
 
 » MARtiuS 19:22
 » soyo 19:21
 » McMi21 19:18
 » metacom 19:17
 » KHot 19:14
 » past 19:07
 » DYD 19:02
 » rzymo 18:57
 » Pawelec 18:56
 » DJopek 18:56
 » @GUTEK@ 18:56
 » ham_solo 18:55
 » marcin502 18:53
 » myszon 18:49
 » Doczu 18:43
 » rainy 18:42
 » leon 18:35
 » ligand17 18:28
 » ili@s 18:24
 » SebaSTS 18:24

 Dzisiaj przeczytano
 41120 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
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

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