function y=f(a)
suma_x=sum(a);
n=length(a);
prumer_x=suma_x/n;
odchylka=((prumer_x-a).^2);
suma_odchylky=sum(odchylka);
sigma=(suma_odchylky/(n*(n-1)))^(1/2);
k=0.6745;
delta=k*sigma;
disp(' x (x-x_)^2')
disp('------------------------------------------')
disp([a ; odchylka]')
disp(' ')
disp(' ')
disp(' suma x n průměr x ')
disp('------------------------------------------')
disp([suma_x;n;prumer_x;]')
disp(' ')
disp(' ')
disp('suma (x-x_)^2 sigma k delta')
disp('-------------------------------------------')
disp([suma_odchylky;sigma;k;delta]')
disp('-------------------------------------------')
disp(' ')
disp(' * * * * * * * * * * * * * * * * * * * * * ')
disp('* * * * * * * * * VÝSLEDEK * * * * * * * * ')
disp(' pruměr x +- odchylka ')
disp('-------------------------------------------')
disp([prumer_x;delta]')
%fce pro výpočet průměrné hodnoty a směrodatné odchylky !
%k=0,6745 pro 50 % odhad chyby
x=[-1 0 2 4 5];
y=[-2 1 0 -1 1];
n=length(x)-1;
a=polyfit(x,y,n);
k=length(x);
xx=x(1):0.1:x(k);
yy=polyval(a,xx);
plot(x,y,'*',xx,yy)
title('NADPIS')
xlabel('x-ová osa [mm]')
ylabel('y-ová osa [mm]')
zoom on
%vykreslí polynom kopírující body zadané hodnotami x a y
%n je stupeň polynomu,číslo musí být o jedno nižší než je počet hodnot x
x=[-1 0 2 4 5];
y=[-2 1 0 -1 1];
k=length(x);
xx=x(1):0.1:x(k);
yy=spline(x,y,xx);
plot(x,y,'*',xx,yy)
title('NADPIS')
xlabel('x-ová osa [mm]')
ylabel('y-ová osa [mm]')
%vykreslí interpolační splajn kopírující body zadané hodnotami x a y
x=[-5 -4 -3 -2 -1 0 1 2 3 4 5];
f=[r(-5) r(-4) r(-3) r(-2) r(-1) r(0) r(1) r(2) r(3) r(4) r(5)];
a=polyfit(x,f,10);
xx=-5:0.1:5;
yy=polyval(a,xx);
zz=spline(x,f,xx);
fplot('r',[-5 5])
hold on
plot(x,f,'ro',xx,yy,'g',xx,zz,'b')
title('RUNGEHO PŘÍKLAD')
text(-2,1.7,'skutečná fce y=1/(1+x.^2) - vyobrazena žlutě')
text(-2,1.5,'splajn vyobrazený modře')
text(-2,1.3,'interpolační polynom vyobrazený zeleně')
text(-2,1.1,'interpolovaná data vyobrazena červěně')
zoom on
%RUNGEHO PŘÍKLAD :Ukazuje rozdíl mezi skutečnou fcí (y=1/(1+x.^2)) vyobrazenou žlutě ,
%splajnem vyobrazeným modře a interpolačním polynomem vyobrazeným zeleně.
%To vše pro interpolovaná data vyobrazena červěně.
OBECNÉ PŘÍKAZY
příkaz: save <jméno souboru> <jméno proměnné>
uloží vypsané proměnné do vytvořeného souboru *.mat
příkaz: load <jméno souboru>
načte proměnné uložené v souboru
příkaz: who(s)
vypíše dosavadní uložené proměnné(podrobněji)
příkaz: what
vypíše M-FILE a MAT-FILE složky
-------------------------------------------------------------------------------------------
GRAFY FUNKCÍ
příkaz: plot(x,y,'s')
x,y-hodnoty
s-(barva čáry:y,m,c,r,g,b,w,k
typ čáry: .,o,x,*,+,-,:,-.,--)
příkaz: bar(x)
sloupcový graf
příkaz: fplot('x.^2+3',[-5 5])
Vykreslí funkci na daném intervalu bez předchozího výpočtu
ypsilonových hodnot.
Fci také možno nadefinovat v M-FILE.
příkaz: hold on(off)
ponechá (překreslí) původní graf
příkaz: grid on(off)
souřadnicová síť ano (ne)
příkaz: 1.axis('off')
2.axis('auto') 3.axis('equal')
1.zmizí
osy 2.původní měřítko na osách 3.stejné měřítko na osách
příkaz: plot3(x,y,z)
-3D graf
příkaz: 1.text(3,4,'text')
2.gtext('text') 3.xlabel('x-ová
osa') 4.title('nadpis')
1.zapíše text
do souřadnic 2.napsaný text vloží
kurzorem 3.popis os 4.nadpis
-------------------------------------------------------------------------------------------
LU ROZKLAD MATICE A
příkaz: [L,U,P]=lu(A)
L-horní trojúhelníková matice U-dolní trojúhelníková matice
P-permutační matice
-------------------------------------------------------------------------------------------
LR ALGORITMUS - VLASTNÍ ČÍSLA MATICE
příkaz: [D,V]=eig(A)
D-sloupec vl. vektorů
V-vlastní čísla
-------------------------------------------------------------------------------------------
DIFERENCIÁLNÍ ROVNICE OBYČEJNÉ
příkaz: ode23('f',a,b,y)
nebo ode45('f',a,b,y)
f-fce v M-FILE
a-počátek intervalu b-konec
intervalu y-počáteční podmínka( y(-2)=-1
dosaď -1)
-------------------------------------------------------------------------------------------
KOŘENY KVADRATICKÉ A VYŠŠÍ ROVNICE
příkaz: roots([2 1 -3])
vypočte kořeny rovnice 2x^2 + x -3 =0
-------------------------------------------------------------------------------------------
KOŘENY OBECNÉ FCE
příkaz:fzero('f',x0)
f-fce v M-FILE
x0-číslo blízké kořenu(odečteme z grafu)
-------------------------------------------------------------------------------------------
NUMERICKÝ VÝPOČET INTEGRÁLŮ (int od a do b f(x)dx)
x=[a:h:b];
I=sum(h*f(x))
-------------------------------------------------------------------------------------------
NUMERICKÝ VÝPOČET DERIVACE
f’(x)=(f(x+h)-f(x))/h
1.řádu
f’(x)=(f(x+h)-f(x-h))/2h
2.řádu
f’’(x)=(f(x+h)-2f(x)+f(x-h))/h2
-------------------------------------------------------------------------------------------
TVORBA M-FILE
výpis hodnot x a
(x-x_)^2 do sloupce :
disp(' x (x-x_)^2')
disp('------------------------------------------')
disp([x ; (x-x_)^2]')