Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Vykreslení grafu funkce přes OxyPlot knihovnu

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Kubas129
Člen
Avatar
Kubas129:7.11.2020 20:36

Vykreslit svojí funkci (polynom 3 stupně)
ahoj,
nevěděl by tu někdo prosím jak přes tuto knihovnu vykreslit svojí funkci u které znám její předpis?
Tento kod vykresluji funkci Cos

PlotView myPlot = new PlotView();

//Create Plotmodel object
var myModel = new PlotModel { Title = "Průběh funkce na daném intervalu" };
myModel.Series.Add(new FunctionSeries(Math.Cos, 0, 10, 0.1, "cos(x)"));

//Assign PlotModel to PlotView
myPlot.Model = myModel;

//Set up plot for display
myPlot.Dock = System.Windows.Forms.DockStyle.Bottom;
myPlot.Location = new System.Drawing.Point(0, 0);
myPlot.Size = new System.Drawing.Size(500, 500);
myPlot.TabIndex = 0;

//Add plot control to form
Controls.Add(myPlot);

a já se snažím tento kod upravit na to, aby mi vyobrazil můj graf podle mého předpisu, ale nevím jak to do toho řádku mám konkrétně napsat :(.

Zkusil jsem: Google

Chci docílit:
myModel.Series.Add(new FunctionSeries(koeficienty[3]*x^3+koeficienty[2]*x^2+koeficienty[1]*x+ koeficienty[0], 0, 10, 0.1, "MojeFunkce"));
 
Odpovědět
7.11.2020 20:36
Avatar
Kubas129
Člen
Avatar
Odpovídá na Kubas129
Kubas129:7.11.2020 20:44

Už to asi mám, nebo alespon částečné řešení

 
Nahoru Odpovědět
7.11.2020 20:44
Avatar
Bugmaster
Člen
Avatar
Odpovídá na Kubas129
Bugmaster:7.11.2020 21:08

Tuhle knihovnu neznám a nehce se mi to zkoumat.

Co ale vidím ten zápis, tan první parametr konstruktoru FunctionSeries chce delegáta, který bude počítat hodnotu funkce.

Tipnul bych to nejak takhle:

// Koficienty
double a = 3.0;
double b = 5.0;
double c = 8.0;
double d = 11.0;

// definice delegatu (horner)
double mojeSuprDuprFunkce(double x) => x * (x * (a*x + b) + c) + d;
myModel.Series.Add(new FunctionSeries(mojeSuprDuprFunkce, 0, 10, 0.1, "mojeSuprDuprFunkce"));

Taky pozor: striska je operator pro XOR niekoliv umocnovani.

 
Nahoru Odpovědět
7.11.2020 21:08
Avatar
Kubas129
Člen
Avatar
Kubas129:7.11.2020 21:11

jo díky :) přesně takto jsem to částečně vyřešil :D
ps. nevíš ještě když mám v programu dvě okna, dá se nějak udělat, že když uživatel zavře jedno z těchto dvou oken, tak aby se automaticky zavřelo i to druhé okno? Popřípadě jak

 
Nahoru Odpovědět
7.11.2020 21:11
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.