Obecne vytahy 1
> with(plots);
> VstupniPoplatek:=.01*CilovaCastka;
SP:=x->min(3000,0.15*x);
xi:=0.02;
>
Obecne vztahy a pojmy
> StavNaKonciRoku(Datum(Pocatek)[3]-1):=VstupniPoplatek*
(1+xi)^((CisloDne(
Datum(Pocatek)[1],Datum(Pocatek)[2],
Datum(Pocatek)[3]-1)-Pocatek)/365.25)
>
Warning, premature end of input
> Pol:=proc() # pomocna procedura vraci x[j], pokud je x pole a x pokud je to jedno cislo
if nargs<=2 then
args[1]
else args[args[nargs]]
fi
end;
StavNaKonciRoku:=t->
`if`(t`if`(tSP(NasporenaCastka(t));
StavEkv:=tau->
add(
`if`(Datum(UlozkyEkv[i][2])[3]>tau,
0,
UlozkyEkv[i][1])
*(1+'zeta')^((CisloDne(31,12,tau)-Pol(UlozkyEkv[i][2]))/DelkaRoku(t)),
i=1..nops(UlozkyEkv));
Data a vypocty
> Pocatek:=CisloDne(1,11,2006);
CilovaCastka:=300000;
> A:=NULL;
for z from 1000 by 2000 to 22000 do
Ulozky:='Ulozky';NULL;
for t from 2005 to 2020 do
x:=0.;
Ulozky[t]:=[x,CisloDne(31,1,t)]
od;
Ulozky[Datum(Pocatek)[3]]:=[VstupniPoplatek,Pocatek];
for t from 2006 to 2006+6 do
x:=z;
Ulozky[t]:=Ulozky[t],[x,CisloDne(20,1,t)]
od;
UlozkyEkv:=convert(Ulozky,list);
CilovaCastka:=StavNaKonciRoku(2012);
VstupniPoplatek:=.01*CilovaCastka;
rce:=StavNaKonciRoku(2012)=StavEkv(2012);
A:=A,[x,fsolve(rce)];
od:
> nops([A]);
> pointplot([A],title="Vynosnost v zavislosti na velikosti ulozek" #,style=line
);
> B:=NULL;
for z from 1000 by 500 to 22000 do
Ulozky:='Ulozky';NULL;
for t from 2005 to 2020 do
x:=PoplatekZaVedeni;
Ulozky[t]:=[x,CisloDne(31,1,t)]
od;
Ulozky[Datum(Pocatek)[3]]:=[VstupniPoplatek,Pocatek];
for t from 2009 to 2006+6 do
x:=z;
Ulozky[t]:=Ulozky[t],[x,CisloDne(20,1,t)]
od:
UlozkyEkv:=convert(Ulozky,list):
CilovaCastka:=StavNaKonciRoku(2012);
VstupniPoplatek:=.01*CilovaCastka:
rce:=StavNaKonciRoku(2012)=StavEkv(2012):
B:=B,[x,fsolve(rce)];
od:
> pointplot([B], title="Vynosnost v zavislotsti na velikost ulozek (pri kratsi dobe
sporeni)"#,style=line
);
> C:=NULL;
for K from 2006 to 2011 do
#for z from 1000 by 500 to 22000 do
z:=19000;
Ulozky:='Ulozky';NULL;
for t from 2005 to 2020 do
x:=PoplatekZaVedeni;
Ulozky[t]:=[x,CisloDne(31,1,t)]
od;
Ulozky[Datum(Pocatek)[3]]:=[VstupniPoplatek,Pocatek];
for t from K to 2006+6 do
x:=z;
Ulozky[t]:=Ulozky[t],[x,CisloDne(20,1,t)]
od:
UlozkyEkv:=convert(Ulozky,list):
CilovaCastka:=StavNaKonciRoku(2012);
VstupniPoplatek:=.01*CilovaCastka:
rce:=StavNaKonciRoku(2012)=StavEkv(2012):
C:=C,[2012-K,fsolve(rce)];
od:
> pointplot([C], title="Vynosnost v zavislosti na delce sporeni");
> E:=NULL;
for K from 2010 to 2015 do
#for z from 1000 by 500 to 22000 do
z:=19000;
Ulozky:='Ulozky';NULL;
for t from 2005 to 2020 do
x:=PoplatekZaVedeni;
Ulozky[t]:=[x,CisloDne(31,1,t)]
od;
Ulozky[Datum(Pocatek)[3]]:=[VstupniPoplatek,Pocatek];
for t from 2006 to K do
x:=z;
Ulozky[t]:=Ulozky[t],[x,CisloDne(20,1,t)]
od:
UlozkyEkv:=convert(Ulozky,list):
CilovaCastka:=StavNaKonciRoku(2012);
VstupniPoplatek:=.01*CilovaCastka:
rce:=StavNaKonciRoku(K)=StavEkv(K):
E:=E,[K-2005,fsolve(rce)];
print(E[nops([E])]);
od:
pointplot([E], title="Vynosnost v zavislosti na delce sporeni");
Warning, computation interrupted
> pointplot([E], title="Vynosnost v zavislosti na delce sporeni");
>
> NadN:=x->`if`(x>0,x,0);
> NadN(-2);
> X:=[0,0,0,21000,20000,18000];
S:=1;
delta:=1000;
while delta>100 do
for kappa from 0 to 0 do
Ulozky:='Ulozky';NULL;
for t from 2005 to 2020 do
x:=PoplatekZaVedeni;
Ulozky[t]:=[x,CisloDne(31,1,t)]
od;
# print(`....`);
Ulozky[Datum(Pocatek)[3]]:=[VstupniPoplatek,Pocatek];
for t from 2006 to 2011 do
# print(t,aaaaa[kappa][t-2006+1]);
x:=X[t-2006+1];
Ulozky[t]:=Ulozky[t],[x,CisloDne(20,1,t)]
od:
UlozkyEkv:=convert(Ulozky,list):
CilovaCastka:=StavNaKonciRoku(2011);
VstupniPoplatek:=.01*CilovaCastka:
rce:=StavNaKonciRoku(2011)=StavEkv(2011):
Z[kappa]:=fsolve(rce);
od;
ZZ:=Z[kappa]; #=Z[0]
>
> print(Z[0],X);
for kappa from 0 to 6 do
Ulozky:='Ulozky';NULL;
for t from 2005 to 2020 do
x:=PoplatekZaVedeni;
Ulozky[t]:=[x,CisloDne(31,1,t)]
od;
# print(`....`);
Ulozky[Datum(Pocatek)[3]]:=[VstupniPoplatek,Pocatek];
XX[kappa]:=[seq(NadN(X[j]-`if`(kappa=j,delta,0)),j=1..6)];# zaporne ulozky zak.
# print(XX[kappa]);
for t from 2006 to 2011 do
x:=XX[kappa][t-2006+1];
Ulozky[t]:=Ulozky[t],[x,CisloDne(20,1,t)]
od:
UlozkyEkv:=convert(Ulozky,list):
CilovaCastka:=StavNaKonciRoku(2011);
VstupniPoplatek:=.01*CilovaCastka:
rce:=StavNaKonciRoku(2011)=StavEkv(2011):
Z[kappa]:=fsolve(rce);
# print(Z[kappa]);
if Z[kappa]Z[0] then
X:=XX[kappa];
fi;
od:
>
>
> delta:=delta-round(100/1.5);
od:
> .4957438236e-1, [20000, 20000, 20000, 20000, 20000, 20000]
.5202445659e-1, [12226, 12226, 12226, 18067, 18067, 12422]
---
.5294023996e-1, [20, 200, 2000, 20000, 20000, 20000]
.5505762024e-1, [0, 0, 2000, 19000, 19000, 13876]
. . .
.5493548982e-1, [0, 0, 2000, 19000, 19000, 13876]
??
>
>
>
> permute(6)[k];
> PermutaceSOpakovanim:=a->permute((op(choose(a,a))));
>
> i:=2;j:=4;
A:=permute(i);
> B:=permute(A);
> permute((op(choose(3,3))));
> PermutaceSOpakovanim(3);
>