FAQ | Points | Add... | Recent posts | Search | Register | Log in


Rysowanie wykresu funkcji


Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> Rysowanie wykresu funkcji
Author
Message
Thomas1988
Poziom 15
Poziom 15


Joined: 25 May 2005
Posts: 232
Location: Gniezno/Poznań

Post#1 Post from the author of the topic 14 Apr 2007 20:38   

Rysowanie wykresu funkcji


Code:
Program Miejsca_zerowe_funkcji_Metoda_naturalna;

uses crt, graph;

var  karta, tryb, poz:integer;

     x, xpocz, xkon, y, Dx, sk:real;

     xS, yS:string;

function f (x: real): real;

begin

  f :=x/2-sin(x);

end;

begin

  karta:=detect; initGraph(karta,tryb,'');

  xpocz:=-10; xkon:=8; Dx:=0.0001; sk:=(xkon-xpocz)/640;

  line(0,240,639,240); line(round(-xpocz/sk),0,round(-xpocz/sk),479);

  setColor(lightRed);

  x:=xpocz;

  repeat

    x:=x+Dx;

    y:=f(x);

    if abs(240-y/sk)<480 then putPixel(round((x-xpocz)/sk),round(240-y/sk),yellow);

    if abs(y)<1e-5 then

        begin

          str(x:14:10,xS); str(y:14:10,yS);

          outTextXY(0,poz*10,'x ='+xS+',   f(x) ='+yS);

          fillEllipse(round((x-xpocz)/sk),round(240-y/sk),3,3);

          poz:=poz+1;

        end;

    if keyPressed then exit;

  until x>xkon;

  readLn;

end.


Jak to przerobić żeby rysowało wykres funkcji kwadratowej w programie freepascla prosze o pomoc :D
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 14 Apr 2007 20:38   





Back to top
   
etet
Poziom 12
Poziom 12


Joined: 24 May 2005
Posts: 104
Location: Rybnik

Post#2 16 Apr 2007 22:22   

Re: Rysowanie wykresu funkcji PILNE !!


zmienic :

f :=x/2-sin(x);

na na przyklad

f := x * x + x;

?

jesu
Back to top
   
Google

Google Adsense


Post# 16 Apr 2007 22:22   





Back to top
   
Thomas1988
Poziom 15
Poziom 15


Joined: 25 May 2005
Posts: 232
Location: Gniezno/Poznań

Post#3 Post from the author of the topic 17 Apr 2007 18:51   

Re: Rysowanie wykresu funkcji PILNE !!


No patrz też na to wpadłem ale wtedy nie pokazuje miejsc zerowych :cry:
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 17 Apr 2007 18:51   





Back to top
   
etet
Poziom 12
Poziom 12


Joined: 24 May 2005
Posts: 104
Location: Rybnik

Post#4 17 Apr 2007 19:01helpful post - solution   

Re: Rysowanie wykresu funkcji PILNE !!


Thomas1988 wrote:
No patrz też na to wpadłem ale wtedy nie pokazuje miejsc zerowych :cry:


Widac przyblizenie Y jest za male w tym przypadku. Ze względu na skonczona dokladlosc obliczen trzeba zrobic pewne uproszczenia.

Program uznaje, ze f(x) = 0 jesli wartosc bezwzględna f(x) < 1e-5

Widocznie w tym przypadku ostatni punkt przed miejscem zerowym jest jeszcze > 1e-5 a kolejny juz < -1e-5 lub odwrotnie.

Mozna ten zakres lapania zera rozszerzyc przez zmiane na 1e-4 albo cos takiego.

Nie mam pod reka pascala ale to musi byc to.
Back to top
   
spros
Poziom 14
Poziom 14


Joined: 25 Jun 2003
Posts: 187
Location: Kielce/Krakow

Post#5 26 Apr 2007 13:44   

Re: Rysowanie wykresu funkcji PILNE !!


1)
przy okazji dobralbym jakas sensowna wartosc Dx.
obecnie na 640 punktach jest proba rysowania cos ze 200 tys punktow. rozumiem ze to po to zeby zachowac ciaglosc przebiegu. a nie lepiej 639 lini?
2)
x:=x+Dx; to wszystko przez to sumowanie, bo Dx = 0.0001 a taka liczba nie za bardzo ma rozwiniecie binarne.
lepiej x wyznaczac jako xpocz + ilosc krokow * Dx
3) jesli chodzi o ten krok Dx i epsilon wyznaczania miejsc zerowych. moze sie okazac ze zlapie kilka punktow. np dla -0,9999, -1, -1,0001 i co wtedy? kilka razy narysuje tekst i kolo?
a moze mocniejszy nieco warunek i sprawdzic zmiane znaku wartosci funkcji? ale pozostanie problem z jednym miejscem zerowym.
coz dobrze ze to nie moj program :D
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> Rysowanie wykresu funkcji
Page 1 of 1
Similar topics
Rysowanie wykresu "na żywo", Program w jezyku C# (10)
rysowanie funkcji z pliku gnuplot (5)
Visual Basic (rysowanie funkcji...) (2)
[Turbo C] Tworzenie graficznego wykresu funkcji. (4)
Matab - rysowanie wykresu. Próbkowanie co 1 s. Jaka funkcja? (6)
[C Builder] Rysowanie wykresu równania prostej. (1)
[C++] Rysowanie wykresu w oknie (3)
Delphi - rysowanie wykresu funkcji S = at*t / 2 (2)
Rysowanie wykresu funkcji w delphi. (4)
Java rysowanie funkcji - potrzebna pomoc (10)

Page generation time: 0.106 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed