(* Vítejte ve firmě Agrofan, která se zabývá výrobou kvalitních větráků pro Česko a Slovensko. Naše větráky jsou tak kvalitní, že nikdy neselžou před zárukou. V duchu doby zrovna vyvíjíme nový větrák pro potřebu státní správy, aby naši úředníci mohli pracovat i přes léto v kvalitním prostředí. Nyní zrovna probíhá návrh tištěného spoje pro tento větrák a vaším úkolem bude navrhnout speciální součástku, tzv. ((kazítko)^TM) (pojmenované dle pověstné léčitelky/kouzelnice Kazi), které bude mít na starosti správné nastavení větráku vzhledem k okolnímu prostředí. Životnost této součástky by měla být přibližně dva a půl roku a přirozeně by měla být nejlevnější. S ostatními součástkami si starosti nedělejte, ty vydrží i desetiletí... *)

(* Přo návrh obvodu ((kazítko)^TM) máte dvě možné cesty, jak dosáhnout jeho spolehlivosti. Můžete jednak zvýšit redundanci nebo zvolit kvalitnější technologii. Jediná vůle je v konfiguraci tranzistorů, které jsou občas na hraně svých parametrů, a kondenzátorů, které dokáží potenciálně nebezpečné výkyvy v obvodu vyhladit. Životnost obvodu spočtete tak, že počty přidaných součástek přenásobíte odpovídajícími koeficienty a sečtením dostanete prodloužení životnosti v měsících. Samotný obvod je schopen vydržet jeden rok. *)

(* Ceny součástek v Kč *)

cenaKondenzator=0.1;
cenaKvalitniKondenzator=1;
cenaTranzistor=0.35;
cenaKvalitniTranzistor=0.5;

(* Koeficienty životnosti pro kondenzátor levný, kondenzátor kvalitní, tranzistor levný, tranzistor kvalitní. *)

koeficienty={0.2,0.83,0.85,1.3};

(* Najděte počty jednotlivých součástek a sepište odůvodnění pro vaši volbu tak, aby to i váš nadřízený s humanitním vzděláním pochopil. *)

(* Řešení - pozor, soucastky musi byt cele. *)
Aorig=ArrayFlatten[{{{koeficienty}},{DiagonalMatrix[{cenaKondenzator,cenaKvalitniKondenzator,cenaTranzistor,cenaKvalitniTranzistor}]}}]
borig={1.5*12,0,0,0,0}

y[t_]:=(A=ArrayFlatten[{{{koeficienty}},{t*DiagonalMatrix[{cenaKondenzator,cenaKvalitniKondenzator,cenaTranzistor,cenaKvalitniTranzistor}]}}];
b={1.5*12,0,0,0,0};
LeastSquares[A,b])

Aorig.y[0.00001]

res[t_]:=Aorig.y[t]-borig
fn[i_]:={(((res[i][[1]]))^2),((Norm[res[i][[2;;]]])^2)}
g1=ListLinePlot[Table[fn[i],{i,0,10,0.001}],Frame->True,FrameLabel->{"Kvadrát odchylky od projektované trvanlivosti (měsíce)","Kvadrát ceny"},PlotRange->All];
g2=Plot[-x+17.662,{x,0,250},PlotStyle->{Gray,Dashed}];
Show[g1,g2]

fn[1.0248]

Aorig.y[2]

f[x_]:=(fn[x]-fn[x-0.05])[[1]]/(fn[x]-fn[x-0.05])[[2]]

f[1.0248]

(fn[1.0248][[1]])/fn[1.0248][[2]]

1.05585+16.6061