UWAGA! Używamy plików cookies, by ułatwić korzystanie z naszego serwisu. Jeśli nie chcesz, by pliki cookies były zapisywane na Twoim dysku zmień ustawienia swojej przeglądarki. Co to są pliki cookies?

Mathematica, nowości w wersji13.0


Wersja 13 programu Mathematica to w ponad 30-letniej historii rozwoju tego programu, kolejny krok na drodze do zapewnienia użytkownikom coraz większej mocy obliczeniowej, skuteczności i wydajności pracy.

Wiele funcjonalności programu Mathematica wyposażonych zostało w wersji 13 w nowe procedury lub w znaczące rozszerzenia procedur istniejących. Zmiany objęły obliczenia symboliczne i numeryczne, grafikę i wizualizację, geometrię i geografię, obliczenia w dziedzinie Data Science, przetwarzanie obrazów i algorytmy maszyn uczących się, podstawy budowy Mathematica Notebook i struktur Wolfram Language oraz wymiany informacji ze innymi aplikacjami.


Nowości w wersji 13.0
Nowości w wersji 13.1

Nowości wprowadzone w wersji 13.0

Mathematica 13.0 to ponad 150 nowych funkcji i zmiany głównie w obszarach eksploracji danych, inżynierii, naukach biologicznych, chemii i matematyce. To także zmiany w Wolfram Language i procedurach współpracy w ramach różnych środowisk programistycznych ze środowiskiem Wolfram Language.

Możliwości w zakresie przetwarzania złożonych struktur danych, to przede wszystkim import danych w 246 różnych formatach, a wersji 13 dodano do tej listy formaty naukowe (DTA, SAV, SAS7BDAT, XPORT), format rastrowy (OpenEXR), format video (FLV) oraz metadane w formacie WebP i HEIF.

Pełna lista nowości i zmian w tej wersji programu z podziałem na obszar zastosowań oraz wykaz alfabetyczny dostępne są pod adresami:

Lista nowości w wersji 13
Alfabetyczny wykaz nowych i zmienionych funkcji programu w wersji 13

Poniżej wymienione zostały znaczące nowości i ważniejsze zmiany wprowadzone w wersji 13 programu.

Całkowanie symboliczne
Funkcje elementarne
Obliczenia numeryczne i nowe formy liczb przybliżonych
Bieguny funkcji i wykresy na płaszczyźnie zespolonej
Kriging i modelowanie wariogramu
Dopasowanie obiektów 2D/3D do zbioru punktów
Obrazy i sekwencje video
Wykresy 2D i 3D
Algorytmy uczenia maszyn
Interfejs użytkownika i edycja komend
Język programowania
Instalacja programu
Inne obszary wprowadzonych zmian i ulepszeń


  • Całkowanie symboliczne
  • Od wersji pierwszej programu Mathematica w roku 1988 mocną stroną programu była możliwość symbolicznego liczenia całek. Zdolności w tym zakresie poszerzane są w dalszym ciągu. Program w wersji 13 liczy całki, które w wersjach wcześniejszych nie mogły być liczone lub korzystały z funkcji specjalnych.

    Nowosci-w-13.0_1.png

    Nowosci-w-13.0_2.png

    A tak wyglądała odpowiedź w wersji 12.3.

    Nowosci-w-13.0_3.gif

  • Funkcje elementarne
  • Funkcje specjalne to pewna forma gromadzenia wiedzy matematycznej. Jeśli w rozwiązaniu jakiegoś problemy otrzymujesz w wyniku funkcje specjalne, to już ten fakt mówi wiele o na temat rozwiązywanego problemu. Funkcje specjalne w środowisku Wolfram Language od pierwszych wersji programu Mathematica były mocną stroną programu, a wyznaczanie ich wartości z dowolną precyzją numeryczną było zawsze priorytetem.

    Kierunki rozwoju w tym zakresie wyznaczał uznany podręcznik z roku 1964, którego autorami byli Abramowitz i Stegun pod tytułem “Handbook of Mathematical Functions”. Zawiera on setki funkcji, niektóre używane powszechnie inne rzadziej.

    W wersji 13 programu Mathematica wszystkie funkcje z tego podręcznika są w pełni obliczalne. Ostatnią, wprowadzoną do środowiska Wolfram Language funkcją była kulombowska funkcja falowa, wykorzystywana w mechanice kwantowej.

    Tak wygląda opis funkcji w cytowanym podręczniku.

    Nowosci-w-13.0_4.gif

    Źródło: Wolfram Blog

    A tak w środowisku Wolfram Language.

    Nowosci-w-13.0_5.png

    Nowosci-w-13.0_6.gif

  • Obliczenia numeryczne i nowe formy liczb przybliżonych
  • Obliczenia numeryczne wymagają śledzenia dokładności wyników, a wiąże się to bezpośrednio ze sposobem definiowania liczb przybliżonych oraz dokładności ich przybliżeń. Pierwszym sposobem, stosowanym w środowisku Mathematica jest użycie liczb o skończonej precyzji.

    Nowosci-w-13.0_7.png

    Nowosci-w-13.0_8.png

    Nowosci-w-13.0_9.png

    Nowosci-w-13.0_10.png

    Innym podejściem jest użycie funkcji Around, która reprezentuje wartość losowo rozłożoną wokół określonej wartości. W wersji 13 wprowadzona został funkcja CenteredInterval.

    Nowosci-w-13.0_11.png

    Nowosci-w-13.0_12.png

    Definiuje ona liczbę rzeczywistą jako przedział centrowany w podanym punkcie.

  • Bieguny funkcji i wykresy na płaszczyźnie zespolonej
  • Operowanie na płaszczyźnie zespolonej zostało usprawnione dzięki wprowadzeniu szeregu nowości i modyfikacji. Przykładem są procedury wizualizacji i wyznaczania biegunów funkcji.

    Nowosci-w-13.0_13.png

    Nowosci-w-13.0_14.gif

    Nowosci-w-13.0_15.png

    Nowosci-w-13.0_16.png

  • Kriging i modelowanie wariogramu
  • W wersji 13 dodana została możliwość modelowania powierzchni na podstawie skończonej liczby punków xyz. Dane xyz mogą opisywać dowolne zjawisko. Mogą to być dane ze stacji meteorologicznych, próbki gleby pobrane w określonych lokalizacjach, dane z odwiertów geologicznych czy dowolne parametry opisujące pewne obszary na powierzchni Ziemi.

    Poniżej przedstawione zostało graficznie położenie punktów określone przez współrzędne xy, a współrzędna z został pokazana jako kolor punktu. Listy o nazwach listaXY oraz listaZ zawierają dane wejściowe.

    Nowosci-w-13.0_17.png

    Nowosci-w-13.0_18.gif

    Na bazie tych punktów xyz wyznaczona zostanie przestrzenna siatka wartości za pomocą procedury SpatialEstimate.

    Nowosci-w-13.0_19.png

    Teraz już możemy zrobić wykres 3D wyznaczonej powierzchni.

    Nowosci-w-13.0_20.png

    Nowosci-w-13.0_21.gif

    Funkcja SpatialEstimate posiada zestaw opcji, pozwalający wpływać na proces interpolacyjnego wyznaczania siatki wartości, włącznie z możliwością modelowania funkcji wariogramu, który jest podstawą metody krigingu, stosowanej przez tę funkcję.

  • Dopasowanie obiektów 2D/3D do zbioru punktów
  • Nowa funkcja o nazwie RegionFit pozwala wyznaczyć obiekt geometryczny, który jest dopasowany do zbioru punków.

    Wyznaczmy losowo 15 punktów leżących na okręgu o środku w punkcie (3,2) i promieniu o wartości 2 jednostek.

    Nowosci-w-13.0_22.png

    Nowosci-w-13.0_23.png

    Nowosci-w-13.0_24.gif

    Nowosci-w-13.0_25.png

    Nowosci-w-13.0_26.png

    Nowosci-w-13.0_27.png

    Nowosci-w-13.0_28.gif

    Nowosci-w-13.0_29.png

    Nowosci-w-13.0_30.gif

  • Obrazy i sekwencje video
  • Generowanie sekwencji video

    W wersji 12.3 zostały wprowadzone funkcje, takie jak AnimationVideo i SlideShowVideo, które pozwalają tworzyć sekwencje video z generowanych treści. Ten kierunek zmian programu został podtrzymany w wersji 13. Dodano w niej kolejne procedury pozwalające generować filmy na bazie istniejących obrazów, czy innych sekwencji video.

    Przede wszystkim wersja 13 wprowadziła funkcję Video, która pozwala na odtwarzanie filmów wprost w strukturze notatnika. Rysunek pokazuje wygląd modułu odtwarzania filmu video w środowisku Mathematica Notebook.

    Nowosci-w-13.0_31.png
    Nowosci-w-13.0_32.png
    Źródło: Wolfram blog

    Komenda TourVideo generuje sekwencje obrazów na bazie zdjęcia. Składnia komendy precyzuje parametry obrazów wycinanych ze zdjęcia w celu stworzenia sekwencji video. Poniżej prezentowana jest praca tej komendy na przykładzie zdjęcia krakowskiego rynku nocą.

    Noc w Krakowie

    Nowosci-w-13.0_33.gif
    Obraz został opublikowany na portalu Sekcji i Klubu Fotograficznego SzOK,  Szamotulskiego Ośrodka Kultury.

    Nowosci-w-13.0_34.png

    Teraz wystarczy uruchomić animację.

    Nowosci-w-13.0_35.png

    Kraków nocą

    Automatyczne łączenie obrazów

    Funkcja ImageStitch to procedura łączenia w jeden panoramiczny widok wielu zdjęć zrobionych pod różnymi kątami.

    Nowosci-w-13.0_37.gif

    Nowosci-w-13.0_38.gif

    Procedura bazuje na poszukiwania tak zwanych punktów kluczowych w obrazach ImageKeypoints. Dokonywane są również niezbędne korekty obrazów składowych, jak między innymi wyrównywanie jasności.

  • Wykresy 2D i 3D
  • Wykresy z wielokrotnymi osiami liczbowymi

    Rysunek przestawia pięć krzywych, kolejne potęgi zmiennej x od pierwszej do piątej, każda z własną osią dla zmiennej y.

    Nowosci-w-13.0_39.png

    Nowosci-w-13.0_40.gif

    Osie liczbowe skalowane w jednostkach typu data/czas

    Od wersji 13 programu Mathematica osie liczbowe wykresów mogą być skalowane w jednostkach daty i czasu. Rysunek poniżej pokazuje wykres, gdzie oś pionowa wyskalowana jest w godzinach w ciągu doby, a oś odciętych wyskalowana jest w jednostkach daty.

    Nowosci-w-13.0_41.png

    Nowosci-w-13.0_42.gif

    Nieskończoność na osi liczbowej wykresu

    Osie liczbowe na wykresie mogą mieć obecnie zdefiniowane nieskończone zakresy. Rysunek pokazuje wykres, dla którego oba końce zakresu zmiennej x przyjmują wartość ∞. Zakres zmiennej x określony jest od -∞ do ∞.

    Nowosci-w-13.0_43.png

    Nowosci-w-13.0_44.gif

    Nowe formy wizualizacji

    W wersji 13 wprowadzono wiele zmian w zakresie wizualizacji danych w formie drzewa GraphTree, szereg nowy opcji dla komendy GeoGraphics oraz komend wizualizacji struktur związków chemicznych MoleculePlot i MoleculePlot3D.

    Wprowadzenie nowych możliwości w zakresie mechaniki ciała sztywnego pociągnęło za sobą rozwój nowych metod wizualizacji, takich jak procedura VectorDisplacementPlot, czy VectorDisplacementPlot3D. Wykresy tego typu pozwalają na wizualizację deformacji i odkształceń.

    Nowosci-w-13.0_45.png

    Nowosci-w-13.0_46.gif

    Nowy rodzaj wizualizacji geograficznej GeoGraphValuePlot pozwala łączyć punkty na mapie za pomocą linii, obrazujących przepływy, których atrybuty, np. kolor, grubość kreski, zależą od wartości liczbowych

    Nowosci-w-13.0_47.png

    Nowosci-w-13.0_48.gif

    Nowe atrybuty oświetlenia obiektów w wizualizacji 3D

    Już od wersji 1.0 programu dostępna była opcja Lighting, która pozwalała sterować oświetleniem powierzchni 3D. Od wersji 13.0 możliwa jest bardziej precyzyjna kontrola oświetlenia. Rodzaj, kierunek, czy kolor światła mogą być teraz definiowane za pomocą symbolicznych komend.

    Komenda poniżej definiuje źródło światła złożone z niebieskiego światła otoczenia oraz dwóch świateł kierunkowych w kolorach czerwonym i zielonym.

    Nowosci-w-13.0_49.png

    Nowosci-w-13.0_50.png

    Nowosci-w-13.0_51.gif

    Wersja 13.0 wprowadziła do sterowania oświetleniem takie opcje, jak AmbirntLight, DirectionalLight, PointLight czy SpotLight.

  • Algorytmy uczenia maszyn
  • Detektory kontekstu w algorytmach uczenia maszyn

    Dostępna w środowisku Mathematica od wersji 10.0 procedura Classify pozwala tworzyć funkcję klasyfikatora obiektów, na bazie dostarczonych przykładów i odpowiadających im klasom obiektów. W zbiorze uczącym zawarte są obiekty i przypisane im klasy.

    Poniżej pokazano przykład tworzenia funkcji klasyfikatora rozpoznającego ręcznie pisane cyfry.

    Nowosci-w-13.0_52a.gif

    Cechą charakterystyczną jest tutaj fakt, że przykłady obrazów cyfr pisanych ręcznie używanych w klasyfikatorze są wykorzystane w całości. A co w sytuacji, gdy cyfry pisane ręcznie są tylko fragmentem większego obrazu, jak na przykład pokazano poniżej.

    Nowosci-w-13.0_53.gif

    Można oczywiście odpowiednio przygotować obrazy dla klasyfikatora wycinają fragmenty obrazu, ale wersja 13.0 daje dodatkowe możliwości w tym zakresie. Wprowadzono dwie nowe funkcje TrainImageContentDetector oraz TrainTextContentDetector, używane odpowiednio dla uczenia klasyfikatora obiektów graficznych i tekstowych.

    Nowosci-w-13.0_54a.gif

    Użyta funkcja Rectangle pozwala sprecyzować, gdzie na obrazie uczącym znajduje się dany obiekt, a reguła przyporządkowania przypisuje go do określonej klasy. Nie ma konieczności wycinania obiektów do mniejszych obrazów, wystarczy wskazać, gdzie obiekty znajdują się na większym obrazie. Taka sama idea została zastosowana do obiektów tekstowych.

    Tak utworzony klasyfikator może być używany tak samo, jak wynik operacji Classify.

  • Interfejs użytkownika i edycja komend
  • Automatyczne uzupełnianie nawiasów zamykających w edycji komend

    Dobrym nawykiem w edycji komend Wolfram Language było wstawianie nawiasu zamykającego, po wprowadzeniu nawiasu otwierającego, a w kolejnym kroku uzupełnianie treści wewnątrz tego nawiasu. Zapobiegało to ewentualnym błędom związanym z przeoczeniem zamknięcia nawiasu, szczególnie przy skomplikowanych komendach.

    Wersja 13 Wolfram Language automatycznie domyka nawias otwarty. Dotyczy to zarówno argumentów funkcji [...], nawiasów ograniczających listy {...}, jak i nawiasów grupujących wykonywane komendy (...). Dotyczy to również struktur [[...]], <|...|> oraz komentarzy (*...*).

    Przykładowo, po wprowadzeniu nazwy funkcji f i nawiasu otwartego [ pojawia się obraz pokazany poniżej oraz następuje domknięcie otwartego nawiasu. Kursor edycji ulokowany jest między nawiasami i system czeka na edycję treści wewnątrz nawiasu.

    Nowosci-w-13.0_55.gif

    Osoby, którym tego typu nowości “przeszkadzają” w pracy z programem z uwagi na przyzwyczajenia z wcześniejszych wersji, mogą wyłączyć tę funkcjonalność, modyfikując nastawy w oknie Preferences.

    Monitorowanie postępu obliczeń

    Prowadząc długotrwałe obliczenia często trudno się zorientować, czy program ciągle coś liczy, czy system jak określamy to potocznie “zawiesił się”. Efekt często jest taki sam, brak informacji o stanie pracy programu. Plany rozwojowe Wolfram Language zakładają objęcie jak największej liczby funkcji interaktywnym monitorowaniem postępu obliczeń.

    Nowosci-w-13.0_56.png

    Nowosci-w-13.0_57.gif

    Monitorowanie postępu obliczeń jest bardzo pomocną opcją nawet w sytuacji, co może się zdarzyć, monitorowania postępu obliczeń funkcji, której użytkownik się nie spodziewał. Była po prostu wywołana automatycznie przez monitorowana procedurę. Może to wnosić “pewne zamieszanie” do monitoringu, ale zalety płynące z możliwości śledzenia obliczeń przewyższają tego typu wady.

    Jeżeli użytkownik uzna, że raportowanie postępu obliczeń jest zbędne i nie jest mu potrzebne, to może wyłączyć tę funkcjonalność dla danej komendy lub ogólnie dla całego systemu obliczeń. Każda monitorowana komenda ma opcję ProgressReporting, którą można ustawić na False lub użyć zmiennej globalnej $ProgressReporting dla wyłączenia raportowania dla całego systemu.

  • Język programowania
  • Aliasy dla kontekstów

    Kiedy tworzona jest nowa zmienna w środowisku programu na przykład zmienna x, to powstaje pytanie “które x”. W systemie może istnieć wiele definicji zmiennej i dlatego od wersji 1.0 programu Mathematica wprowadzono pojęcie kontekstów. Domyślnie tworzony nowy symbol jest definiowany w kontekście globalnym, więc utworzona zmienna x faktycznie ma nazwę Global`x.

    Jeśli tworzony jest pakiet (Package), który ma być dołączany do środowiska obliczeniowego przez komendę Needs, to twórca pakietu musi zadbać o to, żeby zmienne definiowane w pakiecie nie kolidowały z innymi używanymi nazwami. Aby to osiągnąć, zwykle pakiety definiują swój własny kontekst. Można wtedy zawsze odwoływać się do symbolu w pakiecie poprzez jego pełną nazwę, powiedzmy Pakiet`Podpakiet`x. Jeśli teraz ma być użyta zmienna x, to jaka wartość zostanie wzięta do obliczeń? Jest to zdefiniowane przez ustawienia zmiennych $Context i $ContextPath.

    Jeżeli trzeba użyć pełnej nazwy razem ze ścieżką kontekstu, to nazwa takiej zmiennej może być długa i niewygodna w operowaniu w kodzie źródłowym.

    Z pomocą w wersji 13.0 przychodzi możliwość definiowania aliasów dla kontekstów. Teraz zamiast wywoływać pakiet komendą:

    Nowosci-w-13.0_58.png

    można zastosować składnię:

    Nowosci-w-13.0_59.png

    i zamiast zmiennej

    Nowosci-w-13.0_60.png

    użyć nazwy

    Nowosci-w-13.0_61.png

    Wszystkie nazwy zmiennych wbudowane w środowisku Mathematica zaczynają się od wielkich liter. Dobre nawyki i sugestie producenta idą w kierunku stosowania nazw własnych użytkownika zaczynających się od małych liter. Sugestia dotyczy również aliasów dla kontekstów. Ponieważ w środowisku rozróżniane są małe i duże litery w nazwach obiektów, wiec zabezpieczy to przed ewentualną kolizją nazw własnych z nazwami systemowymi.

  • Instalacja programu
  • Dwie opcje pobierania wersji instalacyjnej

    Wersja instalacyjna programu Mathematica w wersji 12.3 w formie spakowanego pliku zip miała wielkość ponad 4.5 GB. W wersji 13 został wyodrębniony do samodzielnego pliku wyłącznie wersję instalacyjną samego programu, a po instalacji dokumentacja w formie systemu Help dostępna jest z poziomu programu w wersji on-line. Do korzystania z dokumentacji konieczne jest aktywne połączenie internetowe.  

    Dodatkowo w opcji Help znajduje się polecenie Install Local Documentation, które pozwala zainstalować lokalną wersję dokumentacji programu.

  • Inne obszary wprowadzonych zmian i ulepszeń
  • ■ Mechanika ciała stałego ( Solid and structural mechanics)
    ■ Drzewa, grafy, operacje na grafach
    ■ Formuły chemiczne i reakcje chemiczne
    ■ Biosekwencje
    ■ Baza wiedzy: bieżące i przyszłe loty samolotów
    ■ Automatyzacja w projektowaniu układów sterowania
    ■ Tworzenie pakletów
    ■ Repozytorium funkcji
    ■ Narzędzia do tworzenia quizów
    ■ Rozbudowa w zakresie CloudExpression
    ■ ... i wiele innych




    Nowości wprowadzone w wersji 13.1


    W wersji 13.1 programu Mathematica, jak w każdej nowej wersji programu dodane zostały nowe funkcje do środowiska oraz w wielu istniejących funkcjach wprowadzono zmiany, głównie polegające na dodaniu nowych opcji do istniejących komend.

    Znacząca część wprowadzonych zmian wiąże się poszerzaniem możliwości graficznej wizualizacji. Znaczna liczba nowości w zakresie grafiki dotyczy wizualizacją grafów i struktur drzewiastych, ale wprowadzono też nowy rodzaj wykresu punktowego TernaryListPlot, popularnie zwany diagramem trójkątnym.

    Liczną grupę nowości stanowią procedury związane z kompilacją kodu źródłowego, operacjami macierzowymi, operacjami na strukturach listowych oraz zmiany w zakresie różniczkowania, całkowania i równań różniczkowych.

    Pełne listy nowości i zmian w tej wersji programu z podziałem na obszar zastosowań oraz wykaz alfabetyczny dostępne są pod adresami:

    Lista nowości w wersji 13.1
    Alfabetyczny wykaz nowych i zmienionych funkcji programu w wersji 13.1

    Poniżej wymienione zostały znaczące nowości i ważniejsze zmiany wprowadzone w wersji 13.1 programu.

  • Operacje macierzowe
  • Wprowadzone zostały funkcje tworzące blokowe macierze strukturalne, takie jak blokowa macierz diagonalna BlockDiagonalMatrix, czy blokowa macierz trójkątna górna BlockUpperTriangularMatrix i dolna BlockLowerTriangularMatrix. Wprowadzona też została nowa funkcja PermutationMatrix.

    Przykład użycia funkcja BlockDiagonalMatrix.

    Nowosci-w-13.1-v2_1.png

    Nowosci-w-13.1-v2_2.png

  • Przetwarzanie list
  • W zakresie operacji na listach wprowadzone zostały nowe funkcje Threaded, DeleteAdjacentDuplicates oraz DeleteElements.

    Funkcja Threaded

    Użycie funkcji Threaded zmienia przebieg operacji na listach. Poniżej pokazano operację dodawania dwóch list.

    Nowosci-w-13.1-v2_3.png

    Nowosci-w-13.1-v2_4.png

    A teraz podobna operacja z użyciem funkcji Threaded:

    Nowosci-w-13.1-v2_5.png

    Nowosci-w-13.1-v2_6.png

    Funkcja DeleteElements

    Procedura DeleteElements pozwala usunąć całkowicie określone elementy z listy lub tylko ich określoną liczbę początkowych wystąpień na liście.

    Poniższa komenda usuwa całkowicie element x z listy

    Nowosci-w-13.1-v2_7.png

    Nowosci-w-13.1-v2_8.png

    ..., a w poniższej formie tylko pierwsza dwa wystąpienia tego elementu.

    Nowosci-w-13.1-v2_9.png

    Nowosci-w-13.1-v2_10.png

    Funkcja DeleteAdjacentDuplicates

    Usuwanie duplikatów w serii identycznych elementów listy.

    Nowosci-w-13.1-v2_11.png

    Nowosci-w-13.1-v2_12.png

    Wprowadzone zostały operacje na listach, traktowanych jako zbiory elementów. Funkcja SymmetricDifference działając na dwóch listach zwraca elementy obu list, które występują tylko na jednej z tych list, a w przypadku większej liczby list będących argumentami funkcji, zwraca te elementy, który występują na nieparzystej liczbie list. Natomiast funkcja UniqueElements jako wynik operacji na wielu listach podaje listę elementów z każdej z list, które występują tylko na jednej z tych list.

  • Grafika
  • Wersja 13.1 wprowadziła kilka nowych rodzajów wykresów. Niektóre z nich bardzo niszowe, jak BuckyballGraph, FeatureImpactPlot czy FeatureValueImpactPlot, ale też szerzej znane i używane, jak TernaryListPlot.

    Nowosci-w-13.1-v2_13.png

    Nowosci-w-13.1-v2_14.gif

    Nowością jest procedura CircularArcThrough, która pozwala wyznaczyć łuk okręgu przechodzącego przez zadane punkty. Funkcja jest wykorzystywana najczęściej w połączeniu z procedurą GeometricScene do definiowania ograniczeń w prezentacjach geometrycznych.

  • Rachunek różniczkowy i całkowy
  • W zakresie różniczkowania wprowadzone zostały nowe funkcje CaputoD (pochodna ułamkowa według definicji Caputo), FractionalD (pochodna ułamkowa Riemanna-Liouville’a) oraz ImplicitD (pochodna funkcji niejawnej, uwikłanej). Wprowadzona została możliwość podmiany zmiennej w równaniach różniczkowych oraz całkowaniu przez dodanie procedur DSolveChangeVariables oraz IntegrateChangeVariables.

    Nowosci-w-13.1-v2_15.png

    Nowosci-w-13.1-v2_16.png

    Podstawienie nowej zmiennej.
    Dyrektywa Inactive blokuje wykonanie funkcji Integrate podczas operacji podstawienia zmiennej.

    Nowosci-w-13.1-v2_17.png

    Nowosci-w-13.1-v2_18.png

    Teraz można “odblokować” całkowanie, wykonać obliczenia po podstawieniu zmiennej i wrócić do zmiennej pierwotnej.

    Nowosci-w-13.1-v2_19.png

    Nowosci-w-13.1-v2_20.png

    Wynik jest oczywiście taki sam, jak przy bezpośrednim całkowaniu względem zmiennej x. Podobny mechanizm można zastosować przy całkowaniu równań różniczkowych i podobną rolę pełni funkcja Inactive i Activate,tym razem aby zablokować wykonanie DSolve.

  • Grafy
  • Procedura GraphProduct pozwala tworzyć nowe grafy przez logiczne operacje (Boolean combinations) na grafach pierwotnych. Wprowadzono także operacje przekształcające grafy, takie jak GraphJoin, czy GraphSum.

  • Struktury drzewiaste
  • Wprowadzonych zostało szereg nowych opcji dla komendy Tree i komend pokrewnych. Pozwalają one wpływać na atrybuty etykiet elementów drzewa, wielkość elementów, kształt symboli węzłów, wygląd krawędzi drzewa, itp.

    Zróżnicowane obrazy węzłów drzewa dzięki zastosowaniu opcji TreeElementShape.

    Nowosci-w-13.1-v2_21.gif

    Graphics:None

    Sterowanie wyglądem krawędzi drzewa za pomocą opcji ParentEdgeStyleFunction.

    Nowosci-w-13.1-v2_23.png

    Graphics:None

  • Inne obszary wprowadzonych zmian i ulepszeń
  • ■ Nowe funkcje pomocne w kompilacji kodu źródłowego
    ■ Struktury chemiczne
    ■ Modelowanie systemów
    ■ Sterowanie pracą systemu Kernel
    ■ Przetwarzanie sekwencji video
    ■ Programowanie funkcjonalne
    ■ ... inne zmiany i ulepszenia