Wednesday, 22 November 2017

Średnia ruchoma fortran 90


Wprowadzenie do wewnętrznych funkcji firmy Fortran. Read Rozdział 4 i przykładowe uruchomienie zadania domowego 4, należne 1 31. Na długo przed nauką kalkulatory naukowcy i inżynierowie zdali sobie sprawę, że potrzebują łatwego sposobu na uzyskanie wyników ze wspólnych funkcji, takich jak sinus, cosinus, logarytm naturalny i wiele innych Potrzeby te zostały rozważone z każdym standardem firmy Fortran, co dało długą listę wbudowanych funkcji wewnętrznych funkcji, aby ułatwić Ci życie Nie pokrywę wszystkich funkcji w obecnym standardzie Fortran 90, ale da to niektóre kluczowe w tej i późniejszych dyskusjach. Składnia funkcji wewnętrznych może być dla Ciebie bardzo znana, ponieważ pojawiają się także w arkuszach kalkulacyjnych Jeśli wejdę do wielkości prędkości w polu A1, a kąt między prędkością a prędkością oś x w radianach w ramce A2, wtedy mogę obliczyć składową x prędkości w polu A3 o wzorze A1 COS A2.W Fortran wynik można uzyskać przy użyciu instrukcji przypisania takiej jak. ve lx vel cos angrad Przed przejściem potrzebujemy jednej prostej definicji W powyższym przykładzie angrad jest argumentem funkcji cos. Some Basic Intrinsic Functions. abs x - Absolutna wartość x. iabs I - Wartość bezwzględna liczby całkowitej I pre-90 Fortran abs nie odpowiadał arguments. sin całkowitym x - Zwraca sinus xx nie jest liczbą całkowitą. cos x - Zwraca cosinus xx nie jest liczbą całkowitą x - Zwraca tangens xx nie jest liczbą całkowitą. exp x - oblicza e 2 7183 na x moc x nie jest liczbą całkowitą. log x - oblicza naturalny logarytm xx nie jest liczbą całkowitą i 0.log10 x - oblicza bazę 10 logarytm xx nie jest liczbą całkowitą i 0.asin x - zwraca arcsine odwrotna sinusoida xx jest real. acos x - zwraca arcus cosinus odwrotny xx jest real. atan x - zwraca arctangent odwrotny styk xx jest real. sqrt x - zwraca pierwiastek kwadratowy xx nie jest liczbą całkowitą a 0.nint x - Zwraca najbliższą liczbę całkowitą do liczby rzeczywistej x. min x1, x2 - Zwraca minimum argumentów x1, x2 musi być sa me type. max x1, x2 - Zwraca maksymalną liczbę argumentów x1, x2 musi być tego samego typu. Funkcje maks. i min są nietypowe, ponieważ przyjmują dowolną liczbę argumentów. Formy ogólne min i max nie były częścią mandrynową Fortran 77, ale są w Fortranie 90 W wielu kategoriach Fortran 77 zobaczysz functions. amax1 x1, x2 - zwraca maksymalnie x1, x2 jako argumenty liczby rzeczywistej to real. amax0 i1, i2 - zwraca maksimum i1, i2 jako argumenty liczby rzeczywistej to liczba całkowita. max0 i1, i2 - zwraca maksymalną liczbę i1, i2 jako liczby całkowitą argumentów to liczba całkowita. max1 x1, x2 - zwraca maksymalnie x1, x2 jako argumenty liczb całkowitych są prawdziwe. Nie występowały formularze dla min Ponadto dziennik i dziennik10 były opcjonalnymi formularzami w Fortranie 77 starsze programy często używają alog i alog10, aby uruchomić nazwę funkcji literą charakterystyczną rzeczywistą, a nie liczbą całkowitą Ogólnie Fortran 77 był bardziej zależny od konkretnego użytkownika, wybierając funkcję odpowiednią dla typy argumentów i typ wartości do zwrócenia. Whi le na temat funkcji wewnętrznych Fortran 90, warto zauważyć dwa, które widziałeś w przykładowych zakresach f i jednej z powiązanych funkcji, które są przydatne w programach działających na różnych maszynach. tiny x - zwraca najmniejszą liczbę dodatnią może być reprezentowana na bieżącym komputerze pod kątem prawdziwego argumentu x. huge x - zwraca największą liczbę dodatnią, która może być reprezentowana na bieżącym komputerze w celu uzyskania prawdziwego argumentu x. precision x - zwraca przybliżoną dokładność dziesiętną dostępną na bieżącym komputerze dla rzeczywistej argument x. Some komentarze do Speed. You potrzebujesz zdać sobie sprawę, że trygonometryczne, log i exp wewnętrznych funkcji są stosunkowo drogie pod względem wymaganego czasu komputera Jeśli potrzebujesz wartości grzechu 0 1, często korzystać z funkcji raz w zadaniu jak. sin0p1 sin 0 1 następnie użyj nowej zmiennej sin0p1 gdziekolwiek potrzebny jest sin 0. Wysokie koszty exp i logu są również odzwierciedlone w użyciu operatora Zwykle wyrażenie takie jak xy skutkuje kompilatorem inse rting code equivalent to exp y log x Jednak większość kompilatorów jest na tyle inteligentna, aby zdawać sobie sprawę, że jeśli y jest liczbą całkowitą, mogą użyć jednego lub więcej multiplikacji x 2 xx, x 3 xxx itd. Takie kompilatory zawierają logikę, nawet jeśli chodzi o wielkość y, pomiędzy takim mnożeniem a kombinacją exp i logu Zawsze szybciej jest program x 2 niż x 2 0, więc uważaj na wybór typów dla wykładników. Ponieważ jest to również czynnik istnienie wewnętrznej funkcji sqrt Jest to specjalny algorytm obliczania pierwiastka kwadratowego liczby, który zawsze szybciej niż podniesienie liczby do mocy 0 5 Gdy opcja istnieje, użyj sqrt x zamiast x 0 5 W moim doświadczeniu sqrt sqrt x jest szybszy niż x 0 25. Podczas gdy jesteśmy na tempie, powinniśmy sprawdzić względną szybkość innych operacji Dodawanie i odejmowanie są zawsze najszybsze Mnożenie jest drugie Podział jest wolniejszy niż wielokrotność, ale znacznie szybciej niż sqrt Jeśli dzielą się przez zmienną x często więcej niż 2 lub 3 razy, dobrze jest zdefiniować inną zmienną mówiącą rx za pomocą równania rx 1 x, a następnie pomnożyć przez rx, gdzie dzielisz się przez program przykładowy xA za pomocą funkcji wewnętrznych. Sprawdź przykładowy program trig f na przykłady wewnętrznych funkcji i jako użyteczny początek Twojej ostatniej pracy domowej. Review Questions. Test swoją wiedzę z tego materiału z niektórymi pytaniami review. Up jeden poziom Home. Posted on 10 maja 2018.fortran 90 moving average. Before you kupować Zyprexa Zydis, należy poinformować lekarza, jeśli cierpisz na chorobę wątroby, chorobę serca, cukrzycę, problemy z jelitą, jaskra jamy ustnej lub powiększenie gruczołu krokowego Powinieneś również poinformować go o występowaniu niskiego lub wysokiego ciśnienia krwi, niskie stężenie WBC, podwyższone stężenie cholesterolu, zawał serca, udar lub niewydolność serca, rak piersi, napady padaczkowe lub padaczka Ponieważ Zyprexa Zydis powoduje zawroty głowy, nie należy prowadzić pojazdów ani wykonywać takich czynności wymagających całkowitego lekarz może prowadzić do objawów odstawienia, problemów z karmieniem, problemów z oddychaniem, drżenia, mięśni sztywnych lub ścięgiennych oraz pobudzenia u nienarodzonego dziecka, dlatego nie jest zalecane u kobiet w ciąży. Nowy system obrotu i metody przez Perry J Kaufman Ebook fortran 90 moving average. NOTE Ten arkusz jest podsumowaniem Nie może obejmować wszystkich możliwych informacji Jeśli masz jakieś pytania dotyczące tego leku, porozmawiaj ze swoim lekarzem, farmaceutą lub dostawcą usług medycznych, średnią ruchoma Fortran 90. Wyprodukowano przez firmę MHRA zatwierdzoną przez brytyjskiego producenta generycznego Średnia ruchoma 90. Przekroczona wartość średniej ruchomej 90. Średnia dla przeciętnej rundy 90. Jeśli pominiesz dawkę, weź ją tak szybko, jak to możliwe Jeśli zbliża się czas następnej dawki, weź tylko tyle dawki Nie przyjmuj dawek podwójnych lub dodatkowych. Wycofanie z 10 mg ciała ból zyprexa i żółtaczka nazwa generyczna zyprexa zydis dym dmuchany tanio olanzapina zyprexa zydis wycofanie dawka olanzapiny iv. Dorośli podano Zyprexa Zydis 5 mg-10 mg raz na dobę, podczas gdy nastolatki są podawane n Zyprexa Zydis 2 5 mg 5 mg raz na dobę W celu leczenia zaburzeń dwubiegunowych u dorosłych stosuje się Zyprexa Zydis 5 mg-15 mg raz na dobę, nie przekraczający 20 mg. Dawkowanie można dostosować w zależności od wieku pacjenta, stanu zdrowia i reakcji na Leczenie Podczas przyjmowania tabletki należy umieścić go na swoim języku, aby mógł się rozpuścić w ciągu kilku sekund Po tym, możesz łatwo pomalować go wodą lub bez wody. Produkt z Anglii wysłany z United Kingdomfortran 90 moving average. fortran 90 moving Dostęp z Twojego obszar jest tymczasowo ograniczony ze względów bezpieczeństwa. Generatory są tańsze, ponieważ producenci generycy nie muszą inwestować w duże sumy pieniędzy, aby wymyślić narkotyki. Kiedy firma patentowa opatruje nazwiska, producenci generycznych mogą produkować kopie narkotyków marki i sprzedawać to przy znacznych rabatach. Wartość fortran 90 średniej ruchomej. zażywanie leku Jeśli uważasz, że zażyło to zbyt dużo leku, skontaktuj się natychmiast z centrum zatrucia lub ratunkiem UWAGA dla Ciebie Nie dziel się tym lekiem z innymi ludźmi Fortran 90 średnią ruchomą zarabiaj. Wyprodukowano przez MHRA zatwierdzone przez UK Generic Manufacturerfortran 90 średnie kroki. Pamiętaj, że kraj, producent lub kraj wysyłki może się różnić w zależności od dostępności Wszystkie znaki towarowe i zastrzeżone znaki towarowe Arethe jest własnością ich odpowiednich właścicieli. Nie należy przyjmować tego leku z żadnym z następujących leków: pewnych antybiotyków, takich jak grepafloxacin i sparfloksacyna - pewna fenotiazyny, chlorpromazyna, mesoridazyna i trioridazocynapryd-klozapina-droperydol - halofurryna - levometadylopimidaz Lek ten może oddziaływać wzajemnie z następującymi lekami: - karbaamazepina - charcoal-fluorobutamina - levodopa i inne leki stosowane w chorobie Parkinsona - leki stosowane w cukrzycy-lekarstwa na wysokie ciśnienie krwi - medyczne leki depresyjne, lęki, inne zaburzenia nastroju lub problemy ze snem-omeprazol - rifampin-walonawir - tytoń z papierosów ween generics i ich nazwa marki są generatory są tańsze i mogą wyglądać nieco inaczej, kształt lub kolor, ponieważ przepisy o znakach towarowych uniemożliwiają lekiem generycznym wyglądanie dokładnie tak samo jak markowa nazwa leku fortran 90 średniej ruchomej zarabiają. Wszystkie materiały medyczne są dostarczane przez firmę trzecią, która jest niezależna od tej witryny internetowej, dlatego ta strona nie może zagwarantować wiarygodności, dokładności i skuteczności medycznej dostarczanych informacji we wszystkich okolicznościach, należy zasięgnąć porady specjalistów ds. zdrowia związanych z toaletą, leczeniem i lub medycznej Uwaga Należy pamiętać, że nie wszystkie produkty są dostarczane przez naszą aptekę kanadyjską Umawiające się strony zajmują się dystrybutorem na całym świecie, dostarczającym produkty do klientów Niektóre z jurysdykcji obejmują, między innymi, Zjednoczone Królestwo, Europa, Turcja, Indie, Singapur, Kanada, Vanuatu, Mauritius i USA Elementy w Twoim zamówieniu mogą być wysyłane z dowolnej z tych jurysdykcji zależnie od dostępność i koszt produktów w momencie składania zamówienia Produkty pochodzą z tych liczników, a także dla innych Wszystkie znaki towarowe i zastrzeżone znaki towarowe są własnością ich właścicieli. Funkcje wewnętrzne w Fortranu 90. Istnieje wiele wewnętrznych funkcje i pięć wewnętrznych podprogramów w Fortranu 90 Bardzo krótko traktuję numeryczne i matematyczne procedury, ponieważ nie są one zmieniane z Fortran 77 i dlatego powinny być dobrze znane. Ta sekcja jest oparta na sekcji 13 normy ISO 1991, która zawiera bardziej formalne traktowanie Podejmujemy rozmieszczenie różnych funkcji i podprogramów w standardzie, ale wyjaśnij bezpośrednio na liście W celu bardziej szczegółowego traktowania odwołujemy się do Metcalfa i Reida 1990, 1993. Gdy poniżej jest opcjonalny parametr jest podany w małych literach Znaki Gdy lista argumentów zawiera kilka argumentów, funkcja może być nazwana albo przez argumenty związane z pozycją lub przez słowo kluczowe Keyword musi być użyte i f poprzedni argument nie jest zawarty Słowa kluczowe to zazwyczaj nazwy, które podano poniżej. Nie zawsze dawaliśmy wszystkie naturalne ograniczenia do zmiennych, na przykład, że rangi nie wolno negatywnie. Funkcja PRESENT A zwraca, jeśli argument A jest na liście wywoławczej, w drugim przypadku Użycie zostało zilustrowane przykładowym programem w rozdziale 8 głównego tekstu. Dostępne są następujące wersje: Fortran 77 ABS, AIMAG, AINT, ANINT, CMPLX, CONJG, DBLE, DIM, DPROD, INT, MAX, MIN, MOD, NINT, REAL i SIGN. In addition, CEILING, FLOOR i MODULO zostały dodane do Fortran 90. Jedynie ostatni jest trudny do wyjaśnienia, co jest najłatwiej zrobić z przykładami ISO 1991 Poniższe funkcje z Fortran 77 mogą używać parametru rodzaju, takiego jak AINT A, mianowicie AINT, ANINT, CMPLX, INT, NINT i REAL. A historyczny fakt polega na tym, że funkcje numeryczne w Fortranie 66 musiały mieć różne różne nazwy w różnych precyzje i te wyraźne nazwy są nadal jedynymi które mogą być użyte, gdy nazwa funkcji jest przekazywana jako argument. A pełna tabela wszystkich funkcji numerycznych następujące Te nazwy, które są oznaczone gwiazdką nie mogą być używane jako argumenty Niektóre funkcje, takie jak INT i IFIX mają dwa konkretne nazwy mogą być użyte Z drugiej strony niektóre funkcje nie mają konkretnej nazwy Poniżej używam C dla złożonych wartości zmiennoprzecinkowych, D dla wartości zmiennoprzecinkowych w podwójnej dokładności, I dla liczb całkowitych i R dla wartości zmiennoprzecinkowych w pojedynczym precyzyjne obcięcie jest w kierunku zero, INT -3 7 staje się -3, ale zaokrąglanie jest poprawne, NINT -3 7 staje się -4 Nowe funkcje FLOOR i CEILING obcina się w kierunku minus i plus nieskończoność odpowiednio. Czy funkcja CMPLX może mieć jeden lub dwa argumenty, jeśli istnieją dwa argumenty, muszą być tego samego typu, ale nie COMPLEX. Funkcja MOD X, Y oblicza X - INT XY Y. Funkcja transferu znaków SIGN X, Y przyjmuje znak drugiego argumentu i umieszcza go na pierwszym argument, ABS X jeśli Y 0 i - ABS X jeśli Y 0.Pozytywna różnica DIM jest funkcją, której nigdy nie używałem, ale DIM X, Y daje XY, jeśli jest to dodatnie i zero w drugim przypadku. Innowacyjny produkt DPROD z drugiej strony jest bardzo użyteczną funkcją, produkt dwóch liczb w pojedynczej precyzji jako podwójna liczba precyzji Jest to szybkie i dokładne. Dwie funkcje MAX i MIN są unikalne, ponieważ mogą mieć dowolną liczbę argumentów, ale przynajmniej dwa. Argumenty muszą być z tego samego typu, ale nie mogą być typu COMPLEX. Same jak w Fortranie 77 Wszystkie funkcje trygonometryczne działają w radianach Dostępne są następujące ACOS, ASIN, ATAN, ATAN2, COS, COSH, EXP, LOG, LOG10, SIN, SINH, SQRT, TAN i TANH. Historyczny fakt polega na tym, że funkcje matematyczne w Fortranie 66 musiały mieć różne różne nazwy w różnych precyzjach, a te wyraźne nazwy są nadal jedynymi, które mogą być użyte, gdy nazwa funkcji jest przekazywana jako argument. Kompletny stół wszystkich funkcji matematycznych zawiera Be nisko Używam C dla złożonych wartości zmiennoprzecinkowych, D dla wartości zmiennoprzecinkowych w podwójnej dokładności, I dla liczb całkowitych i R dla wartości zmiennoprzecinkowych w pojedynczej precyzji Celem większości tych funkcji jest oczywista Uwaga: wszystkie one są zdefiniowane tylko dla zmiennoprzecinkowych liczby punktów, a nie liczb całkowitych Nie można zatem obliczyć pierwiastka kwadratowego 4 jako SQRT 4, ale zamiast tego można użyć NINT SQRT REAL 4 Należy również zwrócić uwagę na to, że wszystkie złożone funkcje zwracają wartość główną. Kształt kwadratowy daje rzeczywisty wynik dla prawdziwy argument w pojedynczej lub podwójnej precyzji i złożony wynik dla złożonego argumentu Więc SQRT -1 0 daje komunikat o błędzie zwykle już w czasie kompilacji, podczas gdy można uzyskać złożony pierwiastek kwadratowy przy użyciu poniższych instrukcji Argument dla zwykłych logarytmów jako argument dodatni, podczas gdy argument CLOG musi różnić się od zera. Moduł dla argumentu ASIN i ACOS musi wynosić co najwyżej 1 Wynik będzie w granicach odpowiednio - i, pi 2 i 0, pi. Funkcja ion ATAN zwróci wartość w - i2, pi 2. Funkcja ATAN2 Y, X arctan y, x zwróci wartość w - i, pi Jeśli Y jest dodatnia, wynik będzie dodatni Jeśli Y jest równe zero, wynik będzie zero, jeśli X jest dodatnie, a pi jeśli X jest ujemne Jeśli Y jest ujemne, wynik będzie ujemny Jeśli X jest równe zeru, wynik będzie dodatni lub minus pi 2 Zarówno X, jak i Y nie mogą równocześnie być zerem Celem funkcji jest uniknięcie podziału na zero. Naturalnym ograniczeniem funkcji matematycznych jest ograniczona dokładność i zakres, co oznacza, że ​​na przykład EXP może powodować niedobór lub przelew w dość popularnych wartościach argumentu Funkcje trygonometryczne uzyskają bardzo małą dokładność w przypadku dużych argumentów Ograniczenia te zależą od implementacji i powinny być podane w instrukcji dostawcy. Funkcje poniżej wykonują operacje zi do znaków łańcuchów Uwaga: ACHAR współpracuje ze standardowym zestawem znaków ASCII, podczas gdy CHAR współpracuje z reprezentacją komputera, e Korzystanie z powyższych procedur porównuje dwa łańcuchy przy użyciu sortowania według ASCII Jeśli ciąg jest krótszy od drugiego, puste miejsca są dodawane na końcu krótkiego łańcucha Jeśli ciąg zawiera znak spoza zestawu znaków ASCII, wynik zależy od implementacji. LEN STRING zwraca długość łańcucha znaków Nie ma potrzeby przypisywania wartości zmiennej STRING. Najpierw zwraca typ rzeczywistego argumentu, który może być typu INTEGER, REAL, COMPLEX, LOGICAL lub CHARACTER. argument X nie musi być przypisany żadnej wartości Drugi zwraca liczbę całkowitą z wymaganą liczbą cyfr, a trzeci zwraca rodzaj liczb zmiennoprzecinkowych z liczbową precyzją co najmniej liczbą P i jednym zakresem wykładnika dziesiętnego między - R i R Parametry P i R muszą być wielkimi liczbami całkowitymi Należy podać co najmniej jeden z P i R. Wynik SELECTEDINTKIND jest liczbą całkowitą od zera do góry, jeśli żądany rodzaj nie jest dostępny otrzymasz -1 Jeśli kilka implementowane typy spełniają warunek, używany jest najmniej zakres dziesiętny Jeśli nadal istnieją kilka typów lub rodzajów, które spełniają warunek, zostanie użyty jeden z najmniejszym numerem rodzaju. Wynik SELECTEDREALKIND jest również liczbą całkowitą od zera i w górę, jeśli żądany rodzaj nie jest dostępny, wtedy -1 jest zwracany, jeśli dokładność nie jest dostępna, -2 jeśli zakres wykładnika nie jest dostępny i -3 jeśli nie jest dostępny żaden z wymagań Jeśli kilka zaimplementowanych typów spełnia warunek, zostanie zwrócony jeden z co najmniej dokładnością dziesiętną, a jeśli jest ich kilka, zostanie zwrócony numer o najmniejszym numerze. Przykłady podano w rozdziale 2 głównego tekstu Przykłady rodzajów w kilku różnych implementacjach NAG i Cray są podane w dodatku 6. LOGOWE L, rodzaj konwersji między różnymi rodzajami zmiennych logicznych Zmienne logiczne mogą być implementowane na różne sposoby, na przykład z reprezentacją fizyczną zajmującą jeden bit nie jest zalecany, jeden przez te, jedno słowo lub być może jedno podwójne słowo Różnica ta jest ważna, jeśli COMMON i EQUIVALENCE z zmiennymi logicznymi zostały wykorzystane w programie w tradycyjny sposób programowania Fortran 66. Funkcje zapytań numerycznych. Niniejsze funkcje działają z określonym modelem liczby całkowitej i arytmetyki zmiennoprzecinkowej, patrz ISO 1991, sekcja 13 7 1 Funkcje zwracają właściwości liczb tego samego rodzaju co zmienna X, która może być prawdziwa, aw niektórych przypadkach liczb całkowitych Funkcje zwracające właściwości bieżącego argumentu X są dostępne w sekcji 12 poniżej, funkcje manipulacji zmiennoprzecinkowych. BITSIZE I zwraca liczbę bitów zgodnie z modelem reprezentacji bitów w standardzie ISO 1991, sekcja 13 5 7 Zwykle otrzymujemy liczbę bitów w całym słowie. Model reprezentacji bitowej w normie ISO 1991, rozdział 13 5 7. ŹRÓDŁO PRZESUWANIA, MOLD, rozmiar określa, że ​​fizyczna reprezentacja pierwszego argumentu SOURCE będzie traktowana tak, jakby miała typ i p arametry jako drugi argument MOLD, ale bez jego konwersji Celem jest umożliwienie przeniesienia pewnej ilości określonego typu za pomocą procedury, która nie ma dokładnie tego typu danych.12 Funkcje manipulowania funkcjami zmiennoprzecinkowymi. Te funkcje działają w pewnym model arytmetyczny liczb całkowitych i zmiennoprzecinkowych, patrz norma ISO 1991, sekcja 13 7 1 Zwraca numery funkcji odnoszące się do rzeczywistej zmiennej X typu REAL Funkcje zwracające właściwości dla liczb tego samego rodzaju co zmienna X sekcja 8 Funkcje zapytań numerycznych. DOTPRODUCT VECTORA, VECTORB tworzy skalarny produkt z dwóch wektorów, który musi mieć tą samą długość tej samej liczby elementów. Pamiętaj, że jeśli VECTORA jest typu COMPLEX, wynik jest SUM CONJG VECTORA VECTORB. MATMUL MATRIXA, MATRIXB tworzy matrycę matrycy, która musi być spójna, tj. mają wymiary takie jak M, K i K, N użyte w rozdziale 11 głównego tekstu.14 Funkcje tablicy. ALL MASK, dim zwraca logi cal, która wskazuje, czy wszystkie relacje w MASK są wzdłuż tylko pożądanego wymiaru, jeśli podano drugi argument. ANY MASK, dim zwraca wartość logiczną, która wskazuje, czy jakiś związek w MASK jest wzdłuż tylko pożądanego wymiaru, jeśli podano drugi argument. COUNT MASK, dim zwraca wartość liczbową, która jest liczbą relacji w MASK, które są przy tym tylko pożądanym wymiarze, jeśli podano drugi argument. MAXVAL ARRAY, dim, maska ​​zwraca największą wartość w tablicy ARRAY tych, które przestrzegają relacji w trzecim argumencie MASK, jeśli ten podano, tylko w żądanym wymiarze, jeśli podano drugi argument DIM. INVAL ARRAY, dim, maska ​​zwraca najmniejszą wartość w tablicy ARRAY tych, które przestrzegają relacji w trzecim argumencie MASK if że dany jest tylko pożądany wymiar, jeśli podano drugi argument DIM. PRODUCT ARRAY, dim, maska ​​zwraca produkt wszystkich elementów w tablicy ARRAY tych, które przestrzegają relacji w trzecim arg MASK, jeśli jest podany, tylko wymagany wymiar, jeśli podano drugi argument DIM. SUM ARRAY, dim, maska ​​zwraca sumę wszystkich elementów w tablicy ARRAY tych, które spełniają zależność w trzecim argumencie MASK if to podano tylko wzdłuż wymaganego wymiaru, jeśli podano drugi argument DIM Przykład jest podany w dodatku 3, sekcja 10. STATUS OZDOBYWANY jest funkcją logiczną, która wskazuje, czy tablica została przydzielona. LBOUND ARRAY, dim jest funkcją, która zwraca dolny wymiar wymiaru dla ARRAY Jeśli wymiar DIM nie jest podawany jako argument, otrzymasz wektor liczb całkowitych, jeśli DIM jest włączony, otrzymasz wartość całkowitą z dokładnie tym niższym limitem wymiaru, o co zapytałeś. SHAPE SOURCE funkcja, która zwraca kształt tablicy SOURCE w postaci liczby całkowitej. SIZE ARRAY, dim jest funkcją zwracającą liczbę elementów w tablicy ARRAY, jeśli DIM nie jest podana, a liczba elementów w odpowiednim wymiarze, jeśli DIM jest included. UBOUND ARRAY, dim jest funkcją podobną do LBOUND, która zwraca górne granice wymiaru. GWERTY TSOURCE, FSOURCE, MASK to funkcja, która łączy dwie tablice. Zawiera elementy w TSOURCE, jeśli warunek w MASK jest i FSOURCE, jeśli warunek w MASK jest The dwa pola TSOURCE i FSOURCE muszą być tego samego typu i tego samego kształtu Wynik jest tego typu i tego samego kształtu MASK musi mieć ten sam kształt. Tutaj tutaj przedstawiam raczej pełny przykład wykorzystania MERGE, który również używa RESHAPE z następnej sekcji w celu zbudowania odpowiednich matryc testowych. Należy zauważyć, że obydwa podprogramy WRITEARRAY i WRITELARRAY są testowymi procedurami do zapisywania matryc, które w pierwszym przypadku mają typ REAL, w drugim przypadku typu LOGICAL Uzyskuje się następujące wyniki PACK ARRAY, MASK, wektor zawiera tablicę do wektora z kontrolą MASK Kształt tablicy logicznej MASK musi zgadzać się z jedną dla ARRAY lub MASK musi być skalarny Jeśli zawiera VECTOR, musi to być tablica rank 1 i ea wektor z co najmniej tak wielu elementami jak te, które są prawdziwe w MASK i mają ten sam typ jak ARRAY Jeśli MASK jest skalarem o wartości, wtedy VECTOR musi mieć taką samą liczbę elementów jak ARRAY. Wynik to wektor z as wiele elementów takich jak ARRAY, które spełniają warunki, jeśli VECTOR nie jest włączony, tj. wszystkie elementy, jeśli MASK jest skalarem o wartości W innym przypadku liczba elementów będzie wynosić tyle, co w VECTOR Wartości będą zatwierdzonymi , tj. wartości, które spełniają warunek i będą w zwykłym porządku Fortran. Jeśli VECTOR jest włączony, a liczba jego elementów przekracza liczbę zatwierdzonych wartości, brakuje wartości wymaganych dla wyniku są pobierane z odpowiednich lokalizacji w VECTOR. Poniższy przykład opiera się na modyfikacji jednej dla MERGE, ale daję teraz tylko wyniki SPREAD SOURCE, DIM, NCOPIES zwraca tablicę tego samego typu co argument SOURCE z rankem zwiększonym o jeden Parametry DIM i NCOPIES są liczbami całkowitymi Jeśli wartość NCOPIES jest ujemna, zamiast zero użyto wartości zero, jeśli SOURCE jest skalarem, wówczas SPREAD staje się wektorem z elementami NCOPIES, które mają taką samą wartość jak SOURCE. Parametr DIM wskazuje, który indeks ma zostać przedłużony. powinny znajdować się w przedziale 1 i 1 SOURCE, jeśli SOURCE jest skalarem, a następnie DIM musi być jednym Parametrem NCOPIES jest liczba elementów w nowych wymiarach Dodatkowa dyskusja jest podana w rozwiązaniu do ćwiczenia 11 1.UNPACK VECTOR, MASK, ARRAY rozprasza wektor do tablicy pod kontrolą MASK Kształt tablicy logicznej MASK musi zgadzać się z jedną dla ARRAY Tablica VECTOR musi mieć rangę 1, tj. Wektor z co najmniej tak wielu elementami, jak te, które są true w MASK, a także musi mieć ten sam typ jak ARRAY Jeśli ARRAY jest podawany jako skalar, to jest on uważany za tablicę o takim samym kształcie jak MASK i te same elementy skalarne wszędzie. Wynik będzie tablicą z taką samą kształt jako MASK i ten sam typ jak VECTOR Wartości będą pochodzić z VECTOR, które są akceptowane tj. spełniające warunek w MASK, wykonywane w zwykłym porządku Fortran, podczas gdy w pozostałych pozycjach w ARRAY zachowane są stare wartości. RESHAPE SOURCE, SHAPE, pad, order konstruuje tablicę o określonym kształcie SHAPE zaczynając od elementów w danej tablicy SOURCE Jeśli PAD nie jest dołączony, rozmiar SOURCE musi być co najmniej KOLOR PRODUKTU Jeśli PAD jest dołączony, musi on mieć ten sam typ co SOURCE Jeśli ORDER musi to być tablica INTEGER o tym samym kształcie co SHAPE, a wartości muszą być permutacją 1,2,3 N, gdzie N oznacza liczbę elementów w SHAPE, musi być mniejsza lub równa 7.W rezultacie mamy oczywiście kształt SHAPE, a elementy to w SOURCE prawdopodobnie uzupełnione przez PAD Różne wymiary zostały przyporządkowane do przyporządkowania elementów, jeśli dołączono ORDER, ale bez wpływu na kształt rezultatu. Kilka prostych przykładów są podane w th e poprzednia i następna sekcja, a także w dodatku 3, sekcja 9 Bardziej skomplikowany przykład, ilustrujący także argumenty opcjonalne, następuje Wyjście z powyższego programu jest następująco. Funkcje shift zwracają kształt niezmienionej tablicy, ale przesuwają Elementy Są dość trudne do wyjaśnienia, więc zalecam badanie także standardowej ISO 1991.CSHIFT ARRAY, SHIFT, dim wykonuje okrągły przesuw SHIFT w lewo, jeśli SHIFT jest dodatni, a po prawej - jeśli jest ujemny Jeśli ARRAY jest wektorem przesunięcie odbywa się w sposób naturalny, jeśli jest to tablica wyższej rangi, przesunięcie jest we wszystkich sekcjach wzdłuż wymiaru DIM Jeśli brakuje DIM, jest to 1, w innych przypadkach musi być skalarny liczba całkowita między 1 a n, gdzie n równa jest szeregu ARRAYU Argument SHIFT jest liczbą całkowitą skalarną lub tablicą liczb całkowitą o numerze n-1 i takim samym kształtem, jak ARRAY, za wyjątkiem wymiaru DIM, który jest usuwany z powodu niższej rangi Różne sekcje mogą t należy przesuwać się w różnych kierunkach i różnych pozycjach. EOSHIFT ARRAY, SHIFT, brzeg, dim wykonuje przesunięcie w lewo, jeśli SHIFT jest dodatni, a w prawo, jeśli jest ujemny. Zamiast elementów przesuniętych poza nowe elementy, Jeśli ARRAY jest wektorem, przesunięcie odbywa się w sposób naturalny, jeśli jest to tablica wyższego rzędu, przesunięcie na wszystkie sekcje jest wzdłuż wymiaru DIM Jeśli brakuje DIM, to uważa się go za 1, w innych przypadkach musi mieć skalarną wartość całkowitą między 1 a n, gdzie n równa jest szeregu ARRAYU Argument SHIFT jest liczbą całkowitą skalarną, jeśli ARRAY ma pierwszeństwo 1, w innym przypadku może to być liczbą całkowitą skalarną lub liczbą całkowitą rzędu n - 1 i o takim samym kształcie, jak tablica ARRAY, za wyjątkiem wymiaru DIM, który jest usuwany ze względu na niższy stopień. Odpowiada temu BOUNDARY, który musi mieć ten sam typ co ARRAY Jeśli brakuje parametru BRAKARIA, masz wybór wartości zero lub puste , w zależności od typu danych Różne sekcje mogą być przesuwane w różnych kierunkach iz różną liczbą pozycji Prosty przykład dwóch powyższych funkcji dla przypadku wektora, zarówno program, jak i wyjście Prosty przykład powyższych dwóch funkcji w przypadek macierzy podążam za tym, że użyłem RESHAPE w celu stworzenia odpowiedniej macierzy do rozpoczęcia pracy z Programem nie jest tu reprodukowany, tylko główne instrukcje TRANSPOSE MATRIX transponują matrycę, która jest tablicą o rankingu 2 Zastępuje wiersze i kolumny w macierzy. MAXLOC ARRAY maska ​​zwraca pozycję największego elementu tablicy ARRAY, jeśli MASK jest dołączony tylko do tych, które spełniają warunki w MASK Wynikiem jest wektor liczb całkowitych Używany w rozwiązaniu ćwiczenia 11 1.MINLOC ARRAY, maska ​​zwraca pozycję najmniejszego elementu w tablicy ARRAY, jeśli MASK jest dołączony tylko do tych, które spełniają warunki w MASK Wynikiem jest liczba całkowita vector. ASSOCIATED POINTER, tar get jest funkcją logiczną, która wskazuje, czy wskaźnik POINTER jest skojarzony z jakimś celem, a jeśli określony TARGET jest włączony, wskazuje, czy jest skojarzony z dokładnie tym celem Jeśli zarówno POINTER jak i TARGET są wskaźnikami, wynik jest tylko wtedy, gdy oba są związane z ten sam cel Odsyłam czytelnika do rozdziału 12 głównego tekstu, podprogramu Pointers. A, który zwraca datę, godzinę i strefę czasową Musi być podany co najmniej jeden argument. DATE musi być zmienną o łańcuchu znaków zawierającą co najmniej 8 znaków i jest przypisywana wartość CCYYMMDD na wiek, rok, miesiąc i dzień Wszystkie są podane liczbowo, z pustymi ramkami, jeśli system nie zawiera daty. TIME musi być również zmienną łańcuchową znaków zawierającą co najmniej 10 znaków i jest to przypisywana wartość czasu w godzinach, minutach, sekundach i milisekundach Wszystkie numeryczne numery są puste, jeśli system nie zawiera zegara. ZONE musi być skalarną zmienną łańcucha znaków zawierającą co najmniej 5 znaków i jest przypisywana wartości hhmm dla oznaczenia, godziny w godzinach i minutach dla lokalnej różnicy czasu z UTC, która poprzednio była określana jako Greenwich Mean Time Wszystkie są podane liczbowo, z półfabrykatami, jeśli system nie zawiera zegara W Szwecji otrzymujemy w zimie 0100 i 0200 latem, w Nowosybirsku dostajemy wartość 0700. Zmienna VALUES jest liczbą całkowitą z co najmniej 8 elementami, co daje najłatwiejszy sposób wykorzystania wyników z DATEANDTIME przy obliczeniach w programie Jeśli system nie zawiera daty lub czas otrzymania wartości - UZWY 0, która jest najmniejszą liczbą całkowitą w modelu, jako dane wyjściowe Wektor będzie zawierał następujące elementy rok, miesiąc, dzień, różnica czasu w minutach godziny, minuty, sekundy i milisekundy Podprogram, który zwraca wartość 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.

No comments:

Post a Comment