MATLAB i Excel - wymiana danych w locie

Czy chcemy czy nie, często dysponujemy danymi zapisanymi w formacie Excel’a. O ile możliwy jest import takich plików do MATLABa to nie zawsze chcemy przechodzić przez procedurę import-eksport. Spreadsheet Link umożliwia wymianę danych między tymi dwoma programami ‘w tle’, niejako ‘w locie’.

Excel jest dobrym narzędziem do pracy z danymi w postaci tabeli i do wykonywania prostych operacji na liczbach. Jednak nie jest to narzędzie do obliczeń numerycznych. Z tego powodu często jesteśmy zmuszeni do importu danych zapisanych w plikach XLS do MATLABa i wykonaniu obliczeń w tym środowisku. Można powiedzieć, że jest to swego rodzaju praca offline. Dane muszą być zaimportowane do MATLABa z pliku, a po wykonanych obliczeniach, wyeksportowane z powrotem do pliku akceptowalnego przez Excel’a. Powstaje jednak pytanie Czy da się z danymi z Excel’a pracować w sposób interaktywny w MATLABie? To znaczy czy dane można wysłać wprost z arkusza kalkulacyjnego, wykonać obliczenia niejako „w locie” i z powrotem przesłać je do Excel’a?

Wymiana danych

Otóż okazuje się, że taka możliwość istnieje za pośrednictwem tak zwanego Spreadsheet Link. Jest to program dodatek, który należy zainstalować w Excel’u, umożliwiający komunikację między tymi dwoma programami. Tym samym możliwa staje się interaktywna wymiana danych pomiędzy Excel’em a MATLABem, a co więcej za pośrednictwem tego dodatku możliwe również jest wywoływanie niektórych funkcji z poziomu Excel’a.

Tym samym zyskujemy możliwość realizacji obliczeń numerycznych za pomocą MATLABa bezpośrednio w programie Excel. Niejako omijamy całą procedurę importu danych z pliku Excel’a do MATLABa, a później zwrotnie eksportu z MATLABa do Excela. Dzięki  Spreadsheet Link wymiana danych i obliczenia są wykonywane w locie.

Instalacja Spreadsheet Link

Aby zainstalować dodatek Spreadsheet Link należy uruchomić Excela, wejść w opcje, następnie kliknąć ‘dodatki’ i ‘przejdź’. W nowym oknie należy wybrać ‘przeglądaj’ i wejść w katalog, z dodatkiem do Excel’a. Zazwyczaj jest to: C:\Program Files\MATLAB\R20….\toolbox\exlink. W tym katalogu należy kliknąć plik ‘exclink’ i wybrać ‘ok’. To wszystko jeśli chodzi o instalacje. Na górnej wstążce Excel’a  w narzędziach głównych pojawi się zakładka MATLAB.

Od tego momentu dysponujemy narzędziami do dynamicznej wymiany danych między Excel’em a MATLABem. Ważne jest jedynie aby MATLAB był uruchomiony po Excel’u.

Możliwości

Co daje nam Spreadsheet Link? Przede wszystkim możemy wysyłać i odbierać dane z MATLABa z poziomu Excela. Wystarczy zaznaczyć interesujące nas komórki pod arkuszem kalkulacyjnym, a następnie ze wstążki górnej wybrać zakładkę MATLAB i ‘Send data to MATLAB’. Zostaniemy poproszeni o podanie nazwy zmiennej, która zostanie utworzona w workspace.

Teraz możemy przejść do MATLABa i wykonać na danych dowolne operacje z użyciem całego dobrodziejstwa funkcji tego programu. Po wykonaniu obliczeń wracamy do Excel’a i w podobny sposób, wybieramy ‘Get data from MATLAB’ wskazując nazwę zmiennej, którą chcemy zaimportować z powrotem do Excel’a. Proste?

Taka interaktywna symbioza pomiędzy obydwoma programami znacznie upraszcza pracę jeżeli naszym głównym środowiskiem pracy jest Excel. Nie trzeba wtedy pisać pełnego programu importu i eksportu danych do MATLABa z jego poziomu, a wystarczy jedynie posłużyć się wyżej opisanym dodatkiem.

Na tym jednak możliwości Spreadsheet Link się nie kończą. Można wywoływać funkcje MATLABa bezpośrednio spod Excel’a i wykonywać obliczenia nie zaglądając do okienka programu Mathworks’a. Ale o tym już w następnym wpisie..

(Visited 576 times, 1 visits today)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *