Witam,
Miał już może ktoś do czynienia z zedgrafem? Mam do narysowania funkcję nieciągłą i ni jak nie wiem jak to wykonać. Przeszperałem internet na tyle na ile potrafiłem i nie natrafiłem na żadny tutorial odnośnie tego problemu. Jakiej komendy użyć?? Próbowałem rysować funkcję od<->do narysować, wyczyścić tablicę x,y od nowa coś policzyć narysować od<->do...jednak to rozwiązanie mi nie pomogło...jak inaczej się do tego zabrać?
jeśli chcesz przerwać linię np. pomiędzy x=1 i x=2 to dodaj punkt (1.5, double.NaN) i zainteresuj się także propercją isIgnoreMissing
No właśnie o to mi chodzi. Byś może źle się wysłowiłem. Mam przed sobą namespace zedgraph'a i już tego szukam:) Jeśli mi się nie uda samemu jeszcze się tutaj odezwę.
Czytałem o tym double.Nan. Chyba to wykorzystam bo nie potrafię ogarnąć tego isMissingValue. Musiałbym widzieć jakiś przykład... U mnie nieciągłość polega na rysowaniu pików dla określonych x'ów (coś ala widmo Furiera).
Przepraszam chodziło o isIgnoreMissing a nie isMissingValue jak to napisałem wyżej
/// <see cref="PointPairBase.Missing" /> values will cause the line segments of
/// a curve to be discontinuous. If this field is true, then the curves
/// will be plotted as continuous lines as if the Missing values did not
/// exist.
/// Use the public property <see cref="IsIgnoreMissing" /> to access
/// this value. </summary>
To znaczy, że za pomocą IsIgnoreMissing odwołujesz się do pola pointPairBase.Missing. Jeśli więc IsIgnoreMissing jest ustawione na true to będziesz miał ciągłą linię. A jeśli na false to tam w linii gdzie brakuje punktów, lub są nieokreślone (double.NaN) będą występować przerwy.
Chyba, że chodzi ci o sytuację, gdzie jedna linia konczy sie na (2,5) i druga zaczyna na (2,7). W takim wypadku twórz kilka linii, które zaczynają się i kończą na nieciągłościach.
No ja rysuję tak jak powiedziałem "piki" czyli np mam dwa punkty (x,0) oraz (x,fod(x)), te punkty mają zostać połączone. Potem rysuję (x+(ih),0) oraz (x+(ih),fod(x+i*h)) i znów te dwa punkty łącze...w ten sposób powstają mi piki ala widmo furiera.
No to tak jak powiedziałem wcześniej: podziel sobie wykres na n linii, które zaczynają i kończą się na nieciągłościach (w tym początek i koniec wykresu).
Tego nie ogarniam...nie wiem jak wpisać tą nieciągłość początkową i końcową...po prostu wpisuje między każdą z prostych (x+szczątkowa wartość, double.Nan) i tyle a potem daje komendę rysuj:) i tam gdzie jest koniec double.nan poczatek nie ma pociągnięcia (tzn połączenia).
Jeszcze jedno małe pytanie. Program skończony ale irytuje mnie to że jak mam wynik bardzo blisko zera to tego nie widać w textbox. Chciałem ograniczyć ilość znaków wyniku jaki jest wpisywany do texboxa ale opcja maxlenght nie pomogła;/ Textbox jest zablokowany przed edycją i za nic nie można w takim momencie przejechać kursorem w lewo żeby pokazać, że jest tam np E^-18
MaxLength
to liczba znaków, które możesz wpisać w TextBox
.
Musisz odpowiednio sformatować wyświetlaną liczbę. Poczytaj tutaj: http://cezarywalenciuk.blogspot.com/2011/07/stringformat-formatowanie-napisow-w-c.html albo tutaj: http://blog.stevex.net/string-formatting-in-csharp/
Próbowałem z tymi komendami ale dalej mi nie obcina np do 6 znaków po przecinku (tak żeby było widać to e-18). Swoją drogą kojarzę to z wykładów ale wtedy to przejmowaliśmy się sposobem zapisu a nie obcinaniem w Textbox. A teraz zauważam, że to poważny temat
Próbowałem na różne sposoby
WynikWzorTrapezow.Text = String.Format("{0:0.00}", WynikNumeryczny);
WynikWzorTrapezow.Text = WynikNumeryczny.ToString("{0:0.00}");
To np jest przykład...program się uruchamia nie wyrzuca błędów, a mimo to nie robi tego co chcę. Próbowałem też z naukowymi tak jak pisałem wyżej na kilka sposobów i nic. Inni używają tych metod i im to działa (źródło:internet) a mi za cholerkę nie chce
Udało mi się to opanować. Teraz działa lecz jeszcze nie tak jak trzeba. Zastosowałem zapis naukowy ale potrzebowałbym coś takiego: Wynik = 12,243029341923E-17 a zapis do textbox 12,24302E-17.
facebak napisał(a)
Udało mi się to opanować. Teraz działa lecz jeszcze nie tak jak trzeba. Zastosowałem zapis naukowy ale potrzebowałbym coś takiego: Wynik = 12,243029341923E-17 a zapis do textbox 12,24302E-17.
Po pierwsze, to "12,243029341923" po zaokrągleniu to "12,24303", a nie "12,24302".
A przede wszystkim w zapisie naukowym mantysa musi się być liczbą z przedziału <1; 10), jeśli koniecznie chcesz, żeby wynosiła 12, to sugeruję wniosek do jakiegoś komitetu normalizacyjnego, ale wątpię, żeby został zaakceptowany.