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

Compare with Current View Page History

« Previous Version 9 Next »

Wtyczkami napisanymi w Matlab, są odpowiednie skrypty napisane w języku Matlab, zawierające informacje potrzebne do rozpoznania ich jak moduły dla SWIP5  i umieszczone w podkatalogu Matlab. Skrypty te będą widoczne, jako pozycje w menu programu SWIP5, których wybranie powoduje przesłanie odpowiednich danych do programu Matlab, wykonanie zadanego programu i przekazanie odpowiednich danych z powrotem do programu SWIP5. Są to typowe skrypty Matlaba poprzedzone definicjami dla SWIP, które są odpowiednimi liniami na początku skryptu traktowanymi przez Matlab, jako komentarze. Linie te są poprzedzone znakami "% !"Na ich podstawie  podstawie program SWIP5 rozpoznaje je, jako funkcje dla programu SWIP5, umieszcza w odpowiednich pozycjach menu, przekazuje i odbiera odpowiednie dane z programu Matlab.Skrypty te mogą być wywoływane w programie Matlab bez pośrednictwa SWIP-a, co pozwala je testować przed dodaniem do programu.

Skrypt taki musi zaczynać się linią:

% !SWIP5

informującą program, że jest to skrypt przeznaczony dla programu SWIP5. Następnie musi wystąpić jedna, lub kilka linii opisujących menu:

% !MENU …

a następnie kilka linii opisujących sposób przekazywania danych miedzy SWIP5 a Matlab . Oczywiście w przypadku testowania skryptów w samym Matlabie dane trzeba wczytać przed wywołaniem skryptu. Można korzystać w skryptach z innych bibliotek, ale trzeba zdefiniować do nich dostęp.

Poniżej dwa przykładowe skrypty:

1. Skrypt rysujący w Maltabie sejsmogramy z okna powiększenia:

% !SWIP5
% !MENU Test plot
% !DATA FROM ZOOM WINDOW
for i=1:numel(WaveForms)
    subplot(numel(WaveForms),1,i)
    plot(WaveForms(i).data.data)
    title(WaveForms(i).name)
end

2. Skrypt generujący IS-EPOS katalog (wcześniej, należy wczytać wszystkie zjawiska do SWIP):

% !SWIP5
% !MENU Create IS-EPOS catalog
% !QUAKEML
addpath 'c:\Users\jwisz\Documents\MATLAB'
addpath 'c:\Users\jwisz\Documents\MATLAB\SWIDB'
Catalog = QuakeML2Catalog(QuakeML);
save('Catalog_VERIS.mat','Catalog','-v6');

Szczegółowo, co można zdefiniować w skryptach, podano w rozdziałach:


  • No labels