piątek, 13 listopada 2015

Metoda Newtona

Metoda Newtona (zwana również metodą Newtona-Raphsona lub metodą stycznych) – iteracyjny algorytm wyznaczania przybliżonej wartości pierwiastka funkcji.


Metoda Newtona-4 kroki.png
"Metoda Newtona-4 kroki" autorstwa Wojciech mula z projektu polski Wikipedia. Licencja CC BY-SA 2.5 na podstawie Wikimedia Commons.

Jeśli f ∈ C^2 [a, b] tworzę ciąg typu

x_{k+1} = x_k - \frac{f(x_k)}{f^\prime(x_k)}


Procedura trwa do momentu aż dla zadanej dokładności δ

Kod programu w C++:

#include<iostream>
#include<cmath>
using namespace std;
double fun(double x)
{
return exp(x)*log(x)-x*x;
}
double fun1(double x)
{
return exp(x)*log(x)+exp(x)*(1./x)-2.*x;
}
int main()
{
double a=1.0;
double b=2.0;
double ab=b-a;
double delta=0.001;
double x0=(a+b)/2.;
double x1;
while( fabs(ab) > delta)
{
x1=x0-fun(x0)/fun1(x0);
ab=x1-x0;
x0=x1;
cout<<x1<<endl;
}
return 0;
}

Otrzymujemy w kolejnych krokach miejsc zerowe:1.7398; 1.69657; 1.6946; 1.6946




Wariacja i odchylenie standardowe

Odchylenie standardowe – klasyczna miara zmienności, obok średniej arytmetycznej najczęściej stosowane pojęcie statystyczne. Intuicyjnie rzecz ujmując, odchylenie standardowe mówi, jak szeroko wartości jakiejś wielkości (takiej jak np. wiek, inflacja, kurs akcji itp.) są rozrzucone wokół jej średniej[1]. Im mniejsza wartość odchylenia tym obserwacje są bardziej skupione wokół średniej.



Program: obliczający wariację i odchylenie standardowe na podstawie danych wprowadzonych przez użytkownika.


Program wariacja;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
x:array[1..100] of real;
n,i:byte;
w,s:real;
begin
   
     repeat
           write('Wprowadz ilosc liczb(n): ');
           read(n);
           if (n<0) or (n>100) then writeln('Wprowadz liczbe wieksza od 0 i mniejsza lub r˘wna 100');
     until (n>0) and (n<=100);
     for i:=1 to n do
         begin
         write('Wprowadz liczbe x',i,': ');
         read(x[i]);
         end;

     for i:=1 to n do s:=s+x[i];
     s:=s/n;
     for i:=1 to n do w:=w+sqr(x[i]-s);
     w:=w/n;
     writeln('Wariacja wynosi: ',w:0:2);
     writeln('Odchylenie standardowe wynosi: ',sqrt(w):0:2);

 readln;readln;

end.












czwartek, 5 listopada 2015