Využití Matlabu v problematice zjištění optimálního objemu dané nádrže pro zadanou zabezpečenost podle trvání v závislosti na zvoleném nadlepšeném odtoku. Tento skript využívá předem definovanou funkci vh_reseni, která tuto problematiku konkrétně řeší, a která požaduje tři vstupní údaje (průtoková řada, objem nádrže, nadlepšený odtok) a vrací hodnotu zabezpečenosti. Níže uvedený skript se tedy pokouší využít výše uvedené funkce k tomu, aby pro konkrétní zabezpečenost našel odpovídající nadlepšený odtok z nádrže. Z důvodu nespojité závislosti zabezpečenosti a nadlepšených průtoků bylo zvoleno řešení vybírající správnou hodnotu z tabulky předem vypočtených nadlepšených průtoků v závislosti na zvolené zabezpečenosti (průběh viz Gr. 1 a 4).
(Matlabovské soubory jsou ke stažení zde. )
 
Vodohospodarske reseni nadrze (VOSO_1)
Skript spousti funkce:
- vh_reseni - nalezne pro dane P,Vz a Qn zabezpecenosti Pt, 
  Po a vykresli graf prubehu pritoku a graf prubehu objemu vody v 
nadrzi
 
- vh_reseni optim - osekana funkce vh_reseni vraci pouze Pt 
  a nevykresluje zadne grafy
 
Dale nacte mesicni prutokove rady K a K500, pro ktere na nadrzi 
Kruzberk(Vz=24.5 mil m^3) urci pro pozadovanou zabezpecenost podle trvani Pt 
odpovidajici nalepseny prutok Qn, a to jak pro realnou radu prutoku K, tak pro 
syntetickou radu K500. Mimo jine tez vykresli do grafu zavislost mezi 
zabezpecenosti Pt a nalepsenym prutokem Qn.
Rucni zmena zabezpecenosti Pt se provadi v sekci 'VSTUPNI UDAJE' v radku 
oznacujicim pozadovanou zabezpecenost Pt_poz.
Contents
Zadani
Ukolem je nalezt pro zabezpecenost 98,5 % odpovidajici nadlepseny odtok z 
nadrze.
clc;clear;close all hidden;
set(0,'DefaultFigureWindowStyle','docked');
VSTUPNI UDAJE
Pt_poz=98.5;    
Vz=24.5e6;      
Import datovych rad mesicnich prutoku
K= importdata('K.DAT');
K500=importdata('K500.DAT');
P=do_sloupce(K);
P500=do_sloupce(K500);
Interval hledani Qn
Qnmin=0.1;      
dQn=0.005;       
Qnmax=5;        
Reseni realne rady K
Hledani Qn pro zadane Pt (pomoci funkce 
vh_reseni_optim)
Qn=(Qnmin:dQn:Qnmax)';          
for i=1:length(Qn)              
    Pt_g(i,1)=vh_reseni_optim(P,Vz,Qn(i,1));
end
figure(1)
plot(Qn,Pt_g,'ro');
grid on; text('interpreter','tex','String','');
title('Zavislost mezi P_t a Q_n','FontWeight','bold','FontSize',14);
xlabel('Nadlepseny prutok Q_n [m^3.s^{-1}]');
ylabel('Zabezpecenost podle trvani P_t [%]');
data=[Qn,Pt_g];             
for j=1:length(Qn)          
    if data(j,2)>=Pt_poz
        pozice=j;
    end
end
Qn_vysl=data(pozice,1);     
[ Pt,Po, por_mes,por_rok ]=vh_reseni(P,Vz,Qn_vysl);
|  | 
| Gr. 1: Průběh závislosti zabezpečenosti podle trvání v souvislosti se zvoleným nadlepšeným odtokem | 
|  | 
| Gr. 2: Průběh stavu objemu vody v nádrži v milionech m^3 během modelovaných třiceti let | 
|  | 
| Gr. 3: Průtoková řada přítoku do nádrže pro období třiceti let | 
ULOZENI A ZOBRAZENI VYSLEDKU
realna(:,1)={['Pt'];['Po']; ['poruchy_mesicni'];['poruchy_rocni'];...
    ['nadlepseny prutok']};
realna(:,2)={[Pt];[Po]; [por_mes];[por_rok];[Qn_vysl]};
disp('Realna rada');
disp(realna);
Realna rada
    'Pt'                   [98.6959]
    'Po'                   [91.1184]
    'poruchy_mesicni'      [      4]
    'poruchy_rocni'        [      2]
    'nadlepseny prutok'    [ 2.1300]
Reseni synteticke rady K500
Hledani Qn pro zadane Pt (pomoci funkce 
vh_reseni_optim)
Qn=(Qnmin:dQn:Qnmax)';          
for i=1:length(Qn)              
    Pt_gS(i,1)=vh_reseni_optim(P500,Vz,Qn(i,1));
end
figure(4)
plot(Qn,Pt_gS,'bo');
grid on
title('Zavislost mezi P_t a Q_n','FontWeight','bold','FontSize',14);
xlabel('Nadlepsený prutok Q_n [m^3.s^{-1}]');
ylabel('Zabezpecenost podle trvani P_t [%]');
dataS=[Qn,Pt_gS];       
for j=1:length(Qn)      
    if dataS(j,2)>=Pt_poz
        pozice=j;
    end
end
Qn_vyslS=dataS(pozice,1);   
[ Pts,Pos, por_mess,por_roks ]=vh_reseni(P500,Vz,Qn_vyslS);
|  | 
| Gr. 4: Průběh zabezpečenosti podle trvání v souvislosti se zvoleným nadlepšeným odtokem (syntetická řada) | 
|  | 
| Gr. 5: Průběh stavu objemu vody v nádrži v milionech m^3 během modelovaných třiceti let (syntetická řada) | 
|  | 
| Gr. 6: Průtoková řada přítoku do nádrže pro období třiceti let (syntetická řada) | 
ULOZENI A ZOBRAZENI VYSLEDKU
synteticka(:,1)={['Pt'];['Po']; ['poruchy_mesicni'];['poruchy_rocni'];...
    ['nadlepseny prutok']};
synteticka(:,2)={[Pts];[Pos]; [por_mess];[por_roks];[Qn_vyslS]};
disp('Synteticka rada');
disp(synteticka);
Synteticka rada
    'Pt'                   [98.5218]
    'Po'                   [89.4684]
    'poruchy_mesicni'      [     88]
    'poruchy_rocni'        [     52]
    'nadlepseny prutok'    [ 2.4400]