Zamiast dostarczyć ci pełną listę różnic, przedstawię ci moje zdanie na ten temat.
Jeśli dokładnie przeczytasz podaną stronę wiki, często zobaczysz zdania typu „Octave obsługuje oba, podczas gdy MATLAB wymaga pierwszego” itd. To pokazuje, że programiści Octave starają się, aby składnia Octave była „lepsza” niż MATLAB.
Takie podejście sprawia, że Octave całkowicie traci cel. Ideą Octave jest (lub stała , powinienem powiedzieć, patrz komentarze poniżej), aby mieć alternatywę open source, aby uruchomić kod M. Jeśli próbuje być „lepszy”, stara się być inny , co nie jest zgodne z powodami, dla których większość ludzi go używa. Z mojego doświadczenia wynika, że uruchamianie rzeczy opracowanych w MATLAB-ie nigdy nie działa za jednym razem, z wyjątkiem naprawdę prostych, bardzo krótkich rzeczy - dla każdej sporej funkcji zawsze muszę tłumaczyć wiele rzeczy, zanim zadziała w Octave, jeśli nie pisz go od nowa. Jak to jest lepsze , naprawdę nie widzę ...
Ponadto, jeśli nauczysz się Octave, istnieje wiele składni dozwolonych w Octave, które nie są dozwolone w MATLAB. Znaczenie - kod napisany w Octave często nie działa w MATLAB-ie bez licznych konwersji. Nie jest również kompatybilny na odwrót!
Mógłbym kontynuować: MathWorks ma wiele zestawów narzędzi dla MATLAB, jest Simulink i powiązane z nim produkty, za które tak naprawdę nie ma odpowiednika w Octave (tak, musiałbyś za to wszystko zapłacić. Ale często twój pracodawca / szkoła i tak robi to i przynajmniej istnieje ), potwierdzona zgodność z kilkoma standardami branżowymi, narzędziami testowymi, narzędziami do sprawdzania poprawności, systemami zarządzania wymaganiami, generowaniem raportów, znacznie większą społecznością i bazą użytkowników itp. itp. MATLAB to tylko niewielka część czegoś znacznie większego. Oktawa to ... tylko Oktawa.
Moja rada:
- Dowiedz się, czy Twoja szkoła zapłaci za MATLAB. Często będą.
- Jeśli nie, a jeśli uda ci się zebrać pieniądze, kup MATLAB i naucz się go prawidłowo używać. Na dłuższą metę jest to lepsza decyzja.
- Jeśli naprawdę nie możesz zdobyć pieniędzy - skorzystaj z Octave, ale naucz się składni MATLAB i unikaj składni tylko Octave. (patrz uwaga)
Dlaczego ten ostatni punkt? Ponieważ w nauce często istnieją duże bazy kodu całkowicie napisane w MATLAB. Są profesorowie, inżynierowie, studenci, profesjonalni koderzy, mnóstwo ludzi, którzy znają wszystkie misterne szczegóły MATLAB, a nie tyle Octave.
Jeśli dostaniesz nową pracę, a wszyscy w nowym biurze mówią po hiszpańsku, to trochę zarozumiałe, żądając od wszystkich, aby od tego momentu zaczęli mówić po angielsku, po prostu dlatego , że nie mówisz po hiszpańsku. To samo z MATLAB i Octave.
Uwaga - gdyby wszyscy downvoters mogli po prostu zostawić komentarz ze swoimi argumentami i powodami, dla których nie zgadzali się ze mną, byłoby świetnie :)
Uwaga: Oktawę można uruchomić w „trybie tradycyjnym” (włączając flagę --traditional podczas uruchamiania Octave), co powoduje, że daje błąd, gdy używana jest pewna składnia tylko dla Octave.