Fortran 90 Liikkuva Keskiarvo


Johdatus Fortranin luontaisiin funktioihin. Luku 4. luku ja esimerkki f Käynnistä kotitehtävä 4, s. 1. 31. Pitkä ennen tieteellisiä laskimia, tiedemiehet ja insinöörit ymmärsivät, että he tarvitsivat helppoja tapoja saada tuloksia tavallisista toiminnoista, kuten sini-, kosini-, luonnollinen logaritmi ja paljon muuta Nämä tarpeet on otettu huomioon jokaisessa Fortran-standardissa, mikä johti pitkään sisäänrakennettuihin toimintoihin, jotka ovat luontaisia ​​toimintoja helpottamaan elämääsi. En katata kaikki nykyisen Fortran 90: n toiminnot, mutta antavat sinä joitain keskeisiä tässä ja myöhemmissä keskusteluissa. Syntyyppi käyttämistä varten voi olla hyvin tuttua, koska ne näkyvät myös laskentataulukoissa. Jos kirjoitan nopeuden suuruuden kohtaan A1, ja nopeuden ja nopeuden välinen kulma x-akselilla radiaaneissa laatikossa A2, niin voin laskea nopeuden x-komponentti ruutuun A3 kaavalla A1 COS A2. Fortranissa tämä tulos saataisiin saamaan selvitys, kuten. ve lx vel cos angrad Ennen siirtymistä tarvitsemme yhden yksinkertaisen määritelmän Edellä olevassa esimerkissä angrad on argumentti toiminnosta cos. Some Basic Intrinsic Functions. abs x - absoluuttinen arvo x. iabs I - Absoluuttinen arvo kokonaislukua I ennen 90 Fortran abs didn t kuten kokonaisluku arguments. sin x - Palauttaa sine xx ei ole kokonaisluku. cos x - Palauttaa kosinin xx ei ole kokonaisluku. tan x - Palauttaa tangentin xx ei ole kokonaisluku. exp x - laskee e 2 7183 x-teholle x ei ole kokonaisluku. log x - laskee luonnollisen logaritmin xx ei ole kokonaisluku ja 0.log10 x - lasketaan perus 10 logaritmi xx ei ole kokonaisluku ja 0.asin x - Palautukset xx: n arcsine käänteinen sini on real. acos x - Palauttaa xx: n arccosiinin käänteiskohinaa on real. atan x - Palauttaa xx: n arktangenttisen käänteistangentin real. sqrt x - Palauttaa neliöjuuren xx ei ole kokonaisluku ja 0.nint x - Palauttaa lähimmän kokonaisluvun reaalilukuun x. min x1, x2 - Palauttaa vähintään x1, x2 argumenttien arvon minulle type. max x1, x2 - Palauttaa maksimi x1, x2 argumenttien on oltava samantyyppisiä. Maksimi - ja minitoiminnot ovat epätavallisia, koska ne ottavat minkäänlaisia ​​argumentteja. Yleiset lomakkeet min ja max eivät olleet pakollisia Fortran 77-standardissa, mutta ovat Fortranissa 90 Monissa Fortran 77 - koodeissa näet funktion. amax1 x1, x2 - Palauttaa maksimi x1, x2 reaaliluvut ovat real. amax0 i1, i2 - Palauttaa i1: n, i2: n koska reaaliluvut argumentit ovat kokonaislukuja. max0 i1, i2 - Palauttaa i1: n, i2: n maksimi kokonaislukuvuudeksi ovat integer. max1 x1, x2 - Palauttaa x1: n ja x2: n enimmäisarvon, koska kokonaisluku-argumentit ovat todellisia. min Lisäksi log ja log10 olivat valinnaisia ​​lomakkeita Fortranissa 77 Vanhemmissa ohjelmissa käytetään usein alog ja alog10 funktion nimeä kirjaimella, joka on ominaisuus todellisen sijasta kokonaislukuarvosta. Yleisesti ottaen Fortran 77 oli riippuvainen siitä, argumenttityypit ja palautettavan arvon tyyppi. Whi le Fortran 90: n sisäisten toimintojen kohdalla, on syytä mainita kaksi esimerkkiä f ja yksi asiaan liittyvä toiminto, jotka ovat hyödyllisiä useissa koneissa käynnissä olevissa ohjelmissa. pieni x - Palauttaa pienimmän positiivisen luvun, voidaan esittää nykyisessä tietokoneessa todellisen argumentin x. huge x - Palauttaa suurimman positiivisen numeron, joka voidaan esittää nykyiselle tietokoneelle todellisen argumentin x. precision x - Palauttaa nykyisen tietokoneen likimääräisen desimaalin tarkkuuden todellisen argumentti x. Some Comments for Speed. You täytyy ymmärtää, että trigonometriset, log, ja exp intrinsic toiminnot ovat suhteellisen kalliita tietokoneen aikaa tarvitaan Jos tarvitset arvon sin 0 1 usein, käytä toimintoa kerran tehtävän kuten. sin0p1 sin 0 1 sitten käytä uutta muuttujaa sin0p1 missä tahansa syn 0 1 tarvitaan. Exp: n ja login korkeat kustannukset heijastuvat myös operaattorin käytössä. Yleensä lauseke kuten xy johtaa kääntäjään kuitenkin useimmat kääntäjät ovat riittävän älykkäitä ymmärtämään, että jos y on kokonaisluku, he voivat käyttää yhtä tai useampaa kertolaskua x 2 xx, x 3 xxx, jne. Tällaiset kääntäjät sisältävät logiikan tietää break - jopa piste y: n koon mukaan tällaisen kertomisen ja exp: n ja login yhdistämisen välillä On aina nopeampaa ohjelmoida x 2 kuin x 2 0, joten ole varovainen valitsemaasi tyyppeihin eksponentteille. Speed ​​on myös tekijä sqrt-ominaisuuden olemassaolo Tämä on erityinen algoritmi tietueen neliöjuuren laskemiseksi, joka on aina nopeampi kuin nostaa numero 0 5: n tehoon. Kun vaihtoehtoa on olemassa, käytä sqrt x: tä pikemminkin kuin x 0 5. sqrt x on nopeampi kuin x 0 25. Vaikka olemme nopeuden kohteena, meidän on tarkasteltava muiden toimintojen suhteellista nopeutta Lisää ja vähennä ovat aina nopein Multiply tulee toinen Divide on hitaampi kuin moninkertainen mutta huomattavasti nopeampi kuin sqrt Jos olet muuttuvat muuttujan mukaan x usein yli 2 tai 3 kertaa, on hyvä määritellä toinen muuttuja say rx yhtälöllä rx 1 x, sitten kerrotaan rx: llä, jossa olisi jaettu xA-malliohjelmalla käyttäen intrinsicfunctions. Study sample program trigf esimerkkejä luontaisista toiminnoista ja hyödyllisenä alussa viimeisimmän kotitehtäneesi. Tarkastele kysymyksiä. Testaa tämän materiaalin tuntemus muutamilla tarkistuskysymyksillä. Suorita yksi taso Home. Posted 10. toukokuuta 2016.fortran 90 moving average. Before you osta Zyprexa Zydis, sinun tulee kertoa siitä lääkärillesi, jos sinulla on maksasairaus, sydänsairaus, diabetes, suolen vajaatoiminta, kapselin glaukooma tai suurentunut eturauhanen. Kerro myös hänelle, jos sinulla on ollut alhainen tai korkea verenpaine, alhainen WBC-määrä, hightriglyseridit tai kolesteroli, sydänkohtaus, aivohalvaus tai sydämen vajaatoiminta, rintasyöpä, kouristuskohtaukset tai epilepsia Koska Zyprexa Zydis saa sinut huimaa, ei saa ajaa ajoneuvoa tai tehdä sellaista toimintaa, joka edellyttää täydellistä valppautta Lääke voi johtaa vieroitusoireisiin, ruokintaongelmiin, hengitysvaikeuksiin, vapinaan, jäykkyyteen tai lihasten heikkenemiseen ja kykyyn syntymään syntymättömälle vauvalle. Siksi sitä ei suositella raskaana oleville naisille. Uusia kaupankäyntijärjestelmiä ja menetelmiä Perry J Kaufman Ebook fortran 90 liukenevaa keskiarvoa. HUOMAUTUS Tämä seloste on tiivistelmä. Se ei välttämättä kata kaikkia mahdollisia tietoja. Jos sinulla on kysyttävää tästä lääkevalmisteesta, keskustele lääkärin, apteekkihenkilökunnan tai terveydenhuollon tarjoajan kanssa Fortran 90 liukuvan keskiarvon kanssa. Valmistaja on MHRA-hyväksytty Yhdistyneen kuningaskunnan valmistaja. Fortran 90 liukuvaa keskiarvoa - Lue lisää. Fortran 90 liukuva keskiarvo. Jos unohdat annoksen, ota se heti, kun voit. Jos se on melkein aika seuraavalle annokselle, ota vain tämä annos Älä käytä kaksinkertaisia ​​tai ylimääräisiä annoksia. Zyprexa Zydis - tablettien zyprexa ja keltaisuus yleinen nimi zyprexa zydis savu murskattu halpa olanzapine zyprexa zydis vetäminen olanzapiinin iv annosta. Aikuisille annetaan Zyprexa Zydis 5 mg-10 mg kerran päivässä, kun taas nuorille annetaan n Zyprexa Zydis 2 5 mg-5 mg kerran vuorokaudessa Kaksisuuntaisen mielialahäiriön hoitoon aikuisille annetaan Zyprexa Zydis 5 mg-15 mg kerran vuorokaudessa, enintään 20 mg annoksia voidaan säätää potilaan iän, lääketieteellisen tilan ja vasteen mukaan hoito Kun otat tabletin, laita se kielellesi niin, että se voi liukua muutamassa sekunnissa. Tämän jälkeen voit poistaa sen vedellä tai ilman. Tuotetta Yhdistyneestä kuningaskunnasta Lähetetään United Kingdomfortranista 90 liukuvaa keskiarvoa. alue on rajoitettu tilapäisesti turvallisuussyistä. Yleistä on halvempaa, koska geneeristen valmistajien ei tarvitse sijoittaa suuria rahasummia huumeiden keksimiseen. Kun tuotenimeä patentoitavat, geneeriset yritykset voivat valmistaa kopion tuotenimeä olevasta huumeesta ja myydä se huomattavalla alennuksella. Katso Fortran 90 liukuvaa keskiarvoa. Jos olet sitä mieltä, että olet ottanut liikaa lääkettä, ota yhteys myrkytyskeskukseen tai hätäapuun heti. HUOM Tämä lääke on vain sinun ei pidä jakaa tätä lääkettä muiden kanssa Fortran 90 liukuva keskiarvo rahaa MHRA hyväksytty Yhdistyneen kuningaskunnan Generic Manufacturerfortran 90 liukuva keskiarvo. Huomaa, että maa, valmistaja ja / tai maahantuontimaa voivat vaihdella saatavuudesta riippuen. Kaikki tavaramerkit ja rekisteröidyt tavaramerkit Älä käytä tätä lääkettä mihinkään seuraavista lääkkeistä - tietyt antibiootit, kuten grepafloxacin ja sparfloxacin - varma fenotiapiinit kuten klooripromatsiini, mesoridatsiini ja tioridatsiini-sesapridi-klotsapiini - droperidoli-halofantriini-levometadyyli-pimotsidi. Tämä lääke voi olla vuorovaikutuksessa seuraavilla lääkkeillä: - karbamatsepiini - karbonaasi-fluvoxamiini-levodopa ja muut Parkinsonin taudin lääkkeisiin käytettävät lääkkeet diabetekselle - korkean verenpaineen lääkkeet - lääketieteelliset masennus, ahdistuneisuus, muut mielialahäiriöt tai unihäiriöt - omepratsoli - rifampiini - retonaviiri - Tupakka tupakasta generaaliset lääkkeet ja niiden tuotenimeä vastaavat lääkkeet ovat geneerisiä aineita, jotka ovat halvempia ja voivat näyttää hieman erilaiselta muodoltaan tai väriltä, ​​koska tavaramerkkilakeilla estetään geneerinen näkemättä täsmälleen samankaltaisia ​​kuin brandin lääke fortran 90 liukuva keskiarvo rahaa. Kaikki lääketieteellinen sisältö toimitetaan kolmannen osapuolen yhtiö, joka on riippumaton tästä verkkosivustosta. Tällainen sivusto ei voi taata sen luotettavuutta, tarkkuutta tai lääketieteellistä tehokkuutta. Kaikissa tapauksissa sinun on pyydettävä neuvoa terveydenhuollon ammattihenkilöltä, joka koskee todellisuutta, hoitoa ja tai lääketieteellistä hoitoa koskevat ohjeet Huomaa, että kaikki tuotteet on toimitettu sopimuspuolella olevan kanadalaisen apteekin välityksellä. Tämä sivusto sisältää sopimuksia lääkäreitä ympäri maailmaa, jotka toimittavat tuotteita asiakkaillemme. Jotkut lainkäyttöalueista ovat muun muassa Yhdistynyt kuningaskunta, Eurooppa, Turkki, Intia, Singapore, Kanadassa, Vanuatussa, Mauritiuksessa ja Yhdysvalloissa. Tilauksessasi olevat tuotteet voidaan toimittaa mistä tahansa näistä lainkäyttöalueista tuotteiden saatavuus ja kustannukset tilauksen antamishetkellä Tuotteet ovat peräisin näistä lukijoista ja muista tavaramerkeistä Kaikki tavaramerkit ja rekisteröidyt tavaramerkit ovat omistajiensa omaisuutta. Fortran 90: ssä on tärkeä tehtävä. On olemassa lukuisia sisäisiä ominaisuuksia toiminnoista ja viidestä sisäisestä alistustyöstä Fortran 90: ssä käsittelen numeerisia ja matemaattisia rutiineja hyvin pian, koska niitä ei muuteta Fortran 77: sta ja siksi niiden tulisi olla tunnettuja. Tämä osa perustuu ISO-standardin 1991 osaan, joka sisältää muodollisempi käsittely Seuraamme standardien eri toimintojen ja aliohjelmien järjestelyä, mutta ne selitetään suoraan luettelossa Yksityiskohtaisemman käsittelyn tarkoitamme Metcalf ja Reid 1990, 1993.Jos alla oleva parametri on valinnainen, sitä annetaan pienessä tapauksessa merkit Kun argumenttiluettelossa on useita argumentteja, funktiota voidaan kutsua joko paikkasidonnaisilla argumentteilla tai avainsanalla Avainsana on käytettävä i f joitakin aiempia argumentteja ei ole sisällytetty Avainsanat ovat yleensä jäljempänä annettuja nimiä. Emme ole aina antaneet kaikkia luonnollisia rajoituksia muuttujille, esimerkiksi, että sijoitus ei ole negatiivinen. Toiminto PRESENT A palaa, jos argumentti A on soittoluettelossa, toisessa tapauksessa Käyttö on kuvattu esimerkkiohjelmassa päätekstin luvussa 8. Seuraavassa on saatavana Fortran 77 ABS, AIMAG, AINT, ANINT, CMPLX, CONJG, DBLE, DIM, DPROD, INT, MAX, MIN, MOD, NINT, REAL ja SIGN. Lisäksi Fortran 90: lle on lisätty CEILING, FLOOR ja MODULO. Vain viimeinen on vaikea selittää, mikä on helpommin tehty ISO 1991: Seuraavat Fortran 77: n toiminnot voivat käyttää eräänlaista parametria, kuten AINT A: ssa, kuten AINT, ANINT, CMPLX, INT, NINT ja REAL. Historia on, että Fortran 66: n numeerisissa funktioissa oli oltava eri nimiä erilaisissa tarkkuus, ja nämä nimenomaiset nimet ovat edelleen ainoat jotka voidaan käyttää, kun funktion nimi välitetään argumenttina. Täydellinen taulukko kaikista numeerisista funktioista Seuraavat tähdellä merkityt nimet eivät ole sallittuja argumentteina. Jotkin toiminnot, kuten INT ja IFIX, ovat kaksi erityistä funktiota nimeä voidaan käyttää Toisaalta joillakin toiminnoilla ei ole mitään erityistä nimeä Alla käytän C: n monimutkaisia ​​liukuluku-arvoja, D: n kaksinkertaisen tarkkuuden I-pisteiden arvot, I kokonaislukuja ja R: tarkkuus Leikkaus on nollan kohdalla, INT -3 7 tulee -3, mutta pyöristys on oikein, NINT -3 7 muuttuu -4 Uudet toiminnot FLOOR ja CEILING katkaisevat miinus ja plus ääretön vastaavasti. Toiminto CMPLX voi olla yksi tai kaksi argumenttia, jos on olemassa kaksi argumenttia, niiden on oltava samantyyppisiä, muttei COMPLEX. Funktion MOD X, Y laskee X - INT XY Y: n. Merkin siirtotoiminto SIGN X, Y ottaa toisen argumentin merkin ja asettaa sen ensimmäiselle argumentti, ABS X jos Y 0 ja - ABS X jos Y 0. Positiivinen ero DIM on funktio, jota en ole koskaan käyttänyt, mutta DIM X, Y antaa XY, jos tämä on positiivinen ja nolla toisessa tapauksessa. Inner tuote DPROD toisaalta on erittäin hyödyllinen funktio, joka antaa kaksinkertainen tarkkuusnumero kahden datan tuotoksena on sekä nopea että tarkka. Kaksi funktiota MAX ja MIN ovat ainutlaatuisia, koska niillä voi olla mielivaltainen määrä argumentteja, mutta vähintään kaksi argumenttia on oltava samat tyypit, mutta ne eivät saa olla tyypiltään COMPLEX. Sama kuin Fortran 77: ssä Kaikki trigonometriset funktiot toimivat radiaaneissa Seuraavat ovat saatavilla ACOS, ASIN, ATAN, ATAN2, COS, COSH, EXP, LOG, LOG10, SIN, SINH, SQRT, TAN ja TANH. Historiallinen tosiasia on, että Fortran 66: ssä matemaattisissa funktioissa oli oltava erityiset nimet erilaisissa tarkkuuksissa, ja nämä nimenomaiset nimet ovat edelleen ainoat, joita voidaan käyttää, kun funktion nimi välitetään argumenttina. Täydellinen taulukko kaikista matemaattisista funktioista seuraa Be alhaalla Käytän C monimutkaisia ​​liukuluku-arvoja, D kaksiarvoisia liukulukuisia arvoja varten, I kokonaislukuja ja R liukuluku-arvoja yhdellä tarkkuudella Useimpien näiden toimintojen tarkoitus on ilmeinen Huomaa, että kaikki ne määritellään vain kelluville pisteiden numerot eivätkä kokonaislukuja varten Siksi ei voi laskea neliöjuurta 4 SQRT: ssä 4 vaan sen sijaan voit käyttää NINT SQRT REAL 4 Huomaa myös, että kaikki monimutkaiset toiminnot palauttavat tärkeimmän arvon. Neliöjuuri antaa todellisen tuloksen todellinen argumentti yhdellä tai kahdella tarkkuudella ja monimutkainen tulos monimutkaiselle argumentille SQRT -1 0 antaa virheilmoituksen yleensä jo käännöstyössä, kun taas saat monimutkaisen neliöjuuren käyttämällä seuraavia lausumia Tavallisiin logaritmeihin perustuva argumentti on on positiivinen, kun taas CLOG: n argumentin on oltava eri kuin nollasta. ASIN: n ja ACOS: n argumentille on oltava korkeintaan 1 tulos, joka on - pi 2, pi 2 ja 0, pi. ioni ATAN palauttaa arvon - pi 2, pi 2.Toiminto ATAN2 Y, X arctan y, x palauttaa arvon - pi, pi Jos Y on positiivinen tulos on positiivinen Jos Y on nolla, tulos on nolla, jos X on positiivinen ja pi, jos X on negatiivinen Jos Y on negatiivinen tulos on negatiivinen Jos X on nolla, tulos on plus tai miinus pi 2 Sekä X että Y ei saa olla samanaikaisesti nolla Toiminnon tarkoitus on välttää jakautuminen nollalla. Luonnollinen rajoitus matemaattisille funktioille on rajoitettu tarkkuus ja alue, mikä tarkoittaa, että esim. EXP voi aiheuttaa alivirtauksen tai ylivuoton argumentin melko tavanomaisissa arvoissa. Trigonometriset toiminnot saavat erittäin pienen tarkkuuden suurille argumentteille Nämä rajoitukset ovat täytäntöönpanosta riippuvaisia, ja ne on annettava myyjän käsikirjassa. Seuraavat toiminnot suorittavat toimintoja merkkisten merkkijoukkojen kohdalta ja merkkijonoihin. Huomaa, että ACHAR toimii standardin ASCII-merkkijoukon kanssa, kun taas CHAR toimii esityksessä tietokoneessa e Käyttämällä yllä olevia rutiineja vertaa kahta merkkijonoa lajittelemalla ASCII: n mukaan Jos merkkijono on lyhyempi kuin toinen, aihiot lisätään lyhyen merkkijonon loppuun Jos merkkijono sisältää ASCII-merkkijoukon ulkopuolisen merkin, tulos on toteutumisesta riippuvainen. LEN STRING palauttaa merkkijonon pituuden. Muuttujaan STRING ei tarvitse antaa arvoa. Ensimmäinen antaa todellisen argumentin tyypin, joka voi olla tyyppiä INTEGER, REAL, COMPLEX, LOGICAL tai CHARACTER. argumenttia X ei tarvitse antaa mitään arvoa. Toinen palauttaa kokonaislukujen lukumäärän pyydettyyn numerolukuun ja kolmas palauttaa lajin kelluville numeroille numeerisella tarkkuudella vähintään P-numerot ja yhden desimaalin eksponenttialueen välillä - R ja R Parametrien P ja R täytyy olla skalaarisia kokonaislukuja. Vähintään yksi P: stä ja R: stä on annettava. SELECTEDINTKIND: n tulos on kokonaisluku nollasta ja ylöspäin, jos haluttu laatu ei ole käytettävissä, saat -1 Jos useampi Käytettävät tyypit täyttävät ehdon, käytetään vähiten desimaalivälillä varustettua tyyppiä. Jos ehtoja täyttäviä tyyppejä tai tyyppejä on yhä olemassa, käytetään pienimmän tyyppisiä numeroita. SELECTEDREALKIND: n tulos on myös kokonaisluku nollasta ja ylöspäin, jos haluttua lajia ei ole saatavilla, -1 palautetaan, jos tarkkuus ei ole käytettävissä, -2, jos eksponenttialue ei ole käytettävissä ja -3 jos mitään vaatimuksia ei ole käytettävissä Jos useat toteutetut tyypit täyttävät tilan, yksi pienimmän desimaalin tarkkuudella palautetaan, ja jos on useita niistä, palautetaan vähiten lajin numero. Esimerkkejä annetaan päätekstin luvussa 2 Esimerkkejä erilaisista toteutuksista NAG ja Cray on annettu Liitteessä 6.LOKIIKKA L, lajinmuunnokset erilaisten loogisten muuttujien välillä Loogiset muuttujat voidaan toteuttaa eri tavoin, esimerkiksi fyysisellä esityksellä mieluummin yksi bitti, jota ei suositella, yksi te, yksi sana tai jopa yksi kaksois sana Tämä ero on tärkeä, jos COMMON ja EQUIVALENCE ja loogiset muuttujat on väärin käytetty ohjelmaan Fortran 66-ohjelmoinnin perinteisellä tavalla.8 Numeeriset kyselytoiminnot. Nämä toiminnot toimivat tietyn mallin kokonaislukuna ja liukuluku aritmeettiset, ks. ISO 1991, luku 13 7 1 Toiminnot palauttavat samantyyppisten lukujen ominaisuuksia kuin muuttuja X, joka voi olla todellinen ja joissakin tapauksissa kokonaisluku Toimintoja, jotka palauttavat todellisen argumentin X ominaisuudet löytyvät luvusta 12 alla, liukulukujen manipulointifunktioita. BITSIZE I palauttaa bittien määrän bittinäytön mallin mukaan standardissa ISO 1991, osa 13 5 7 Tavallisesti saamme bittien määrän koko sanaa. Bittin edustusmalli standardissa ISO 1991, käytetään 13 5 §: ää. TRANSFER SOURCE, MOLD, koko määrittelee, että ensimmäisen argumentin SOURCE fyysistä esitystä on käsiteltävä ikään kuin se olisi tyyppiä ja p arameters kuin toinen argumentti MOLD mutta muuttamatta sitä Tavoitteena on antaa mahdollisuuden siirtää määrätyn tietyn tyyppinen rutiini, jolla ei ole täsmälleen kyseistä tietotyyppiä.12 Kelluvat kädensijaustoiminnot. Nämä toiminnot toimivat tietyllä tavalla kokonaisluku - ja liukulaskennan aritmeettinen malli, ks. standardi ISO 1991, kohta 13 7 1 REAL Functions - tyyppisten todellisiin muuttujiin X liittyvät toiminnot, jotka palauttavat ominaisuuksia samankaltaisille numeroille kuin muuttuja X ovat alle osa 8 Numeeriset tutkintatoiminnot. DOTPRODUCT VECTORA, VECTORB tekee kahden vektorin skalaarituotteen, jonka pituus on sama kuin elementtien lukumäärä. Huomaa, että jos VECTORA on tyyppiä COMPLEX, tulos on SUM CONJG VECTORA VECTORB. MATMUL MATRIXA, MATRIXB tekee matriisituotteen kahdesta matriisista, joiden on oltava johdonmukaisia, eli niillä on M, K ja K, N ulottuvuudet, joita käytetään päätekstin 11 luvussa.14 Array-toiminnot. ALL MASK, dim palauttaa logi cal arvo, joka ilmaisee, onko kaikki suhteet MASK: ssa vain haluttua ulottuvuutta pitkin, jos toinen argumentti on annettu. MASK, dim palauttaa loogisen arvon, joka ilmaisee, onko jokin suhteessa MASK: ssa pitkin vain haluttua ulottuvuutta, jos toinen argumentti on annettu. COUNT MASK, dim palauttaa numeerisen arvon, joka on MASK-suhteiden määrä, jotka ovat vain haluttua ulottuvuutta pitkin, jos toinen argumentti on annettu. MAXVAL ARRAY, hämärä, maski palauttaa suurimman arvon taulukossa ARRAY niille, jotka noudattavat suhdetta kolmas argumentti MASK jos se annetaan, vain haluttu ulottuvuus, jos toinen argumentti DIM annetaan. MINVAL ARRAY, hämärä, maski palauttaa pienimmän arvon taulukossa ARRAY niistä, jotka noudattavat suhteessa kolmanteen argumenttiin MASK jos että yksi annetaan vain halutun ulottuvuuden mukaan, jos toinen argumentti DIM annetaan. PRODUCT ARRAY, hämärä, maski palauttaa kaikki ryhmän ARRAY-elementtien tuotteet, jotka noudattavat suhteita kolmannessa arg ument MASK jos se on annettu, vain haluttu ulottuvuus, jos toinen argumentti DIM annetaan. SUM ARRAY, hämärä, maski palauttaa kaikki taulukon ARRAY elementtien summa, jotka noudattavat suhteessa kolmanteen argumenttiin MASK jos että yksi annetaan vain halutun ulottuvuuden mukaan, jos toinen argumentti DIM on annettu Esimerkki annetaan lisäyksessä 3, kohta 10. ALKUNA ARRAY on looginen funktio, joka ilmaisee, onko jono jaetaan. LBOUND ARRAY, dim on funktio, joka palauttaa alemman ulottuvuuden rajan ARRAY: lle Jos DIM: ssä dimenssia ei anneta argumenttina, saat kokonaisluvun, jos DIM sisältyy, saat kokonaisluvun täsmälleen pienemmälle ulottuvuudelle, jonka olet pyytänyt. SHAPE SOURCE on funktio, joka palauttaa matriisin SOURCE muodon kokonaisluvutekijänä. SIZE ARRAY, dim on funktio, joka palauttaa elementtien lukumäärän ARRAY-taulukossa, jos DIM ei ole annettu ja elementtien määrä relevantissa dimensiossa, jos DIM on included. UBOUND ARRAY, himmennin on LBOUND: n kaltainen funktio, joka palauttaa ylimmän ulottuvuuden rajat. MERGE TSOURCE, FSOURCE, MASK on toiminto, joka yhdistää kaksi taulukkoa. Se antaa elementit TSOURCE: ssä, jos MASK: n ehto ja FSOURCE jos MASK: n ehto on kaksi kenttää TSOURCE ja FSOURCE on oltava samantyyppisiä ja samaa muotoa Tulos on myös tämän tyyppinen ja tämä muoto Myös MASK: n on oltava samaa muotoa. Olen tässä melko täydellinen esimerkki MERGE: n käytöstä, joka käyttää myös RESHAPE Huomaa, että kaksi aliohjelmia WRITEARRAY ja WRITELARRAY ovat testirutiineja kirjoittamaan matriiseja, jotka ensimmäisessä tapauksessa ovat REAL-tyyppisiä, toisessa tapauksessa LOGICAL-tyyppistä Seuraavaa tuotos saadaan PACK ARRAY, MASK, vektori pakkaa matriisin vektoriin MASK: n ohjauksella Loogisen MASK: n muodon on oltava samaa kuin ARRAY: n tai MASK: n on oltava skalaari Jos VECTOR sisältyy, sen on oltava joukko sijoitus 1 i ea-vektori, jolla on vähintään yhtä monta elementtiä kuin MASK: ssa, ja on samaa tyyppiä kuin ARRAY Jos MASK on skalaari, jonka arvo on VECTOR, sen sijaan on oltava sama määrä elementtejä kuin ARRAY. Tulos on vektori, jolla on monet elementit kuin ARRAYssa, jotka noudattavat ehtoja, jos VECTOR ei ole mukana, eli kaikki elementit, jos MASK on skalaari arvolla. Toisessa tapauksessa tulosten elementtien määrä on yhtä monta kuin VECTOR Arvot ovat hyväksyttyjä , eli arvot, jotka täyttävät ehtoja ja jotka ovat tavallisessa Fortran-järjestyksessä. Jos VECTOR on mukana ja sen elementtien määrä ylittää hyväksyttyjen arvojen lukumäärän, tulokseen tarvittavat puuttuvat arvot otetaan VECTOR-vastaaviin paikkoihin. Seuraava esimerkki perustuu MERGE-mallin muuttamiseen, mutta annan nyt vain tuloksia SPREAD SOURCE, DIM, NCOPIES palauttaa samantyyppisen ryhmän kuin argumentti SOURCE, jonka arvo kasvaa yhdellä Parametrit DIM ja NCOPIES ovat kokonaislukuja. Jos NCOPIES on negatiivinen, käytetään arvoa nolla. Jos SOURCE on skalaari, SPREAD tulee vektori NCOPIES-elementteillä, joilla kaikilla on sama arvo kuin SOURCE. DIM-parametri osoittaa, mikä indeksi jatkuu. on SOURCE: n alueella 1 ja 1, jos SOURCE on skalaari, niin DIM: n täytyy olla yksi. NCOPIES-parametri on elementtien määrä uusissa ulottuvuuksissa. Lisäkysymys on annettu ratkaisussa harjoitukseen. 11. UNPACK VECTOR, MASK, ARRAY hajottaa vektorin ryhmään MASK: n hallinnan alapuolella Loogisen ryhmän MASK: n muodon on sovittava ARRAY: n kanssa. Joukossa VECTOR on oltava sijoitus 1 eli se on vektori, jolla on vähintään yhtä monta elementtiä kuin ne, jotka ovat true on MASK ja se on myös samaa tyyppiä kuin ARRAY Jos ARRAY annetaan skalaarina, sitä pidetään taulukolta, jolla on sama muoto kuin MASK ja samat skalaariset elementit kaikkialla. Tulos on taulukko, jolla on sama muoto MASK ja samaa tyyppiä kuin VECTOR Arvot ovat VECTOR-hyväksyttyjä eli niitä, jotka täyttävät MASK-ehdon, tavanomaisessa Fortran-järjestyksessä, kun taas jäljellä olevissa ARRAY-asemissa vanhoja arvoja pidetään. RESHAPE-LÄHDE, SHAPE, pad, order muodostaa taulukon, jolla on määritetty muoto SHAPE alkaen elementtejä tietyssä taulukossa SOURCE Jos PAD ei sisälly, niin SOURCE-koko on oltava ainakin TUOTEKÄYTTÖ Jos PAD on mukana, sen on oltava samaa tyyppiä kuin SOURCE Jos ORDER on sen on oltava INTEGER-taulukko, jolla on sama muoto kuin SHAPE ja arvojen on oltava 1,2,3 N: n permutaatio, jossa N on SHAPE-elementtien lukumäärä, sen on oltava pienempi tai yhtä suuri kuin 7 . Tuloksella on luonnollisesti muoto SHAPE ja elementit ovat SOURCE: ssä mahdollisesti täydennettyjä elementtejä. PAD on eri elementtejä, kun ORDER on sisällytetty, mutta vaikuttamatta tuloksen muotoon. annetaan luvussa e edellinen ja seuraava kohta ja myös lisäyksessä 3, 9 jakso Monimutkaisempi esimerkki, joka kuvaa myös valinnaisia ​​argumentteja, seuraa Edellä olevan ohjelman lähtö on seuraavanlainen. Siirtofunktiot palauttavat taulukon muodon ennallaan, mutta siirtävät elementit Ne ovat melko vaikeasti selitettäviä, joten suosittelen tutkia myös standardia ISO 1991.CSHIFT ARRAY, SHIFT, hämärä suorittaa pyöreän siirtymän SHIFT-asennoilla vasemmalle, jos SHIFT on positiivinen ja oikealle, jos se on negatiivinen. Jos ARRAY on vektori siirto tehdään luonnollisella tavalla, jos se on korkeamman joukko, muutos on kaikissa ulottuvuuksissa DIM Jos DIM puuttuu, sen katsotaan olevan 1, muissa tapauksissa se on skalaari kokonaislukumäärä 1: n ja n: n välillä, missä n on ARRAY-rivin taso Argumentti SHIFT on skalaarinen kokonaisluku tai n-l: n ja numeerinen kokonaisluku ja sama muoto kuin ARRAY, lukuun ottamatta dimensiota DIM, joka poistetaan alemman arvon vuoksi. Eri osaa voi t siksi siirrytään eri suuntiin ja eri asennoilla. EOSHIFT ARRAY, SHIFT, raja, hämärä suorittaa siirtymän vasemmalle, jos SHIFT on positiivinen ja oikealle, jos se on negatiivinen. Elementtien sijaan muutetaan uusia elementtejä BOUNDARY Jos ARRAY on vektori, siirto tehdään luonnollisella tavalla, jos se on ylemmän luokan joukko, kaikkien osioiden siirtyminen ulottuvuuteen DIM Jos DIM puuttuu, sen katsotaan olevan 1, muissa tapauksissa sen on oltava scalaarinen kokonaislukuarvo välillä 1 ja n, jossa n on ARRAY-arvon taso. Argumentin SHIFT on skalaarinen kokonaisluku, jos ARRAY on sijoitus 1, toisessa tapauksessa se voi olla skalaarinen kokonaisluku tai n - 1 ja samaa muotoa kuin taulukko ARRAY paitsi DIM-dimenssia pitkin, joka poistetaan alemmasta arvosta. Vastaava koskee BOUNDARY-arvoa, jolla on sama tyyppi kuin ARRAY Jos parametri BOUNDARY puuttuu, voit valita arvoja nolla tai tyhjää käytetään riippuen tietotyypistä Eri osiot voidaan siis siirtää eri suuntiin ja eri asennoilla. Yksinkertainen esimerkki yllä olevista kahdesta toiminnosta vektorikoteloon seuraa sekä ohjelmia että lähtöä. Yksinkertainen esimerkki yllä olevista kahdesta toiminnosta matriisikotelo seuraa Olen käyttänyt tässä RESHAPE: tä sopivan matriisin luomiseen, jotta työ aloitettaisiin. Ohjelmaa ei toisteta täällä, vaan ainoastaan ​​päälausunnot TRANSPOSE MATRIX siirtää matriisin, joka on rivin 2 sarja. Se korvaa rivit ja sarakkeet matriisi. MAXLOC ARRAY, maski palauttaa suurimman elementin sijainnin taulukossa ARRAY, jos MASK on sisällytetty vain niihin, jotka täyttävät MASK-olosuhteiden tulokset. Tulos on kokonaislukuvektori. Tätä käytetään harjoituksen 11 ratkaisussa. 1.MINLOC ARRAY, maski palauttaa pienimmän elementin sijainnin ARRAY-taulukossa, jos MASK on sisällytetty vain niihin, jotka täyttävät MASK-olosuhteiden tulokset. Tulos on kokonaislukuvektori. SYÖTTÖINEN POINTER, get on looginen funktio, joka ilmaisee, jos osoitin POINTER liittyy johonkin kohteeseen ja jos tietty TARGET sisältyy siihen, se osoittaa, onko se liitetty täsmälleen kyseiseen kohteeseen. Jos sekä POINTER että TARGET ovat osoittimia, tulos on vain, jos molemmat ovat yhteydessä sama kohde viittaisin lukijaa päätekstin, Pointersin, luku 12: een. Aliohjelma, joka palauttaa päivämäärän, kellonajan ja aikavyöhykkeen. Ainakin yksi argumentti on annettava. DATE: n on oltava skalaarinen merkkijono-muuttuja ainakin 8 merkkiä ja sille annetaan arvo CCYYMMDD vuosituhannelle, vuodelle, kuukaudelle ja päivälle. Kaikki on annettu numeerisesti aihioina, jos järjestelmässä ei ole päivämäärää. AIKA: n on oltava myös skalaarinen merkkijono-muuttuja, jossa on vähintään 10 merkkiä ja se on määritetty arvo ajaksi tunnissa, minuutteina, sekunteina ja millisekunteina Kaikki on annettu numeerisesti aihioilla, jos järjestelmässä ei ole kelloa. ZONE: n on oltava skalaarinen merkkijono-muuttuja, jossa on vähintään 5 merkkiä ja se on määritetty arvo hhmm merkkiin, aika tunteina ja minuutteina paikalliseen aikaeroon UTC, jota aikaisemmin kutsuttiin Greenwichin keskimääräiseksi ajaksi. Kaikki on annettu numeerisesti, aihiot, jos järjestelmässä ei ole kelloa. Ruotsissa saamme siis talvella 0100 ja 0200 kesällä, Novosibirskissa saamme 0700. Muuttuvien arvojen sijaan on kokonaisluku vektori, jossa on vähintään 8 elementtiä, se antaa helpoimman tavan käyttää tuloksia DATEANDTIME: stä ohjelman laskelmissa Jos järjestelmässä ei ole päivämäärää tai ajankohta, jona saat arvoa - Oma 0, joka on mallin pienin kokonaisluku, tuotoksena Vektori sisältää seuraavat elementit vuosi, kuukausi, päivä, aikaero minuutteina, minuutteina, sekunteina ja millisekunteina Subroutine, joka palauttaa system time At least one argument has to be given COUNT is a scalar integer which is increased by one for each cycle up to COUNTMAX where it starts once again If there is no system clock then - HUGE 0 is returned. COUNTRATE is a scalar integer that gives the number of cycles per second If there is no system clock the value zero is returned. COUNTMAX is a scalar integer which gives the maximum value that COUNT can reach If there is no system clock, zero is returned instead. A subroutine which copies the sequence of bits in position FROMPOS and has the length LEN to target TO starting in position TOPOS The remaining bits are not changed All quantities have to be integers and all except TO have to have INTENT IN while TO is supposed to have INTENT INOUT and be of the same kind type as FROM The same variable can be both FROM and TO Some natural restrictions apply to the values of LEN, FROMPOS and TOPOS and you also have to consider the value of BITSIZE. A sequence of pseudo random numbers can be generated from a starting value which is stored as an integer vector The subroutines offer a portable interface towards an implementation dependent random number sequence This subroutine returns in the floating - point number variable HARVEST one or several if HARVEST is an array random numbers between zero and 1 This subroutine resets, or gives information about, the random number generator No arguments have to be provided The output variable SIZE must be a scalar integer and gives the number of integers N the processor uses for the starting value The input variable PUT is an integer vector which puts the starting numbers provided by the user into the random number generator The output variable GET also an integer vector reads the present starting value Example A simple example on the use of these functions is now available.

Comments

Popular Posts