Odpovedať 
 
Hodnotenie témy:
  • 0 Hlasov - 0 Priemer
  • 1
  • 2
  • 3
  • 4
  • 5
Vyvojovy diagram programu
01-22-2013, 23:30
Príspevok: #1
Vyvojovy diagram programu
Zdravim mam otazku.
Pripravil som si maly program, ale potrebujem k nemu spravit aj vyvojovy diagram. Ake postupne kroky vypoctu a podmienok robi.
Je niekde nejaky navod ako sa to robi? Nejake predpisane tvary? Dalej mi z cca 5 vzorcov, ktore su rovnake, lisia sa vzdy len jednym cislom. chcem aby nasiel minimalnu hodnotu a potom vypisal spravu aku budem potrebovat.
Ako sa v matlabe hlada min hodnota? Ale tak aby som s nou nepocital dalej, iba mi na zaklade toho ci ta minimalna hodnota bola v prvom, druhom tretom - piatok vzorci vypise urcitu spravu, ktora je pre kazdy vzorec ina, ale chcem aby sa ibjavila vzdy len ta, kde vo vzorci bude najmensia hodnota.
Potom k tomu vyvojovemu grafu - ako by som spravil v nom ze hlada min hodnotu?
Dakujem Miro
Vyhľadať všetky príspevky tohoto používateľa
Citovať príspevok v odpovedi
01-23-2013, 11:54
Príspevok: #2
RE: Vyvojovy diagram programu
Nie celkom sa v tej úlohe orientujem. Skús napísať viac, prípadne sem hoď ten kód.
Vyhľadať všetky príspevky tohoto používateľa
Citovať príspevok v odpovedi
01-23-2013, 12:05
Príspevok: #3
RE: Vyvojovy diagram programu
no mam napriklad taketo vztahy v programe
one=abs(Lz1_Dv1-Lzm_Dvm);
two=abs(Lz2_Dv2-Lzm_Dvm);
three=abs(Lz3_Dv3-Lzm_Dvm);
four=abs(Lz4_Dv4-Lzm_Dvm);
five=abs(Lz5_Dv5-Lzm_Dvm);
six=abs(Lz6_Dv6-Lzm_Dvm);

chcem, aby po prejdeni vypoctu vybralo z tychto 6 vztahov najmensiu hodnotu a vypisalo spravu napr one, two atd.
priklad: Najmensia hodnota bude najdena vo vztahu "one" - potom by som chcel aby vypisalo spravu "one" atd.
ale neviem ako to mam spravit, viem to len velmi primitivne :
if one<two && one<three && one<four && one<five && one<six;
sprava='one';
end
vies mi poradit nieco profesionalnejsie? a ako by som potom vo vyvojomvom grafe nakreslil ze prave halda min. hodnotu zo vztahov?
Dakujem za odpoved
Vyhľadať všetky príspevky tohoto používateľa
Citovať príspevok v odpovedi
01-23-2013, 12:17
Príspevok: #4
RE: Vyvojovy diagram programu
Jasné. Idem na to.
Vyhľadať všetky príspevky tohoto používateľa
Citovať príspevok v odpovedi
01-23-2013, 13:57
Príspevok: #5
RE: Vyvojovy diagram programu
Tak a tu je riešenie v .m kóde


Kód:
%náhodné naplnenie hodnotami
Lz1_Dv1=rand;
Lz2_Dv2=rand;
Lz3_Dv3=rand;
Lz4_Dv4=rand;
Lz5_Dv5=rand;
Lz6_Dv6=rand;
Lzm_Dvm=rand;

%samotné porovnanie
one=abs(Lz1_Dv1-Lzm_Dvm);
two=abs(Lz2_Dv2-Lzm_Dvm);
three=abs(Lz3_Dv3-Lzm_Dvm);
four=abs(Lz4_Dv4-Lzm_Dvm);
five=abs(Lz5_Dv5-Lzm_Dvm);
six=abs(Lz6_Dv6-Lzm_Dvm);

%hľadanie minima
x_name={'one' 'two' 'three' 'four' 'five' 'six'};
x=[one two three four five six];
[min_val pos]=min(x);
disp('Minimálna hodnota je')
min_val

disp('V premennej')
x_name{pos}
Vyhľadať všetky príspevky tohoto používateľa
Citovať príspevok v odpovedi
01-23-2013, 15:17
Príspevok: #6
RE: Vyvojovy diagram programu
waw, super to funguje, ale vobec tomu nechapem Smile
ak mas prosim ta cas, mozes vysvetlit co znamenaju jednotlive vztahy od "%hľadanie minima"?
Aby som popripade to vedel zmodifikovat pokail sa nieco zmeni.
Dakujem velmi za ochotu
Vyhľadať všetky príspevky tohoto používateľa
Citovať príspevok v odpovedi
01-23-2013, 17:36
Príspevok: #7
RE: Vyvojovy diagram programu
Tak tie prvé riadky sú hádam jasné. To som len vygeneroval náhodne čísla, aby som tam niečo mal. Potom nasleduje tvoj kód. A potom ide zas môj. Pozrime sa na to riadok po riadku.

x_name={'one' 'two' 'three' 'four' 'five' 'six'};
Vytvoril som si pole (nie je to terminologicky správne, ale pre naše potreby toto pomenovanie stačí) ktoré má 6 prvkov. Prvky sú typu string a majú svoje poradové čísla. Takže ak si dáš x_name{1}, tak to vráti one. To budeme potrebovať v budúcom výpise.

x=[one two three four five six]
Do vektoru x som vložil všetky hodnoty, ktoré si získal svojim výpočtom.

[min_val pos]=min(x);
Toto je asi kľúčový riadok. Najskôr pravá strana. Je tam použitý príkaz min. Tento príkaz zistí minimálnu hodnotu vo vektore. V tomto prípade x. To presne chceme. Hľadáme minimálnu hodnotu. Túto hodnotu uloží do premennej na ľavej strane do min_val. Funkcia min, ale vie vrátiť dve hodnoty. Jednu už máme. Tou druhou je poradové miesto minimálneho prvku. Takže ak je to na prvom mieste, tak to vrári 1 , ak na treťom 3. Túto informáciu vkladám do premennej pos.

disp('Minimálna hodnota je')
min_val
tieto dva riadky sú len výpis minimálnej hodnoty

disp('V premennej')
x_name{pos}
No a toto je výpis toho kde sa nachádzala minumálna hodnota.

Odporúčam prejsť si to riadok po riadku. Neboj sa zadávať aj do príkazového riadku, aby si to pochopil hlbšie.

Veľa šťastia a sleduj nás na facebooku Wink
TechnicalComputing
Vyhľadať všetky príspevky tohoto používateľa
Citovať príspevok v odpovedi
Odpovedať 


Skok na fórum:




Kontakty | matlab.sk | Nahor | Na obsah | Odľahčený (archivačný) mód | RSS