TEMAT: INTERPOLACJA

Transkrypt

TEMAT: INTERPOLACJA
Informatyka i Metody numeryczne - zagadnienia / prof. dr hab. inż. Dariusz Spałek
http://www.elektr.polsl.pl/dspalek/
Inf-C#.doc
Visual Studio 2010 // komponent Chart jest w zakładce Data i jest formalnie inny od
instalowanego dla Visual Studio 2008
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Help >> Manage Help Settings >> OK >> choose online or local help (local w sali 204/205)
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
using namespace System.IO;
using namespace System.Text;
// obsluga plikow
// obsluga tekstow
using System.Windows.Forms.DataVisualization.Charting; // obsluga wykresów USING NAMESPACE SYSTEM.NUMERICS; // OBSŁUGA Complex w .NET 4;
Project >> Add Reference >> .NET >> System.Numerics 4.0.0.0
---------------------------------------------------------------------------Zajęcia z Metod Numerycznych sem III:
1. Sprawdzenie / dodawanie projektów dla zajęc
Project >> Add Reference >>Projects >> CSBibMatStudent
using CSBibMatStudent; using CSBibMatStudent.Complex; using CSBibMatStudent.AlgebraLiniowa; 2. Ustalanie platformy .NET
File >> Project >> nazwa Properties >> .NET 4.0 lub inny
3. Ustalanie pliku nadrzędnego
Solution Explorer >> nazwa pliku np. TestMetGaussaPlik >> >> (p. klawisz myszy) Set as StartUp Project (pojawi się wyróżnienie nazwy Bold)
---------------------------------------------------------------------------ToolBox (p. klawisz myszy) >> Show All ˗ pokazuje wszystkie komponenty w zakładce
ToolBox /widoczna gdy zakładka projektu *.Design jest wybrana/
---------------------------------------------------------------------------Otwarcie aplikacji windows
CLR ˗ Common Language Runtime (wykonywanie we wspólnym języku) >> Windows
Forms Application >>
Dodawanie nowego pliku .cs - klasy
Project >> Add New Item >> Class (.cs) –
Dodawanie formularza
Project >> Add New Item >> Windows Forms >> Windows Form ˗ nowy formularz
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{ this.Hide(); e.Cancel = true; }
pictureBox1, radioButton1, …. - przy użyciu z innego formularza, klasy wymaga ustawienia
modyfikatora tego obiektu:
Modifiers >> Public (nie Private)
------------------------------------litery greckie do kodu można przenosić z Worda lub Mathcada
----------------------------------------
1
Informatyka i Metody numeryczne - zagadnienia / prof. dr hab. inż. Dariusz Spałek
http://www.elektr.polsl.pl/dspalek/
METODY NUMERYCZNE
(przykładowe programy na stronie http://www.elektr.polsl.pl/dspalek/)
1.
Rozwiązać równanie różniczkowe na przykładzie obwodu RL lub RC (Elektrotechnika,
Teoria Obwodów). Zdefiniować trzy metody/funkcje dla:
a) rozwiązania analitycznego, np. private double xt(double t, …., double [ ] P ….),
b) prawej strony rów. różniczkowego, np. private double f(double t, …, double [ ] P ….)
c) rozwiązania numerycznego w postaci funkcji zwracającej macierz,
np. private double [ , ] RKn(int n, double i0, double tk, double [ ] P,.....)
{ double[ , ] W = new double[2, n+1]; ..... ; W[i, k ] return W; }
lub
private double [ ][ ] RKn(int n, double i0, double tk, double R, double [ ] P,.....)
{ double[ ][ ] W = new double[2][ ];
for (int iw = 0; iw < 2; iw++) W[iw] = new double[n+1];
W[i][k] = ....; /* – zapewnia dostęp do elementu [i, k] */
W[i]
/* – zapewnia dostęp do wiersza ‘i’ */
..... ; return W; }
Wykreślić rozwiązanie analityczne (linia ciągła) i numeryczne (punkty).
(Przypadek zasilania stałego E = const – max 4,0; zasilanie impulsem E(t) – max 5,0).
 Algorytm Runge-Kutta 4-go rzędu (4-krokowy)
1 tj := tj–1 + h.
2 K1:= hf(tj-1+0.5h , xj-1, P),
K2:= hf(tj-1+0.5h , xj-1+0.5K1, P),
K3:= hf(tj-1+0.5h , xj-1+0.5K2, P),
K4:= hf(tj , xj-1+ K3, P).
3 xj := xj–1 + (K1 + 2K2 + 2K3 + K4)/6.
 Algorytm Runge-Kutta 5-tego rzędu (6-krokowy)
1 tj := tj-1 + h.
2 k1 := h·f(tj-1, xj-1, P),
k2 := h·f(tj-1 +h/3, xj-1+k1/3, P),
k3 := h·f(tj-1 +2·h/5, xj-1+(6·k2+4·k1)/25, P),
k4 := h·f(tj-1 +h, xj-1+15·k3/4–3·k2+k1/4, P ),
k5 := h·f(tj-1 +2·h/3, xj-1+(8·k4–50·k3+90·k2+6·k1)/81, P),
k6 := h·f(tj-1 +4·h/5, xj-1+(8·k4+10·k3+36·k2+6·k1)/75, P).
3 xj := xj-1 + (23·k1+125·k3–81·k5+125·k6)/192.
2
Informatyka i Metody numeryczne - zagadnienia / prof. dr hab. inż. Dariusz Spałek
http://www.elektr.polsl.pl/dspalek/
Uwaga: piszemy 6  6.0 przy dzieleniu w przypadku gdy ….
Wybrane szeregi.
Uwaga:
 p  p( p  1)( p  2)  ...  ( p  k  1)
  
k!
k
Szereg Maclaurina
Uwagi
 p
p ( p  1) 2
(1  x) p     x k  1  px 
x  ...
2
k 0  k 
x 1
np. dla p = ½, p = – ½, p = 1/3, p = – 1/3
pR

1
x3 x5
(1) k
x 2 k 1  x 


3! 5!
k 0 ( 2k  1)!
xR
(1) k 2 k
x2 x4


x  1
2! 4!
k 0 ( 2k )!
xR

sin( x)  
2

cos( x)  
3
x 2 x3
(1) k 1 k
x  x


ln(1  x)  
k
2
3
k 1

4
x  (1,1]
3
5
7
9
k

1
5 arcsin( x)     2  (1) x 2 k 1  x  1 x  1  3 x  1  3  5 x  1  3  5  7 x  ...
k 0
 k  2k  1
24 5
2 3
246 7
2 468 9
x 1
6
(1) k 2 k 1
x3 x5 x7
x
 x


 ...
arctg( x)  
5
7
3
k 0 2k  1
x  (1,1]
7
x 2 k 1
x3 x5 x7
 x


 ...
sinh ( x)  
3! 5! 7!
k 0 ( 2k  1)!
xR
8
9



x 2k
x2 x4 x6
1


 ...
2! 4! 6!
k 0 ( 2k )!
cosh ( x)  

sin 2 ( x)   (1) k 1
k 1
2 2 k 1 2 k 2 2 2 3 4 2 5 6 2 7 8
x  x 
x 
x 
x  ...
(2k )!
2!
4!
6!
8!
3
xR
xR

Podobne dokumenty