Funkcja różnorodna w MATLAB

Funkcja różnorodna w MATLAB
W tym artykule wyjaśni wszystko, co musisz wiedzieć o funkcji Matlab diff ().

Zobaczymy, jak zaimplementować tę funkcję, aby znaleźć różnice między elementami wektorowymi, wierszami i kolumnami macierzy. W tym artykule dowiesz się również, jak uzyskać przybliżone pochodne funkcji matematycznej.

Zostaną to pokazane na podstawie praktycznych przykładów z fragmentami kodu i obrazami ilustrującymi różne sposoby korzystania z tej funkcji w wielu wymiarach i różnych typach wektorów i tablic.

Składnia funkcji dyfleksji MATLAB

D = diff (x)
D = diff (x, n)
D = diff (x, n, DIM)

Opis funkcji diff Matlab Diff

Funkcja diff () powraca w „d” różnica między jednym elementem a tekstem wektora wejściowego lub macierzy „x”. Działamy wzdłuż wymiaru, gdy wywołujemy diff z tablicą jako wejście. Tak więc wynik „D” będzie szeregiem wielkości N w wymiaru elementów N-1 nad wymiarem, na którym działamy. Wymiar, na którym chcemy obsługiwać, jest wybierany przy użyciu wejścia „DIM”. Wejście „N” to skalar całkowitowy, który ustawia kolejność pochodnych. Ta funkcja przyjmuje tablice wektora, 2D i wielowymiarowe w „x”, podczas gdy wejścia „N” i „DIM” mają pozytywny typ skalarny. Poniżej zobaczymy praktyczne przykłady tej funkcji z wektorami i różnymi typami macierzy.

Przykład 1: Jak uzyskać różnice między sąsiednimi elementami wektora z funkcją MATLAB diff ()

Zobaczmy teraz, jak używać funkcji MATLAB, różni, aby znaleźć różnice między sąsiednimi elementami wektora „V”. Aby to zrobić, utworzymy skrypt i napiszemy następujący kod:

v = [1, 2, 4, 7, 11, 7, 4, 2, 1];
r = diff (v)

W pierwszym wierszu skryptu tworzymy 9-elementowy wektor „V”. Następnie, w drugim wierszu kodu, wywołujemy funkcję diff (), przekazując „v” jako argument wejściowy. Ponieważ w tym przypadku wysyłamy wektor, wejście „DIM” nie jest używane.

Jak widać na poniższym rysunku, konsola dowodzenia środowiska MATLAB pokazuje, że wyjście w „D” jest wektorem różnic między podłączonymi elementami „V”. Widać, że wektor wyjściowy zawiera jeden mniej elementów niż wektor wejściowy.

Przykład 2: Jak używać wejścia „DIM” do działania wzdłuż różnych wymiarów z funkcją Matlab's diff ()

W przypadkach, w których pracujemy z tą funkcją przy użyciu danych wejściowych „DIM” o różnych wymiarach, wejście „N” nie powinno być wysyłane puste, ponieważ diff () bierze „n” w swoim drugim argumencie wejściowym. Jeśli to dane wejściowe nie jest używane, zamiast tego należy wysłać 1, co jest wartością domyślną.

Przykład 3: Jak użyć wejścia „DIM” do działania wzdłuż pierwszego wymiaru z funkcją MATLAB Diff

Zobaczmy teraz, jak użyć funkcji MATLAB, różnic, aby znaleźć różnice między sąsiednimi elementami macierzy „M” wzdłuż jej kolumn lub wymiaru 1. W tym celu utworzymy skrypt i napiszemy następujący kod:

M = magia (5)
r = diff (m, 1, 1)

W pierwszym wierszu skryptu używamy funkcji Magic (), aby stworzyć magiczny kwadrat składający się z tablicy 5 na 5 elementów. W drugim wierszu kodu wywołujemy funkcję diff (), wysyłając „m” jako argument wejściowy i określając wejście „Dim”, które działa wzdłuż wymiaru 1.

Poniższy obraz pokazuje konsolę poleceń z wynikiem „D”. W tym przypadku jest to tablica pięciu kolumn na cztery rzędy z różnicami między ciągłymi elementami wzdłuż wymiaru 1 „M”.

Przykład 4: Jak użyć wejścia „DIM” do działania wzdłuż drugiego wymiaru z funkcją MATLAB Diff

W tym przykładzie zobaczymy, jak działać na wymiarach 2 matrycy, to znaczy wzdłuż jej wierszy. Aby to zrobić, używamy tego samego fragmentu kodu, co w poprzednim przykładzie, ale tym razem wskazujemy, wpisując „Dim”, aby działał wzdłuż wymiaru 2 lub rzędów Magic Square.

M = magia (5)
r = diff (m, 1, 2)

Poniższy obraz pokazuje konsolę poleceń z wynikiem „D”. W tym przypadku jest to tablica czterech wierszy o pięć kolumn z różnicami między ciągłymi elementami wzdłuż wymiaru 2 „M”.

Przykład 5: Jak uzyskać przybliżone pochodne w funkcji z MATLAB diff ()

W tym przykładzie zobaczymy, jak uzyskać przybliżoną pochodną fali sinusoidalnej za pomocą funkcji diff (), której użyjemy, aby uzyskać różnicę y w przedziale x, x+h, a następnie podzielić ją przez przedział H. Następnie zobaczymy kod i skrypt dla tego przykładu.

x = 0: 0.01: 2*PI; % H lub Delta x = 0.01
y = sin (x);
D = diff (y) / 0.01;
Wykres (x (:, 1: długość (d)), d, x (:, 1: długość (y)), y)

W poprzednim fragmencie kodu najpierw tworzymy wektor czasowy „x” od 0 do 2*pi z interwałami 0.01 w „H”. Następnie tworzymy wektor „y” z sinusem „x”, aby miały ten sam rozmiar. Po utworzeniu fali, z funkcją diff (), uzyskamy różnice między elementami wektora „y” w wyjściu „D”. Następnie dzielimy różnice w „D” przez „H” i otrzymamy wektor z pochodną „Y”. Jak powiedzieliśmy w opisie, rozmiar wektora wyjściowego diff () jest elementami N-1 większymi niż wektor wejściowy, i występuje to za każdym razem, gdy funkcja ta jest rekurencyjnie stosowana przez wejście „n” so ”x” i „” i „” i „” i „ d ”nie będzie już miał kompatybilnych rozmiarów. Jeśli chcemy reprezentować falę i jej pochodną, ​​rozmiar „D” jest niezgodny z rozmiarem „x”. Musimy więc zdefiniować to według wielkości „D”, jak pokazano w ostatnim wierszu kodu. Poniżej możesz zobaczyć sinus „y” i jego przybliżone pochodne „D”.

Wniosek

Ten artykuł MATLAB wyjaśnił, jak użyć funkcji MATLAB Diff, aby znaleźć różnicę między sąsiednimi elementami macierzy lub wektora. Aby pomóc Ci zrozumieć, jak korzystać z tego zasobu, stworzyliśmy praktyczny przykład z fragmentami kodu i obrazów dla każdego trybu i różnymi wymiarami, w których działa ta funkcja. Widzieliśmy również opis struktury funkcji, argumentów wejściowych i wyjściowych oraz typu danych, który akceptuje diff (). Mamy nadzieję, że ten artykuł Matlab był pomocny. Więcej wskazówek i informacji można znaleźć w innych artykułach dotyczących Linuksa.