Matemaatikud palun teie abi
Ma olen ülesande ees, mille eesmärk on leida matemaatiline funktsioon liikumisülesandele.
Esimene ülesanne on soojenduseks.
Selle lahenduse oskavad kõik välja arvutada kes on vähegi koolis käinud.
Olgu meil jõgi laiusega s m, kus vesi voolab ühtlaselt kiirusega Vvool m/s ning olgu meil ühel kaldal ujuja, kes ujub ühtlase kiirusega Vujuja m/s. Ujuja soovib ujuda täpselt risti üle jõe punktist A punkti B.

Küsimused. Millise nurga all peab ujuja liikuma, et punktide A ja B vaheline ujumise trajektoor oleks sirge. Leida aeg, mis kulub ujujal teisele kaldale jõudmiseks ja ujuja tegelik edasiliikumise kiirus kalda suhtes.
Vastus on lihtne matemaatika.
- Voolu kiirus: Vvool m/s
- Ujuja kiirus: Vujuja m/s
- leida: ujuja nurk a, jõe ületamise aeg t, ujuja tegelik kiirus V
- Vastus: nurk a = arcsin Vvool/Vujuja
- Vastus: ujuja edasiliikumise kiirus V = sqrt(Vujuja2 – Vvool2)
- Vastus: jõe ületamise aeg t = s / v
See oli siis soojenduseks.
_____________
Aga nüüd päris ülesanne!
Seesama jõgi laiusega s m, voolukiirusega Vvool m/s ja seesama ujuja teadaoleva ujumiskiirusega Vujuja m/s.
Aga selle ülesande juures on oluliseks tingimuseks see, et tegemist on reaalse ujujaga ning ta ei tea ja tal pole aega seal kaldal matemaatikaga tegeleda. Ta peab lihtsalt jõudma vastaskaldale punktist A punkti B – see pole mingi trikiga ülesanne, need punktid on endiselt täpselt risti üle jõe.
Ujuja hakkab ujuma ning ta hoiab silmsidet punktiga B ja ujub kogu aeg täpselt punkti B suunas. Pange tähele - vesi voolab ning kui ujuja hoiab suunda kogu aeg punkti B peale, on tulemuseks kõverjoon.

Küsimused.
- Kui pika tee läbib ujuja? Vaja leida funktsioon.
- Kui kaua võtab aega jõudmine punktist A punkti B? Vaja leida funktsioon.
- Kuidas leida ujuja asukoht igal ajahetkel? Vaja funktsioon. Eeldame, et stardihetkel on koordinaadid x=0, y=0.
See ongi reaalse maailma ülesanne mida ma pole suutnud lahendada.
Fred
18.04.2014 00:43:30Tekkis selline teooria
Trajektoor oleneb sellest, kui tihti ujuja korrigeerib oma kurssi lõpp-punkti osas. Kui tego on mõne robotiga kes pidevalt korrigeerib oma kurssi, tuleks tulemuseks praktiliselt sirgjoon. Kui ujuja korrigeerib oma kurss iga 2 sekundi järel (korrint) ja on teada ujuja liikumiskiirus, siis sad trajektoori 2 s vaheliste suunamuutustega.
Esimese korrigerimisega tekib seega nurk1 = ArcTan((korrint*Vvool) / (jõelaius - (korrint*Vujuja))
Enne teist korrigeerimist ujub seiklussportlane Leivo juba aga nurga all ja järgmise nurga leidmiseks tuleb Vujuja lahutada komponentideks ja allesjäänud teepikkuse arvutamiseks lisada esimesele korrigeerimise eelnenud läbitud maa
nurk2= arctan(((2x(korrint*Vvool) - sin nurk1(korrint*Vujuja))/ (jõelaius - (korrint*Vujuja)- cos nurk1 (korrint*Vujuja)))
nurk3=arctan(((3x(korrint*Vvool) - sin nurk1(korrint*Vujuja)- sin nurk2 (korrint*Vujuja))/ (jõelaius - (korrint*Vujuja)- cos nurk1 (korrint*Vujuja) - cos nurk2(korrint*Vujuja)))
Nõme on see, et nurga leidmiseks on vaja teada jõe laiust. Seega mõistlikum oleks ikka kohe vajalik nurk välja arvutada, muidu läheb arvutamine juba pikaks.
Leivo
18.04.2014 01:19:15Sarnase lahenduse peale tulin ka ise. Joonistasin seda paberile ning vaatasin et jupikaupa saab lahendada küll.
Kui aeg aga võtta pidevaks (mitte näiteks 2s) siis peaks juba kõrgem matemaatika mängu tulema ja sellega jäin jänni.
Kui see kõrgema matemaatika funktsioon läheb liiga keeruliseks, siis vist tulebki teha teatav mööndus ning võtta kasutusele mingi eelnevalt defineeritud mõistlik ajaühik. Mõistlikkuse all pean silmas mingit suhet vastaskalda kauguse ning ujuja kiiruse suhtes.
NB! Selle ülesande lahendus oleks mulle suureks abiks.
Reaalses elus on see vastaskallas 10km kaugusel asuv saar, ujuja asemel on kajak 7km/h ning jõevoolu asemel on tuul/meretriiv/tõus/mõõn mingi nurga alt 2-8 km/h. Nurk võib olla arusaadavalt suvaline nurk - mitte 90 kraadi nagu ülaltoodud lihtsustatus näites.
Mihkel
18.04.2014 22:31:09Minu jaoks on see ülesanne alati segadust põhjustanud, kuna ometi kõige loogilisem ja ohutum oleks ujuda otse ja siis kõndida mööda kallast punkti b. Energia kulu peaks olema väikseim. Aga kajaki ülesande lahenduseks see muidugi ei sobi.
Tõnu Tõnso
19.04.2014 03:43:11Sain Rando käest info selle toreda ülesande kohta.
Siin on tegelikult kolm ülesannet.
1) Leida niiviisi tekkiva liikumise trajektoor.
2) Määrata kindlaks trajektoori pikkus.
3) Leida aeg, mis kujub antud trajektoori läbimiseks.
Mõelda tasub ka, millist matemaatilist aparatuuri võiks kasutada. Üheks võimaluseks oleks vektorväljad. Jõe laius s ja kaks konstantset kiirust ehk ujuja kiirus seisva vee suhtes ja jõe voolu kiirus määravad ära liikumise trajektoori. Lõigust AB paremale jääva piirkonna igale punktile saame seda vastavusse ühe trajetoori, mis seda punkti läbib ja trajektoori igale punktile saame seada vastavusse ülalmainitu kolm parameetrit ning kaks vektorit;
neist üks on konstantne (jõe voolukirus), teine aga fikseeritud pikkuse ning muutuva suunaga. Nende kahe vektori summavektor annabki otsitava vektorvälja. Põhimõtteliselt saab selliseid vektorväljal tekkivaid trajektoore ka küllalt lihtsate vahenditega (näiteks GeoGebra, millega tegi Rando) lavastada.
Aga samas, antud kolm ülesannet on erineva raskusega.
Esimese ülesande saab siis, kui panna punktid A ja B koordinaadistikku nii, et liikumisvõrrandid ja muutuva suunaga vektor koos oma projektsioonidega esituks kõige lihtsamal võimalikul viisil, lahendada ära ilma diferentsiaalarvutust kasutamata. Kusjuures ilmneb, et mingil robotil ei ole ka kõige parema tahtmise korral võimalik liikuda punktist A punkti B mööda sirgjoont. Veel ilmneb ilmselt paljude jaoks ootamatult, et trajektoori võrrandi puhul on oluline jõe laius s ja aga ei ole olulised seisvas vees ujuja kiiruse ning jõe voolu kiiruse konkreetsed arvväärtused, küll on aga oluline nende väärtuste suhe. Juhul, kui ujuja kiirus seisvas vees on väiksem kui jõe voolamise kiirus, siis antud lähenemisalgoritmi kasutav ujuja ei jõua kunagi punkti B ja ta teekond kestab lõpmata kaua. Omaette ooper on see juhtum, kus ujuja kirus seisvas vees on võrdne jõe voolamise kiirusega. Sel juhtumil peaks ujuja lähenemisnurk vastaskaldale lähenedes lähenema ka 90 kraadile.
Liikumistrajektoor peaks ka siis jõudma punkti B, aga ma ei julge esialgu isegi välja pakkuda, kui suur on siis trajektoori läbimise aeg.
Teine ülesanne (leida läbitava trajektoori pikkus) on standardse diferentsiaal- ja integraalarvutusega suhteliselt lihtsalt leitav. Siiski ei suutnud minu arvutialgebra pakett neid integraale analüütiliselt leida ja ma pidin kasutama numbrilist integreerimist.
Kolmas ülesanne - (leida trajektoori käbimiseks kuluv aeg) on aga raskem, kui esialgu mõeldud sai. Me saame küll leida ujujale tema trajektoori igas punktis mõjuva resultantkiirusvektori, aga see kiirusvektor muutub pidevalt ajas nii pikkuse kui ka suuna poolest. Kuidas selliseid kiirusi rakendada antud trajektooride peal, ma hetkel veel ei tea, Mingi keskmise kiiruse arvestamine siin arvesse ei tule. Kui ikka lähenemisnurk läheneb 90 kraadile ja ujuja kiirus seisvas vees on ligikaudu võrdne jõe voolamise kiirusega, siis ei tee aritmeetilise keskmisega midagi.
Esimese kahe ülesande lahenduse panin ka veebi välja, see on aadressil:
www.tlu.ee/~tonu/modesimu/Ekstreemum/ujuja.pdf
Seal on ka mingi Mathematica 6-ga käivitatav notebook fail ujuja.nb.
Samas ei julge ma kuulutada, et Mathematica kõrgemad versioonid annaksid neid notebooki ridu käivitades täpselt samu tulemusi.
Tõnu Tõnso
PS Antud ülesande lahendamiseks võiks kasutada ka diferentsiaalvõrrandeid
(trajektooride parv on ilmselt mingi diferntsiaalvõrrandi või diferentsiaalvõrrandite süsteemi lahendiks) või siis hoopis diferentsvõrrandeid (nagu pakub esimene kirjutaja). Sammhaaval arvutada ja sirglõikudest sammude pikkusi kokku liita on ju lihtne. aga siis tekivad hoopis uued probleemid - me nimelt ei suuda niiviisi tegutsedes püsida ühe trajektoori peal ja juhul, kui ujuja kiirus on ligikaudu sama suur kui jõe voolu kiirus, siis võivad tekkivad arvutusmoonutused põhjustada seda, et arvutaja satub lõpliku trajektoori pealt lõpmatu trajektoori peale või vastupidi.
Aga kui pidev mudel on valmis ja töötab korralikult, siis tasuks luua ka diskreetne mudel ja selle käitumist pideva mudeliga võrrelda.
PPS Tundub, et ma sain oma matemaatilise modelleerimise kursuse jaoks õpetliku näite.
Tõnu Tõnso
19.04.2014 04:13:36Mis puutub madalpõhjalise paadi või kajakiga sõitmisse, siis juhtumitel, kus külgsuunas mõjuv kiiruse komponent on ligilähedane sihtpunkti suunas rihitud kiiruse komponendiga, tasuks ilmselt loobuda niisugusest hukatuslikust kursist otse sihtpunkti peale ja arvutada käepäraste vahenditega välja vana hea ennetusnurga suurus. vastaskaatei ja hüpotenuusi järgi tuleb mõttes silmade ette kujutada täisnurkset kolmnurka mille kolmanda külje suudab iga mõtlev inimene Pütaagorase abil ligikaudu välja arvutada ja seejärel tuleb ligikaudselt hinnata selle nurga suurust; siinuste tabelit pähe õppida ja pliiatsit paberit märga veesõidukisse kaasa võtta pole vist mõtet.
Aga ennetusnurk on üks ütlemata vajalik asi. Hiljaaegu oli meil siin Tallinna akvatooriumis juhtum, kus uljurid ei teadnud hoovustest ja ennetusnurkadest midagi ning kihutasid otse märgi suunas kurssi hoides ilusa vana purjelaeva karidele puruks.
Leivo
21.04.2014 12:28:59Suur aitäh Tõnu, et leidsid aega selle ülesandega tegelemiseks ja koos Marisega nii põhjaliku vastuse koostasite.