Nejvhodnější matematická operace?

Od: Datum: 09.11.13 09:25 odpovědí: 14 změna: 11.11.13 09:24

Potřeboval bych poradit co nejjednodušší matematickou operaci, pro následující aplikaci.

Mějme číslo X, které se po provedení matematické operace v určitém intervalu vůbec nemění, anebo pouze jenom minimálně. Po překročení horní hranice intervalu však číslo není vyšší než horní limita intervalu. Tedy např. interval je 1-25 a když se provede ona matematická operace s číslem 1, bude výsledek 1, když s číslem 20, bude výsledek 20, ale když se provede stejná matematická operace třeba s číslem 300 (tedy číslem mimo interval), bude výsledek max. 25, nebo hodně blízký. Má tento požadavek řešení?


Seznam odpovědí:
 
moment čekejte prosím, probíhá přenos dat...
Zobrazení struktury odpovědí v otázce
Skrytí struktury odpovědí v otázce
Zobrazení struktury odpovědí v otázce

 

Odpovědi na otázku:
Datum: 09.11.13 10:00
avatar

Trochu otázka je, co znamená "mění se jen minimálně", ale vašemu příkladu by odpovídama například operace

y = Min (x,25)

doplněno 09.11.13 10:12:

Tuto operaci lze zapsat i pomocí absolutí hodnoty:

y = ½ (25 + x _|25 _x|)

Ohodnoceno: 3x
 
Od: eda*
Datum: 09.11.13 10:25

Děkuji, dokonce to maji v Calcu - jak že se tato operace přesně česky jmenuje?

Datum: 09.11.13 10:33
avatar

minimum. Analogickymaximum je Max

Ohodnoceno: 1x
 
Od: eda*
Datum: 09.11.13 15:57
Mockrát děkuji. Jednoduché řešení úkolu, aby přímo z rovnice nebylo zřejmé ono maximum (25), náhodou neexistuje? Kdyby ne, nevadí, ale kdyby jo...
Datum: 10.11.13 14:02
avatar

Nějak mne nic moc nenapadá. Ono to maximum (tedy ta pětadvacítka) tam někde zabudované být musí, možná, že v tom vyjádření s absolutními kodnotami je to méně nápadné. Prostě nevím.

Ohodnoceno: 0x
 
Datum: 10.11.13 13:31
avatar

Klasické řešení : nějakými vzorečky se vypočte X a po výpočtu se prožene funkcí s omezující podmínkou

když x> 25 potom x = 25.

doplněno 10.11.13 13:40:

vidím že Kartaginec nemá páru o algoritmizaci

If X> 25 Then X = 25

Vypočtete nějaké číslo a následně vyhodnotíte výsledek. Když je výsledek větší než 25, pak místo onoho většího čísla dosadíte do výsledku 25. Jinak se nic nestane, protože v proměnné zůstává původní číslo.

avatar
Upozornění od sys ladinpraha 10. 11. 2013 16:17:47
!Pravidlo Z2: je zakázáno psát vulgárně, napadat, urážet uživatele, používat urážlivý nick..
Ohodnoceno: 0x
 
Datum: 10.11.13 13:51
avatar

Ono to, čemu nerozumím, začíná už v první větě: nějakými vzorečky se vypočte X

A o algorimech a algoritmizaci něco vím, Figurek ovšem má na mysli programovací jazyk, aniž by se o tom zmínil. Jen na okraj, spíše se to zapisuje

If X> 25 Then X := 25

ale hlavně je to nepoužitelná rada v situaci, kdy úloha byla vyřešena. Ale já se nechtěl hádat, já se opravdu chtěl dozvědět, co matě na mysli, zatím jsem na tom víceméně stejně.

Ohodnoceno: 0x
 
Datum: 10.11.13 14:07
avatar

promiňte, já se taky nechci hádat, jen bych rád věděl, odkud berete tu vaši sebejistotu. Algoritmy mají s programovacími jazyky společného ale opravdu hodně málo. Algoritmus je postup řešení, programovací jazyk je komunikační prostředek, kterým se postup řešení zapisuje.

Na rozhodování mezi dvěma čísly berete funkci MAX? To je, jako kdybyste zabíjel mouchy kladivem.

Mrkněte se na obrázek, jak ta funkce vlastně má vypadat. Vidíte totéž co já? 5 x 6 = 25

Ohodnoceno: 0x
 
Datum: 10.11.13 14:51
avatar

Dobře, a co tedy radíte tazateli? Tazatel má nějaké x a hledá funkci f tak, aby f(x) = x pro x <25, f(x) = 25 pro x ≥ 25. Já nechci být za machra, já jen opravdu nevím, co to vlastně radíte. No, dobře, 5*6=30, f(3) = 25 ... nezlobte se, to je řeč jako rozprávka. Nemůžete mi tomn+ě nechápavému vysvětlit? Nejlépe popsat algoritmus, s nímž pracujete? Prostě se v tom opravdu ztrácím.

doplněno 10.11.13 15:37:

Mám pocit, že v podstatě se snažíme říci totéž. Dovolíte-li, pokusím se napsat, jak chápu váš návrh.

První nedorozumění vidím v tom, že jste začal slovy "nějakými vzorečky se vypočte X ", z toho jsem nechápal, jakými vzorečky. Já bych prostě řekl, vězměme X (nebo tak nějak), no a dál vám jde o to, že f(x) = x pro x <25, a f(x ) = 25 pro x= 25 nebo x> 25. Jinými slovy, f(x ) = min (x, 25), respektive , chcete-li, if x <25 then f(x) = x else f(x) = 25, Právě to vaše zkrácené když x> 25 potom x = 25. ve mně vzbudilo pocit, že vám jde o programovací jazyk; to nebyla nějaká sebejistota, ale dojem.

Takže jsem došel k názoru, že jste chtěl říci v podstatě totéž co já, v konečném výsledku. A že se můžeme domluvit , a to bez ataků typu "nemáte potuchy" Opravte mne prosím, jestli se stále neshodneme.

Ohodnoceno: 0x
 
Datum: 10.11.13 15:57
avatar

Já nejsem učitel, já tyhle věci opravdu musím umět a vidím, že vy máte ve znalostech mezery. To není atak, ale konstatování holé skutečnosti.

Ohodnoceno: 0x
 
Datum: 10.11.13 16:10
avatar

No nic, já se snažil.

Ohodnoceno: 0x
 
Od: axus®
Datum: 10.11.13 16:11
avatar

Tomu se rika padny argument *palec*

Ohodnoceno: 1x
 
Datum: 11.11.13 09:24
avatar

A nevíš, prosím Tě, na podporu čeho?

Ohodnoceno: 0x
 
Datum: 10.11.13 17:05
avatar

A jste si jist? To, co jste předvedl při naší diskusi o statice a rozkladu sil, byla ostuda non plus ultra a jsem přesvědčen, že si stále myslíte, že jste měl pravdu. ¨Víte hodně věcí, mockrád jsem vám dal boda, ale mnooho věcí taky neumíte a mám pocit, že si to neumíte připustit.

doplněno 10.11.13 18:06:

Snad jen aby nedošlo k nedorozumění, mluvím o faktické stránce věci.

Ohodnoceno: 0x
 

 

 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz

 
Copyright © 2004-2016 Poradna Poradte.cz. Všechna práva na poradně Poradte.cz vyhrazena.