You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Biblioteka funkcji Matlab wspomagająca współpracę ze SWIP5 może być podzielona na kilka rodzajów funkcji

1. Funkcje wspomagające dostęp do pól struktury MatlabQML i operacje na nich

  • getOptional - pobiera z obiektu MatlabQML opcjonalne pole. Zwraca jego kopię lub obiekt pusty jeżeli pole jest niezdefiniowane
  • getOptionalTree
  • [value] = getOptionalValue( owner, field ) - Funkcja zwraca kopię opcjonalnej wartości typu rzeczywistego (obiekt typu RealQuantity), całkowitego (obiekt typu IntQuantity) lub czasu (obiekt typu TimeQuantity) jeśli obiekt istnieje lub NaN, jeśli nie istnieje. W wielu strukturach QuakeML wartość ta i obiekt typu Quantity ją przechowujący nie są opcjonalne i musi być zaznaczona w QuakeML. W takich przypadkach użycie tej funkcja nie jest wymagana. Szybsze jest wywołanie po prostu „owner.field.value”. Wejściowe wartości: owner - struktura zawierająca obiektu typu Quantity, field - nazwa pola (ciąg znaków) z obiektem.
  • isOptional - sprawdza, czy w obiekcie MatlabQML jest zdefiniowane opcjonalne pole
  • [result] = isOptionalTree( owner, field1, field2,...) - Funkcja testuje istnienie opcjonalnego drzewa obiektów struktury MatlabQML obiektu owner. Zwraca fałsz jeżeli dla kolejnych pół field* w strukturze obiekt o danej nazwie jest pusty lub nie istnieje. W przypadku tylko jednego pola w ścieżce, funkcja isOptionalTree jest wolniejsza niż funkcja isOptional, której należy użyć zamiast tego.
  • [chanEq] = channelsEqual( channeln, channel2 ) - Funkcja porównuje dwie nazwy kanałów obejmujące kody sieci, stacji, lokalizacji i kanału  w formacie WaveformStreamID. Jeśli w jednej nazwie kod sieci jest pusta lub nie istnieje, ignoruje porównanie sieci kodów sieci. Tak samo jest w przypadku kodu lokalizacji. Pierwsze zmienna wejściowa (channeln) może być wektorem WaveformStreamID, wtedy wynik jest wektorem logicznym. Druga zmienna wejściowa (channel2 ) musi być pojedynczym obiektem WaveformStreamID.
  • [staEq] = stationsEqual( stationn, station2 ) - Funkcja porównuje dwie nazwy kanałów obejmujące kody sieci i stacji  w formacie WaveformStreamID. Jeśli w jednej nazwie kod sieci jest pusta lub nie istnieje, ignoruje porównanie sieci kodów sieci i porównuje tylko kody stacji. Pierwsze zmienna (stationn) może być wektorem WaveformStreamID, wtedy wynik jest wektorem logicznym. Druga zmienna wejściowa (station2) musi być pojedynczym obiektem WaveformStreamID.
  • [item, index] = findPublicID( tabela, id ) - Funkcja wyszukuje w tabeli element o identyfikatorze publicID = id. Tabelą może być dowolna tablica struktur zawierająca obiekty publicID, np.: events, pick, amplitudes, origins. Identyfikator (id) może być ciągiem znaków lub strukturą publicID z polem resourceID. Jeśli szukany identyfikator publiczny nie istnieje lub jest błędny, funkcja zwróci pustą zmienne. Element zwraca kopię znalezionego elementu w tabeli (item) oraz jego indeks (index) w tablicy, jeżeli chcemy modyfikować obiekt.

Funkcje getOptional, getOptionalTree,, getOptionalValue, isOptional i isOptionalTree należy zawsze stosować dla pół opcjonalnych- oznaczanych w opise QukeML jako [0..1] lub [0..*]. W przypadku tylko pół struktury, które na  pewno występują w QuakeML można stosować odwołania do nich poprzez kropkę.

2. Funkcje zamieniające obiekty MatlabQML na typowe obiekty Matlaba

  • stationName2string
  • channelName2string
  • unixTimeSamples
  • timeQML2Date

3. Funkcje ogólne pobierające typowe wartości sejsmiczne z obiektu zjawiska sejsmicznego (event)

  • [latitude, longitude, depth, time, porigin] = event2coordinates( event, ... ) - Funkcja zwraca współrzędne zjawiska. Używa getOrigin, aby uzyskać współrzędne. (Zobacz funkcję getOrigin). Wejście: event - obiekt event QuakeML, Parametry opcjonalne: 'methodID', method, ... - znajduje tylko źródła wstrząsu zlokalizowane przez metodę o nazwie method; 'earthModelID', model, ... - znajduje tylko współrzędne zlokalizowany przy użyciu modelu prędkości Ziemi o nazwie model. Wartości wyjściowe: szerokość (latitude) i długość (longitude) geograficzna w stopniach, głębokość (depth) hipocentrum w km, czas wstrząsu (time) w formacie Matlab DateTime, porigin - kopia kopia obiektu origin. Jeśli nie może znaleźć źródła, funkcja zwraca wartości NaN i pusty porigin. Uwaga, w przypadku istnienia kilku lokalizacji i braku lokalizacji preferowanej, wybór lokalizacji, której współrzędne zostaną wypisane, może być losowy.
  • [value, type, magnitude] = getMagnitude( event, fn1, fn2, ...) - Funkcja wynajduje magnitudę zjawiska. Najpierw sprawdza, czy którykolwiek z nazw magnitud fn* jest preferowaną magnitudą zjawiska. Następnie szuka nazwy magnitudy fn1. Gdy nie może jej znaleźć, szuka magnitud stacyjnych fn1 i zwraca ich średnią wartość. Gdy nie może znaleźć magnitudy fn1, szuka magnitudy fn2 i tak dalej. Przykładowe wywołanie: magnitude = SWIP5EventMagnitude( event, 'ML' ). Uwaga, w przypadku istnienia kilku równorzędnych magnitud tego samego typu i braku magnitudy preferowanej, wybór magnitudy przez tą funkcję może być losowy.
  • getMagnitudeFromStaMagnitudes
  • getMeanMag
  • getMomentTensor
  • [origin] = getOrigin( event, ... ) - Funkcja pobiera obiekt źródła (origin) z obiektu zjawiska sejsmicznego (event). Jeśli preferowane źródło jest niezdefiniowane, przyjmuje ostatnie źródło z listy źródeł. Jeśli jest ich wiele, to ostatnie może być przypadkowe.  Parametry opcjonalne: 'methodID', method, ... - znajduje tylko źródła wstrząsu zlokalizowane przez metodę o nazwie method; 'earthModelID', model, ... - znajduje tylko współrzędne zlokalizowany przy użyciu modelu prędkości Ziemi o nazwie model. Wyjście: origin - kopia obiektu źródła w formacie MatlabQML. Jeśli pochodzenie nie istnieje lub nie spełnia opcjonalnego parametru, wyjście jest pustym obiektem. Uwaga, w przypadku istnienia kilku lokalizacji i braku lokalizacji preferowanej, wybór lokalizacji może być losowy.
  • getPicks

4. Funkcja do pracy na katalogu (wielu wstrząsach)

  • forAllEvents

5. Funkcje pomocnicze do manipulacja na parametrach (opcjach) wołania funkcji matlabowej

  • arispar
  • armanypars
  • aroptions
  • arparameters

6. Inne funkcje wspomagające przygotowanie danych do pracy w SWIP5 niezwiązane z MatlabQML.

  • createXMLShapes
  • ISEPOSVelcityModel_to_Vel2Grid


  • No labels