Menu
Jest wolny
rejestracja
Dom  /  Oprogramowanie układowe/ Pętla dla przykładów Matlab. Programowanie w MATLAB

Pętla do przykładów Matlab. Programowanie w MATLAB

Katedra: Informatyka

PROGRAMOWANIE WMATLAB


OperatorzyMATLAB

· Operatory pętli

Cykldla

Składnia

for count = start: step: final

Polecenia MATLAB

Opis

liczba jest zmienną pętli,

start - jego wartość początkowa,

final jest jego ostateczną wartością,

step - krok, o który liczba wzrasta z każdym kolejnym wejściem w pętlę

pętla kończy się, gdy tylko liczba staje się większa niż ostateczna.

Przykład

Niech będzie wymagane wyprowadzenie rodziny krzywych dla x €, która jest określona przez funkcję zależną od parametru

y (x, a) = e -ax sin x,

dla parametru a wartości od -0,1 do 0,1. Poniżej znajduje się lista plików programu do wyprowadzania rodziny krzywych.

Lista programów

x =;

dla a = -0,1: 0,02: 0,1

y = exp (-a * x). * sin (x);

W wyniku wykonania programu pojawi się okno graficzne zawierające wymaganą rodzinę krzywych.

Cyklpodczas

Składnia

podczas gdy warunek pętli

Polecenia MATLAB

Opis

Pętla działa tak długo, jak warunek pętli jest (prawda). Aby ustawić warunki wykonania cyklu, dozwolone są następujące operacje relacyjne:

Bardziej złożone warunki są określane za pomocą operatorów logicznych. Operatory logiczne są pokazane w poniższej tabeli


Przykład

Operatorzy oddziałów

Operator warunkowyJeśli

Składnia

jeśli warunek

Polecenia MATLAB

Opis

Jeżeli warunek jest spełniony, to wykonywane są komendy MATLAB umieszczone pomiędzy if i end, a jeżeli warunek nie jest spełniony, to następuje przejście do komend znajdujących się po end.

Przykład

Operator warunkowyelseif

Składnia

jeśli warunek1

warunek elseif 2

………………………

elseif warunek

Opis

W zależności od spełnienia tego lub innego warunku działa odpowiednia gałąź programu, jeśli wszystkie warunki są niepoprawne, wykonywane są polecenia umieszczone po else.

Przykład

Operatorprzełącznik

Składnia

zmienna przełącznika

wartość przypadku1

wartość przypadku2

……………………

wartość przypadku n


Każda gałąź definiowana jest instrukcją case, przejście do niej następuje w momencie, gdy zmienna instrukcji switch przyjmuje wartość określoną po case lub jedną z wartości z listy case. Po wykonaniu którejkolwiek z gałęzi następuje wyjście z przełącznika, natomiast wartości podane w pozostałych przypadkach nie są już sprawdzane. Jeżeli nie zostaną znalezione odpowiednie wartości dla zmiennej, to wykonywana jest gałąź programu odpowiadająca inaczej.

Przykład

Przerywa cykl. Wyjątkowe sytuacje.

Operatorprzerwa

Składnia

Operator break jest używany przy organizowaniu obliczeń cyklicznych: for… end, while… end. Kiedy warunek jest spełniony

jeśli warunek

instrukcja break kończy pętlę (for lub while) i wykonywane są instrukcje znajdujące się w wierszach następujących po end. W przypadku pętli zagnieżdżonych przerwanie powoduje wyjście z pętli wewnętrznej.

Obsługa wyjątków, operatorpróbowaćłapać

Składnia

operatorzy, których wykonanie

może spowodować błąd

oświadczenia do wykonania

gdy w bloku wystąpi błąd

między próbą a łapaniem

Opis

Konstrukcja try ... catch pozwala ominąć wyjątkowe sytuacje (błędy, które prowadzą do zakończenia programu, na przykład dostęp do nieistniejącego pliku) i podjąć pewne działania, jeśli wystąpią.

Przykład

Funkcje serwisowe

disp wyprowadza tekst lub wartość zmiennej do okna poleceń

Wejście- prosi o wprowadzenie danych z klawiatury. Używane podczas tworzenia aplikacji z interfejsem wiersza poleceń.

oceniać wykonuje zawartość ciągu lub zmiennej ciągu, jak polecenia MATLAB

jasne- usuwa zmienne środowiska pracy.

zlc- czyści okno poleceń

Więcej dokładna informacja możesz dowiedzieć się o tych i innych funkcjach, uruchamiając wiersz poleceń

Wsparcienazwa_funkcji


Zadania do wykonania Praca laboratoryjna

Numer konkretnego wariantu zadania ustala prowadzący.

Zadanie numer 1

Zadanie to polega na znalezieniu dla pewnego zbioru danych wielomianu interpolacji algebraicznej stopnia n: P n(x) .

Cel pracy:

Niezbędne jest skompilowanie programu do obliczania współczynników wielomianu interpolacji algebraicznej P n(x)= a 0 + a 1 x+ … + n x n.

Instrukcje metodyczne:

0 1 2 3

NSi

1,2 1,4 1,6 1,8
8,3893 8,6251 8,9286 8,9703

Szanse a 0 , a 1 , …, jakiś są wyznaczane z rozwiązania układu równań:

Tutaj n- rząd wielomianu interpolacyjnego,

n+1 - ilość wyspecyfikowanych par punktów ( x, tak),

a 0 , a 1 ,… jakiś- wymagane współczynniki wielomianu P n(x)= a 0 + a 1 x+ … + n x n).

Wymagania dotyczące programu

Ustaw granice linii , na którym budowany jest wielomian interpolacyjny P (x)

· Zapytać się n- liczba segmentów interpolacji (lub, co jest takie samo, stopień wielomianu)

Notatka: x0, xn, n wprowadzone z klawiatury.

Aby uzyskać wstępne dane (x, y)(liczba par punktów (x ja, y ja), za pomocą którego konstruowany jest wielomian interpolacyjny P (x)n1 = n + 1) dostarczać:

ü Wprowadzanie losowo zlokalizowanych węzłów x i, i = 0, n z klawiatury

ü Obliczanie węzłów x i, i = 0, n, odpowiadające równomiernemu rozkładowi argumentu x na segmencie

ü W nr. 1.2 wartości y i, i = 0, n albo wprowadzane z klawiatury (jeśli oryginalna funkcja jest nieznana), albo obliczane przez daną funkcję f (x)... Wyrażenie definiujące funkcję jest wprowadzane z klawiatury i musi być zgodne z zasadami pisania wyrażeń w MATLAB

ü Wprowadzanie danych ( x ja, y ja, ja = 0, n) z pliku

Rozwiąż układ równań, aby określić współczynniki wielomianu P (x)

Zbuduj wykresy oryginalnej funkcji zdefiniowanej w tabeli i wielomianu P (x)

· Jeżeli dane początkowe są określone jako funkcja f(x), zbuduj wykres błędu interpolacji /f(x)-P(x)/. Oblicz maksymalną wartość modułu błędu interpolacji w danym przedziale.


Zadanie numer 2

Interpolacja splajnu

Cel pracy:

Niezbędne jest napisanie programu do obliczania współczynników i konstruowania funkcji sklejanej S (x), "sklejonej" z kawałków wielomianów trzeciego rzędu S i(x), które mają specjalną notację:

Funkcje i(x) zdefiniowany na segmencie

Wymagania dotyczące programu

Wykonując tę ​​pracę, musisz:

Ustaw granice odcinka, na którym skonstruowana jest funkcja splajnu S (x)

· Określ n - liczbę segmentów interpolacyjnych, na każdym z których budowany jest wielomian sześcienny Si(x).

· Uwaga: x0, xn, n są wprowadzane z klawiatury.

Uporządkuj wejście danych początkowych (x, y) (liczba par punktów (xi, yi), które są używane do skonstruowania funkcji sklejanej S (x), n1 = n + 1), zapewniając:

ü Wprowadzanie losowo zlokalizowanych węzłów xi, i = 0, n z klawiatury

ü Obliczanie węzłów xi, i = 0, n, odpowiadających jednolitemu położeniu argumentu x na segmencie

ü W nr. 1,2 wartości yi, i = 0, n albo są wprowadzane z klawiatury (jeśli pierwotna funkcja jest nieznana), albo są obliczane przez podaną funkcję f (x). Wyrażenie definiujące funkcję jest wprowadzane z klawiatury i musi być zgodne z zasadami pisania wyrażeń w MATLAB

ü Dane wejściowe (xi, yi, i = 0, n) z pliku

ü S1 „” (x0) = 0, S3 „” (x3) = 0

ü S1 „(x0) = f” (x0), S3 „(x3) = f” (x3)

ü S1 "" (x0) = f "(x0), S3" "(x0) = f" (x3)

Aby wyznaczyć współczynniki naturalnego splajnu sześciennego (warunki brzegowe 1), konieczne jest rozwiązanie następujący system równania:

Współczynniki σ 0 = 0, σ n = 0

· Tworzenie wykresów oryginalnej funkcji i funkcji sklejanych dla wszystkich trzech typów warunków brzegowych.

· Tworzenie wykresów funkcji błędu interpolacji splajnu f (x) - S (x) dla wszystkich trzech typów warunków brzegowych.

Notatka:

V Pakiet MATLAB indeksy tablic jednowymiarowych i dwuwymiarowych zaczynają się od 1, a nie od 0. Weź to pod uwagę podczas tworzenia programu.


Zadanie numer 3

Aproksymacja funkcji metodą najmniejszych kwadratów (OLS).

Zadanie to polega na znalezieniu dla pewnego zbioru danych funkcji aproksymującej (wielomian stopnia m), skonstruowanej metodą najmniejszych kwadratów (LSM).

Cel pracy:

Konieczne jest skomponowanie programu do znajdowania współczynników wielomianu φ (x)= a 0 + a 1 * x+… jakiś * x m metoda najmniejszych kwadratów.

Załóżmy na przykład, że masz następujący zestaw danych:

NSi

1,2 1,4 1,6 1,8 2,0 2,2 2,4 2,6 2,8 3,0
8,3893 8,6251 8,9286 8,9703 9,1731 9,1784 8,8424 8,7145 8,3077 7,9611

Wyszukiwanie wymaganych współczynników odbywa się w następujący sposób:

gdzie n - ilość punktów ( x, tak),

m - stopień wymaganego wielomianu,

a 0 , a 1 , …, jestem - wymagane współczynniki ( φ ( x )= a 0 + a 1 x + … + m x m ).

Wymagania dotyczące programu

Wykonując tę ​​pracę, musisz:

· Ustaw granice odcinka, na którym budowana jest funkcja aproksymująca φ (x) = a0 + a1 * x +… an * xm

Ustaw m - stopień wielomianu

· Uwaga: x1, xn, m wprowadza się z klawiatury.

· Aby uzyskać dane początkowe (x, y), za pomocą których skonstruowana jest funkcja aproksymująca φ (x) = a0 + a1 * x +… an * x m, należy zapewnić:

ü Wprowadzanie losowo zlokalizowanych węzłów xi, i = 1, n z klawiatury

ü Obliczanie węzłów xi, i = 1, n, odpowiadających jednolitemu położeniu argumentu x na segmencie

ü W nr. 1,2 wartości yi, i = 1, n albo są wprowadzane z klawiatury (jeśli pierwotna funkcja jest nieznana), albo są obliczane przez podaną funkcję f (x). Wyrażenie definiujące funkcję jest wprowadzane z klawiatury i musi być zgodne z zasadami pisania wyrażeń w MATLAB

ü Dane wejściowe (xi, yi, i = 1, n) z pliku

Rozwiąż układ równań, aby określić współczynniki wielomianu φ (x)

Zbuduj wykresy oryginalnej funkcji zdefiniowanej w tabeli i wielomianu φ (x)

· Jeśli dane początkowe są określone jako funkcja f (x), zbuduj wykres błędu interpolacji / f (x) - φ (x) /. Oblicz maksymalną wartość modułu błędu interpolacji w danym przedziale.

Podczas wykonywania ostatniego punktu na segmencie weź co najmniej 500 punktów do obliczeń


Wymagania dotyczące projektowania prac laboratoryjnych

Raport powinien zawierać:

1. Stwierdzenie problemu

2. Tekst programu

3. Wyniki badań

Uwaga Teksty programów powinny być opatrzone komentarzami.


1. Anufriev I.E. Zeszyt do samodzielnej nauki Matlab 5.3 / 6.x - SPb .: BHV-Petersburg, 2003 .-- 736 s.: il.

2. W.P. Dyakonov MATLAB 6.5 SPI / 7 + Simulink 5/6 w matematyce i modelowaniu. Profesjonalna seria biblioteczna. - M .: SOLON-Press, 2005 .-- 576 s .: il.

3. Anufriev IE, Smirnov AB, Smirnova E.N. MathLab 7. - SPb .: BHV-Petersburg, 2005 .-- 1104 s.: il.

Często organizując pętlę, wymagane jest iterowanie wartości licznika w zadanym zakresie wartości iz zadanym krokiem zmiany. Na przykład, aby iterować po elementach wektora (tablicy), musisz zorganizować licznik od 1 do N z krokiem 1, gdzie N jest liczbą elementów w wektorze. Aby obliczyć sumę szeregu, ustawiany jest również licznik od a do b z wymaganym krokiem. Itp. Ze względu na to, że takie zadania są często spotykane w praktyce programistycznej, do ich realizacji zaproponowano operator pętli for, który ułatwia i bardziej wizualną implementację pętli z licznikiem.

Składnia instrukcji pętli for jest następująca:

dla<счетчик> = <начальное значение>:<шаг>:<конечное значение>
<операторы цикла>
kończyć się

Rozważmy działanie tego cyklu na przykładzie implementacji algorytmu znajdowania maksymalnej wartości elementu w wektorze:

funkcja search_max
a =;
m = a (1); % aktualna maksymalna wartość
dla i = 1: długość (a)% pętli od 1 do końca wektora z
% w krokach co 1 (domyślnie)
jeśli m< a(i) % если a(i) >m,
m = a(i); % wtedy m = a (i)
kończyć się
end% koniec pętli for
disp (m);

W tym przykładzie pętla for ustawia licznik i i zmienia jego wartość od 1 do 10 w odstępach co 1. Należy zauważyć, że jeśli rozmiar kroku nie jest określony jawnie, domyślnie będzie to 1.

W następnym przykładzie rozważ implementację algorytmu przesuwania elementów wektora w prawo, tj. przedostatni element kładzie się w miejsce ostatniego, następny - w miejsce przedostatniego itd. do pierwszego elementu:

kolejka funkcji
a =;
disp (a);
dla i = długość (a): - 1: 2% pętli od 10 do 2 w przyrostach -1
a(i) = a(i-1); % przesuń elementy wektora a
end% koniec pętli for
disp (a);

Wynik programu

3 6 5 3 6 9 5 3 1 0
3 3 6 5 3 6 9 5 3 1

Powyższy przykład pokazuje, że aby zaimplementować pętlę z licznikiem z wyższej wartości na niższą, należy jawnie określić krok, w tym przypadku -1. Jeśli tego nie zrobisz, cykl natychmiast zakończy swoją pracę, a program nie będzie działał poprawnie.

Podsumowując, rozważymy działanie operatora pętli for na przykładzie modelowania ciągu losowego z prawem zmiany

gdzie jest współczynnik od -1 do 1; - normalna zmienna losowa z zerowym oczekiwaniem matematycznym i wariancją

,

gdzie jest wariancja symulowanego procesu losowego. W tym przypadku pierwsza próba jest modelowana jako normalna zmienna losowa z zerowym matematycznym oczekiwaniem i wariancją. Program symulacyjny wygląda tak:

modelowanie funkcji_x
r = 0,95; % współczynnika modelu
N = 100; % liczba symulowanych punktów
ex = 100; % zmienności procesu
et = ex * (1-r ^ 2); % wariancji losowego dodawania
x = zera (N, 1); % inicjalizacji wektora x
x (1) = sqrt (ex) * randn; % symulacji pierwszej próbki
dla i = 2: N% pętla od 2 do N
x (i) = r * x (i-1) + sqrt (et) * randn; % symulacja wspólnego przedsięwzięcia
end% koniec pętli
działka (x); % wyświetlanie SP w postaci wykresu

Podczas wykonywania tego programu zostanie pokazana implementacja symulowanej sekwencji losowej.

Ryż. 2.1. Wynik symulacji losowej sekwencji.

Praca programu rozpoczyna się od zdefiniowania zmiennych (w programie zmienna ex) oraz od zaimplementowania określonego modelu. Następnie obliczana jest wariancja a pierwsza próbka procesu losowego jest symulowana za pomocą funkcji randn. Funkcja randn generuje normalne zmienne losowe o zerowej średniej i jednostkowej wariancji. Aby wygenerować zmienną losową z wariancją wystarczy pomnożyć zmienną losową z wariancją jednostkową przez, ponieważ wariancja to średni kwadrat zmiennej losowej w stosunku do oczekiwań matematycznych. W rezultacie mamy linię programu

x (1) = sqrt (ex) * randn;

Następnie realizowana jest pętla for z licznikiem i od 2 do N z krokiem 1. Wewnątrz pętli zgodnie z powyższym wzorem symulowane jest pozostałe N-1 próbek procesu losowego. W ostatniej linii programu znajduje się funkcja plot(), która wyświetla na ekranie zamodelowaną sekwencję w postaci wykresu. Praca z wyświetlaniem wykresów na ekranie zostanie omówiona bardziej szczegółowo w następnym rozdziale.

Dział: Technologia informacyjna

PROGRAMOWANIE WMATLAB


OperatorzyMATLAB

· Operatory pętli

Cykldla

Składnia

for count = start: step: final

Polecenia MATLAB

Opis

liczba jest zmienną pętli,

start - jego wartość początkowa,

final jest jego ostateczną wartością,

step - krok, o który liczba wzrasta z każdym kolejnym wejściem w pętlę

pętla kończy się, gdy tylko liczba staje się większa niż ostateczna.

Przykład

Niech będzie wymagane wyprowadzenie rodziny krzywych dla x €, która jest określona przez funkcję zależną od parametru

y (x, a) = e -ax sin x,

dla parametru a wartości od -0,1 do 0,1. Poniżej znajduje się lista plików programu do wyprowadzania rodziny krzywych.

Lista programów

x =;

dla a = -0,1: 0,02: 0,1

y = exp (-a * x). * sin (x);

W wyniku wykonania programu pojawi się okno graficzne zawierające wymaganą rodzinę krzywych.

Cyklpodczas

Składnia

podczas gdy warunek pętli

Polecenia MATLAB

Opis

Pętla działa tak długo, jak warunek pętli jest (prawda). Aby ustawić warunki wykonania cyklu, dozwolone są następujące operacje relacyjne:

Bardziej złożone warunki są określane za pomocą operatorów logicznych. Operatory logiczne są pokazane w poniższej tabeli


Przykład

Operatorzy oddziałów

Operator warunkowyJeśli

Składnia

jeśli warunek

Polecenia MATLAB

Opis

Jeżeli warunek jest spełniony, to wykonywane są polecenia MATLAB umieszczone pomiędzy if i end, a jeżeli warunek nie jest spełniony, to następuje przejście do poleceń znajdujących się po end.

Przykład

Operator warunkowyelseif

Składnia

jeśli warunek1

warunek elseif 2

………………………

elseif warunek

Opis

W zależności od spełnienia tego lub innego warunku działa odpowiednia gałąź programu, jeśli wszystkie warunki są niepoprawne, wykonywane są polecenia umieszczone po else.

Przykład

Operatorprzełącznik

Składnia

zmienna przełącznika

wartość przypadku1

wartość przypadku2

……………………

wartość przypadku n


Każda gałąź definiowana jest instrukcją case, przejście do niej następuje w momencie, gdy zmienna instrukcji switch przyjmuje wartość określoną po case lub jedną z wartości z listy case. Po wykonaniu którejkolwiek z gałęzi następuje wyjście z przełącznika, natomiast wartości podane w pozostałych przypadkach nie są już sprawdzane. Jeżeli nie zostaną znalezione odpowiednie wartości dla zmiennej, to wykonywana jest gałąź programu odpowiadająca inaczej.

Przykład

Przerywa cykl. Wyjątkowe sytuacje.

Operatorprzerwa

Składnia

Operator break jest używany przy organizowaniu obliczeń cyklicznych: for… end, while… end. Kiedy warunek jest spełniony

jeśli warunek

instrukcja break kończy pętlę (for lub while) i wykonywane są instrukcje znajdujące się w wierszach następujących po end. W przypadku pętli zagnieżdżonych przerwanie powoduje wyjście z pętli wewnętrznej.

Obsługa wyjątków, operatorpróbowaćłapać

Składnia

operatorzy, których wykonanie

może spowodować błąd

oświadczenia do wykonania

gdy w bloku wystąpi błąd

między próbą a łapaniem

Opis

Konstrukcja try ... catch pozwala ominąć wyjątkowe sytuacje (błędy, które prowadzą do zakończenia programu, na przykład dostęp do nieistniejącego pliku) i podjąć pewne działania, jeśli wystąpią.

Przykład

Funkcje serwisowe

disp wyprowadza tekst lub wartość zmiennej do okna poleceń

Wejście- prosi o wprowadzenie danych z klawiatury. Używane podczas tworzenia aplikacji z interfejsem wiersza poleceń.

oceniać wykonuje zawartość ciągu lub zmiennej ciągu, jak polecenia MATLAB

jasne- usuwa zmienne środowiska pracy.

zlc- czyści okno poleceń

Więcej informacji o tych i innych funkcjach można znaleźć, uruchamiając w wierszu poleceń

Wsparcienazwa_funkcji

Zadania laboratoryjne

Numer konkretnego wariantu zadania ustala prowadzący.

Zadanie numer 1

Zadanie to polega na znalezieniu dla pewnego zbioru danych wielomianu interpolacji algebraicznej stopnia n: P n(x) .

Cel pracy:

Niezbędne jest skompilowanie programu do obliczania współczynników wielomianu interpolacji algebraicznej P n(x)= a 0 + a 1 x+ … + n x n.

Instrukcje metodyczne:

Załóżmy na przykład, że masz następujący zestaw danych:

i 0 1 2 3
NSi 1,2 1,4 1,6 1,8
ja ja 8,3893 8,6251 8,9286 8,9703

Szanse a 0 , a 1 , …, jakiś są wyznaczane z rozwiązania układu równań:

Tutaj n- rząd wielomianu interpolacyjnego,

n+1 - ilość wyspecyfikowanych par punktów ( x, tak),

a 0 , a 1 ,… jakiś- wymagane współczynniki wielomianu P n(x)= a 0 + a 1 x+ … + n x n).

Wymagania dotyczące programu

Ustaw granice linii , na którym budowany jest wielomian interpolacyjny P (x)

· Zapytać się n- liczba segmentów interpolacji (lub, co jest takie samo, stopień wielomianu)

Notatka: x0, xn, n wprowadzone z klawiatury.

Aby uzyskać wstępne dane (x, y)(liczba par punktów (x ja, y ja), za pomocą którego konstruowany jest wielomian interpolacyjny P (x)n1 = n + 1) dostarczać:

Wprowadzanie losowo rozmieszczonych węzłów x i, i = 0, n z klawiatury

Obliczanie węzłów x i, i = 0, n, odpowiadające równomiernemu rozkładowi argumentu x na segmencie

W s. 1.2 wartości y i, i = 0, n albo wprowadzane z klawiatury (jeśli oryginalna funkcja jest nieznana), albo obliczane przez daną funkcję f (x)... Wyrażenie definiujące funkcję jest wprowadzane z klawiatury i musi być zgodne z zasadami pisania wyrażeń w MATLAB

Wprowadzanie danych ( x ja, y ja, ja = 0, n) z pliku

Rozwiąż układ równań, aby określić współczynniki wielomianu P (x)

Zbuduj wykresy oryginalnej funkcji zdefiniowanej w tabeli i wielomianu P (x)

· Jeżeli dane początkowe są określone jako funkcja f(x), zbuduj wykres błędu interpolacji /f(x)-P(x)/. Oblicz maksymalną wartość modułu błędu interpolacji w danym przedziale.

Podczas wykonywania ostatniego punktu na segmencie weź co najmniej 500 punktów do obliczeń

Zadanie numer 2

Interpolacja splajnu

Cel pracy:

Niezbędne jest napisanie programu do obliczania współczynników i konstruowania funkcji sklejanej S (x), "sklejonej" z kawałków wielomianów trzeciego rzędu S i(x), które mają specjalną notację:

,

Funkcje i(x) zdefiniowany na segmencie

Wymagania dotyczące programu

Wykonując tę ​​pracę, musisz:

Ustaw granice odcinka, na którym skonstruowana jest funkcja splajnu S (x)

· Określ n - liczbę segmentów interpolacyjnych, na każdym z których budowany jest wielomian sześcienny Si(x).

· Uwaga: x0, xn, n są wprowadzane z klawiatury.

Uporządkuj wejście danych początkowych (x, y) (liczba par punktów (xi, yi), które są używane do skonstruowania funkcji sklejanej S (x), n1 = n + 1), zapewniając:

Wprowadzanie losowo rozmieszczonych węzłów xi, i = 0, n z klawiatury

Obliczanie węzłów xi, i = 0, n, odpowiadających jednolitemu położeniu argumentu x na segmencie

W s. 1,2 wartości yi, i = 0, n albo są wprowadzane z klawiatury (jeśli pierwotna funkcja jest nieznana), albo są obliczane przez podaną funkcję f (x). Wyrażenie definiujące funkcję jest wprowadzane z klawiatury i musi być zgodne z zasadami pisania wyrażeń w MATLAB

Wprowadzanie danych (xi, yi, i = 0, n) z pliku

S1 "" (x0) = 0, S3 "" (x3) = 0

S1 „(x0) = f” (x0), S3 „(x3) = f” (x3)

S1 "" (x0) = f "(x0), S3" "(x0) = f" (x3)

Do wyznaczenia współczynników naturalnej krzywej sześciennej (warunki brzegowe 1) konieczne jest rozwiązanie następującego układu równań:

Współczynniki σ 0 = 0, σ n = 0

· Tworzenie wykresów oryginalnej funkcji i funkcji sklejanych dla wszystkich trzech typów warunków brzegowych.

· Tworzenie wykresów funkcji błędu interpolacji splajnu f (x) - S (x) dla wszystkich trzech typów warunków brzegowych.

Notatka:

W pakiecie MATLAB indeksy tablic jednowymiarowych i dwuwymiarowych zaczynają się od 1, a nie od 0. Weź to pod uwagę podczas pisania programu.

Katedra: Informatyka

PROGRAMOWANIE WMATLAB

OperatorzyMATLAB

· Operatory pętli

Cykldla

Składnia

for count = start: step: final

Polecenia MATLAB

Opis

liczba jest zmienną pętli,

start - jego wartość początkowa,

final jest jego ostateczną wartością,

step - krok, o który liczba wzrasta z każdym kolejnym wejściem w pętlę

pętla kończy się, gdy tylko liczba staje się większa niż ostateczna.

Przykład

Niech będzie wymagane wyprowadzenie rodziny krzywych dla x €, która jest określona przez funkcję zależną od parametru

y (x, a) = e-ax sin x,

dla parametru a wartości od -0,1 do 0,1. Poniżej znajduje się lista plików programu do wyprowadzania rodziny krzywych.

Lista programów

x =;

dla a = -0,1: 0,02: 0,1

y = exp (-a * x). * sin (x);

W wyniku wykonania programu pojawi się okno graficzne zawierające wymaganą rodzinę krzywych.

Cyklpodczas

Składnia

podczas gdy warunek pętli

Polecenia MATLAB

Opis

Pętla działa tak długo, jak warunek pętli jest (prawda). Aby ustawić warunki wykonania cyklu, dozwolone są następujące operacje relacyjne:

Bardziej złożone warunki są określane za pomocą operatorów logicznych. Operatory logiczne są pokazane w poniższej tabeli

Przykład

Operatorzy oddziałów

Operator warunkowyJeśli

Składnia

jeśli warunek

Polecenia MATLAB

Opis

Jeżeli warunek jest spełniony, to wykonywane są komendy MATLAB umieszczone pomiędzy if i end, a jeżeli warunek nie jest spełniony, to następuje przejście do komend znajdujących się po end.

Przykład

Operator warunkowyelseif

Składnia

jeśli warunek1

warunek elseif 2

………………………

elseif warunek

Opis

W zależności od spełnienia tego lub innego warunku działa odpowiednia gałąź programu, jeśli wszystkie warunki są niepoprawne, wykonywane są polecenia umieszczone po else.

Przykład

Operatorprzełącznik

Składnia

zmienna przełącznika

wartość przypadku1

wartość przypadku2

……………………

wartość przypadku n

Każda gałąź definiowana jest instrukcją case, przejście do niej następuje w momencie, gdy zmienna instrukcji switch przyjmuje wartość określoną po case lub jedną z wartości z listy case. Po wykonaniu którejkolwiek z gałęzi następuje wyjście z przełącznika, natomiast wartości podane w pozostałych przypadkach nie są już sprawdzane. Jeżeli nie zostaną znalezione odpowiednie wartości dla zmiennej, to wykonywana jest gałąź programu odpowiadająca inaczej.

Przykład

Przerywa cykl. Wyjątkowe sytuacje.

Operatorprzerwa

Składnia

Operator break jest używany przy organizowaniu obliczeń cyklicznych: for… end, while… end. Kiedy warunek jest spełniony

jeśli warunek

instrukcja break kończy pętlę (for lub while) i wykonywane są instrukcje znajdujące się w wierszach następujących po end. W przypadku pętli zagnieżdżonych przerwanie powoduje wyjście z pętli wewnętrznej.

Obsługa wyjątków, operatorpróbowaćłapać

Składnia

operatorzy, których wykonanie

może spowodować błąd

oświadczenia do wykonania

gdy w bloku wystąpi błąd

między próbą a łapaniem

Opis

Konstrukcja try ... catch pozwala ominąć wyjątkowe sytuacje (błędy, które prowadzą do zakończenia programu, na przykład dostęp do nieistniejącego pliku) i podjąć pewne działania, jeśli wystąpią.

Przykład

PracaFunkcje

disp-implementuje wyjście tekstu lub wartości zmiennej do okna poleceń

Wejście- prosi o wprowadzenie danych z klawiatury. Używane podczas tworzenia aplikacji z interfejsem wiersza poleceń.

oceniać - wykonuje zawartość ciągu lub zmiennej ciągu, jak polecenia MATLAB

jasne- usuwa zmienne środowiska pracy.

zlc- czyści okno poleceń

Więcej informacji o tych i innych funkcjach można znaleźć, uruchamiając w wierszu poleceń

Wsparcienazwa_funkcji

Zadaniado prac laboratoryjnych

Numer konkretnego wariantu zadania ustala prowadzący.

Ćwiczenie1

Zadanie to polega na znalezieniu dla pewnego zbioru danych wielomianu interpolacji algebraicznej stopnia n: Pn(x) .

Cel pracy:

Niezbędne jest skompilowanie programu do obliczania współczynników wielomianu interpolacji algebraicznej Pn(x)= a0 + a1 x+ + anxn.

Instrukcje metodyczne:

NSi

taki

Szanse a0 , a1 , …, an są wyznaczane z rozwiązania układu równań:

Tutaj n- rząd wielomianu interpolacyjnego,

n+1 - ilość wyspecyfikowanych par punktów ( x, tak),

a0 , a1 ,… an- wymagane współczynniki wielomianu Pn(x)= a0 + a1 x+ + anxn).

Wymagania dotyczące programu

Ustaw granice linii , na którym budowany jest wielomian interpolacyjny P (x)

· Zapytać się n- liczba segmentów interpolacji (lub, co jest takie samo, stopień wielomianu)

Notatka: x0, xn, n wprowadzone z klawiatury.

Aby uzyskać wstępne dane (x, tak) (liczba par punktów (xi, taki) , za pomocą którego konstruowany jest wielomian interpolacyjny P (x) - n1 = n + 1) dostarczać:

b Wejście losowo zlokalizowanych węzłów xi, ja = 0, n z klawiatury

b Obliczanie węzłów xi, ja = 0, n, odpowiadające równomiernemu rozkładowi argumentu x na segmencie

b W nr. 1.2 wartości taki, ja = 0, n albo wprowadzane z klawiatury (jeśli oryginalna funkcja jest nieznana), albo obliczane przez daną funkcję f (x)... Wyrażenie definiujące funkcję jest wprowadzane z klawiatury i musi być zgodne z zasadami pisania wyrażeń w MATLAB

b Wprowadzanie danych ( xi, taki, ja = 0, n) z pliku

Rozwiąż układ równań, aby określić współczynniki wielomianu P (x)

Zbuduj wykresy oryginalnej funkcji zdefiniowanej w tabeli i wielomianu P (x)

· Jeżeli dane początkowe są określone jako funkcja f(x), zbuduj wykres błędu interpolacji /f(x)-P(x)/. Oblicz maksymalną wartość modułu błędu interpolacji w danym przedziale.

Ćwiczenie2

Interpolacja splajnu

Cel pracy:

Konieczne jest napisanie programu do obliczania współczynników i konstruowania funkcji sklejanej S(x), „sklejonej” z kawałków wielomianów III rzędu S i(x), które mają specjalną notację:

Funkcje i(x) zdefiniowany na segmencie

Wymagania dotyczące programu

Wykonując tę ​​pracę, musisz:

Ustaw granice odcinka, na którym skonstruowana jest funkcja splajnu S (x)

· Określ n - liczbę segmentów interpolacyjnych, na każdym z których budowany jest wielomian sześcienny Si(x).

· Uwaga: x0, xn, n są wprowadzane z klawiatury.

Uporządkuj wejście danych początkowych (x, y) (liczba par punktów (xi, yi), które są używane do skonstruowania funkcji sklejanej S (x), n1 = n + 1), zapewniając:

b Wprowadzanie losowo zlokalizowanych węzłów xi, i = 0, n z klawiatury

b Obliczanie węzłów xi, i = 0, n, odpowiadających jednolitemu położeniu argumentu x na segmencie

b W nr. 1,2 wartości yi, i = 0, n albo są wprowadzane z klawiatury (jeśli pierwotna funkcja jest nieznana), albo są obliczane przez podaną funkcję f (x). Wyrażenie definiujące funkcję jest wprowadzane z klawiatury i musi być zgodne z zasadami pisania wyrażeń w MATLAB

b Wprowadzenie danych (xi, yi, i = 0, n) z pliku

b S1 "" (x0) = 0, S3 "" (x3) = 0

b S1 „(x0) = f” (x0), S3 „(x3) = f” (x3)

b S1 "" (x0) = f "(x0), S3" "(x0) = f" (x3)

Do wyznaczenia współczynników naturalnej krzywej sześciennej (warunki brzegowe 1) konieczne jest rozwiązanie następującego układu równań:

Współczynniki?0 = 0,?N = 0

· Tworzenie wykresów oryginalnej funkcji i funkcji sklejanych dla wszystkich trzech typów warunków brzegowych.

· Tworzenie wykresów funkcji błędu interpolacji splajnu f (x) - S (x) dla wszystkich trzech typów warunków brzegowych.

Notatka:

W pakiecie MATLAB indeksy tablic jednowymiarowych i dwuwymiarowych zaczynają się od 1, a nie od 0. Weź to pod uwagę podczas pisania programu.

Ćwiczenie№3

Aproksymacja funkcji metodą najmniejszych kwadratów (OLS).

Zadanie to polega na znalezieniu dla pewnego zbioru danych funkcji aproksymującej (wielomian stopnia m), skonstruowanej metodą najmniejszych kwadratów (LSM).

Cel pracy:

Chcesz napisać program do znajdowania współczynników wielomianu? (x)= a0 + a1 * x+… an * xm metoda najmniejszych kwadratów.

Załóżmy na przykład, że masz następujący zestaw danych:

NSi

taki

Wyszukiwanie wymaganych współczynników odbywa się w następujący sposób:

gdzie n - ilość punktów ( x, tak),

m - stopień wymaganego wielomianu,

a 0 , a 1 , …, a m - wymagane współczynniki ( ? ( x )= a 0 + a 1 x + … + a m x m ).

Wymagania dotyczące programu

Wykonując tę ​​pracę, musisz:

· Ustaw granice odcinka, na którym budowana jest funkcja aproksymująca?(X) = a0 + a1 * x +… an * xm

Ustaw m - stopień wielomianu

· Uwaga: x1, xn, m wprowadza się z klawiatury.

· Aby uzyskać dane początkowe (x, y), według których skonstruowana jest funkcja aproksymująca?(X) = a0 + a1 * x +… an * xm, podaj:

b Wprowadzanie losowo zlokalizowanych węzłów xi, i = 1, n z klawiatury

b Obliczanie węzłów xi, i = 1, n, odpowiadających jednolitemu położeniu argumentu x na segmencie

b W nr. 1,2 wartości yi, i = 1, n albo są wprowadzane z klawiatury (jeśli pierwotna funkcja jest nieznana), albo są obliczane przez podaną funkcję f (x). Wyrażenie definiujące funkcję jest wprowadzane z klawiatury i musi być zgodne z zasadami pisania wyrażeń w MATLAB

b Wprowadzenie danych (xi, yi, i = 1, n) z pliku

Rozwiąż układ równań, aby określić współczynniki wielomianu?(X)

Zbuduj wykresy oryginalnej funkcji zdefiniowanej w tabeli i wielomianu?(X)

· Jeśli dane początkowe są określone jako funkcja f(x), zbuduj wykres błędu interpolacji /f(x)-?(X)/. Oblicz maksymalną wartość modułu błędu interpolacji w danym przedziale.

Podczas wykonywania ostatniego punktu na segmencie weź co najmniej 500 punktów do obliczeń

Wymagania dotyczące projektowania prac laboratoryjnych

Raport powinien zawierać:

1. Stwierdzenie problemu

2. Tekst programu

3. Wyniki badań

Uwaga Teksty programów powinny być opatrzone komentarzami.

Bibliografia

1. Anufriev I.E. Zeszyt do samodzielnej nauki Matlab 5.3 / 6.x - SPb .: BHV-Petersburg, 2003 .-- 736 s.: il.

2. W.P. Dyakonov MATLAB 6.5 SPI / 7 + Simulink 5/6 w matematyce i modelowaniu. Profesjonalna seria biblioteczna. - M .: SOLON-Press, 2005 .-- 576 s .: il.

3. Anufriev IE, Smirnov AB, Smirnova E.N. MathLab 7. - SPb .: BHV-Petersburg, 2005 .-- 1104 s.: il.

Pętle i warunki Matlaba: teoria i przykłady

Dobry dzień. Dziś porozmawiamy o pętlach i warunkach w Matlabie. Materiał, który jest traktowany jako podstawa, to Wsparcie w Matlabie i kilku proste przykłady, które wspólnie z Tobą przeanalizujemy.

Warunki w MATLAB

Żaden język programowania nie jest kompletny bez konstrukcji takich jak warunki, a oto o czym będziemy mówić:
Zacznijmy od składni warunku Jeśli i spójrz na formalną wersję wpisu w pomocy:

Jeśli wyrażenie, stwierdzenia, koniec

Co znaczy:

Jeśli warunek, działanie, koniec

Teraz przykłady:

X = 1; y = 61; if ((x> = 0,90) && (y> = 60)) disp ("ok"); kończyć się;

&& jest logicznym operatorem mnożenia (logiczne „AND”).
A oto przykład z w przeciwnym razie:

X = 1; y = 50; if ((x> = 0,90) && (y> = 60)) disp ("ok"); w przeciwnym razie disp ("nie w porządku") koniec;

W przeciwieństwie do przykładu 1, to wypisze "nie w porządku".
Kilka słów teraz o przełącznik... Formalnie w pomocy:

Składnia switch switch_expr case case_expr instrukcja, ..., instrukcja case (case_expr1, case_expr2, case_expr3, ...) instrukcja, ..., instrukcja w przeciwnym razie instrukcja, ..., koniec instrukcji

Bardziej przyziemnie:

Przełącznik składni switch_expr case Wartość - 1 Akcja przypadek (Wartość - 2, Wartość - 3, Wartość - 4, ...) Akcja W pozostałych przypadkach Akcja koniec

Oznacza to, że jeśli dana zmienna jest równa wartości w wielkość liter Wartość - 1, to akcja jest wykonywana o wielkość liter Wartość - 1 itp. Jeśli żaden z Obudowa nie pasuje akcja jest wykonywana, gdy Inaczej.
Oto przykład:

Metoda = "Dwuliniowy"; przełącznik dolny (metoda) case („liniowa”, „dwuliniowa”) disp („metoda jest liniowa”) case „sześcienna” disp („metoda sześcienna”) case „najbliższa” disp („metoda jest najbliższa”) w przeciwnym razie disp ( „Nieznana metoda”.) Koniec

Pętle w MATLAB

Przejdźmy teraz do pętli, zacznijmy od dla.
W pomocy jest to napisane w formie

Składnia indeksu = wartości instrukcji programu: koniec

W przyziemnej formie oznacza to:

Składnia zmiennej = wartość akcja koniec

Nie będziemy się rozwodzić nad oficjalnym sformułowaniem, lepiej zrozumieć i ukochane przykłady.

Dla m = 1:10 m koniec

Tak wygląda najczęstsze zastosowanie. dla... W tej pętli po prostu wypisujemy wartość m.
Drugi sposób za pomocą kroku ( krok)

Dla s = 1,0: -0,1: 0,0 disp (s) koniec

W tym przypadku cykl dla przechodzi od 1 do 0 z krokiem -0,1.
Inna opcja:

Dla s = disp (s) end

W tym przypadku zmienna s będzie kolejno równy 1, 5, 8, 17 i odpowiednio wyświetlony.
A także z dla bardzo wygodne jest wyświetlanie wektorów. Tutaj:

Dla e = oko (5) disp („Aktualna wartość e:”) disp (e) end

W tym przykładzie mamy do czynienia z sekwencyjnym wywołaniem elementów wektora mi.

Cykl podczas:
Formalnie w pomocy:

Składnia podczas gdy wyrażenia programu wyrażeń: end

Na ziemi:

Składnia po zakończeniu działania warunku

I przejdźmy od razu do przykładu (jak to jest używane w prawdziwym życiu).

EPS = 10; podczas gdy eps> 1 eps = eps - 1 koniec

W stanie ( eps> 1) jest wykonywany, pętla wykonuje akcję

(eps = eps-1).
Również w stanie podczas możesz używać operatorów logicznych AND - && i LUB - || pisząc wiele wyrażeń logicznych do warunku.

Jeśli masz pytania dotyczące artykułu, napisz w komentarzach.

codetown.ru

For, while pętle w Matlab

Instrukcja for służy do wykonywania określonej liczby powtarzalnych czynności. Najprostsze użycie instrukcji for jest następujące:

for count = start: step: finalPolecenia MatLabakończyć się

Tutaj count to zmienna pętli, start to jej wartość początkowa, final to wartość końcowa, a step to krok, o który zwiększa się licznik za każdym razem, gdy wchodzi się do pętli. Pętla kończy się, gdy tylko liczba staje się większa niż ostateczna. Zmienna pętli może przyjmować nie tylko liczby całkowite, ale także wartości rzeczywiste dowolnego znaku

Pętla for jest przydatna do wykonywania powtarzających się, podobnych akcji, gdy liczba jest z góry określona. Bardziej elastyczna pętla while pozwala ominąć to ograniczenie.

podczas gdy warunek pętliPolecenia MatLabakończyć się

62. Jaki zespół tworzy M-book w Edytor tekstu Słowo związany z Matlab?

Początek nowego M-booka Aby rozpocząć pisanie nowego M-booka, musisz: 1) uruchomić edytor Word; 2) wybierz w oknie dialogowym Słowo opcja Nowy z menu Plik; 3) w oknie, które pojawi się na ekranie, wybierz szablon M-book. W wyniku tych działań system zostanie uruchomiony MatLAB, a wygląd menu głównego edytora Worda nieznacznie się zmieni - pojawi się w nim nowe menu Zeszyt... To będzie świadczyć, że… Słowo system podłączony MatLAB... Jeśli teraz używasz myszy, aby aktywować menu Zeszyt okno Słowo, na ekranie pojawia się dodatkowe menu

63. Jakie polecenie w edytorze tekstu Word konwertuje tekst na komórkę wejściową MatLaba?

Wybierz drużynę Zdefiniuj komórkę wejściową(Zdefiniuj komórkę wejściową) w menu Zeszyt(patrz rys. 3.20) lub nacisnąć klawisze ; następnie wygląd linii poleceń powinien się zmienić - symbole poleceń staną się ciemnozielone, a polecenie zostanie obcięte nawiasami kwadratowymi w kolorze ciemnoszarym;

64. Jakie polecenie w edytorze tekstu Word przewiduje wykonanie polecenia MatLab w komórce?

wybierz polecenie Oceń komórkę za pomocą myszy lub naciśnij kombinację klawiszy; wynikiem tych działań powinno być pojawienie się bezpośrednio po komendzie tekstu wyników jej wykonania przez system MatLAB. Wyniki polecenia są wyświetlane na niebiesko i są ujęte w nawiasy kwadratowe

65. Jakie polecenie w edytorze tekstu Word zapewnia wykonanie poleceń MatLaba w całym M-booku?

Wykonywanie poleceń dla wszystkich komórek lub grup komórek w celu wprowadzenia sekcji odbywa się za pomocą elementu Evaluate Calc Zone i całego M-booka na raz - Evaluate M-book

66. Jakie polecenie w edytorze tekstu Word zapewnia automatyczne wykonanie poleceń MatLaba we wszystkich komórkach po otwarciu M-booka?

Komendy komórkowe w stylu Autolnit są uruchamiane zaraz po otwarciu M-Booka. Przydatne jest umieszczenie polecenia czyszczenia w pierwszej takiej komórce, aby wyczyścić środowisko pracy. Aby ustawić styl Autolnit, użyj elementu Define Autoinit Cell w menu Notebook.

67. Jakie przyciski zawiera panel Excel Link w elektronicznym? Excel arkusz kalkulacyjny podczas komunikacji z MatLabem?

68. Co zapewnia polecenie putmatrix?

Funkcja MLPutMatrix służy do umieszczania danych z komórek roboczych Arkusz programu Excel do tablicy Matlab desktop. Argumentami tej funkcji są nazwa zmiennej ujęta w cudzysłów oraz zakres komórki Excela odnosząc się do tej zmiennej

68. Co zapewnia polecenie getmatrix?

Operację odwrotną wykonuje funkcja MLGetMatrix, natomiast argumentami tej funkcji są nazwa zmiennej środowiska pracy MatLab z 22 danymi, ujęta w cudzysłów oraz zakres komórek Excela, w których będą umieszczone dane tej zmiennej, również ujęte w cudzysłowie.

70. Do czego służy Simulink?

System Matlab zawiera pakiet do dynamicznego modelowania systemów - Simulink. Obecny pakiet jest rdzeniem interaktywnego pakietu oprogramowania przeznaczonego do matematycznego modelowania liniowych i nieliniowych układów dynamicznych, reprezentowanych przez jego funkcjonalny schemat blokowy, zwany modelem S lub po prostu modelem

71. Która biblioteka Simulink zawiera źródła sygnału?

Zbudujmy najprostszy modelźródło fali sinusoidalnej podawane na wejście wirtualnego oscyloskopu. Aby to zrobić, kliknij przycisk, aby otworzyć przeglądarkę biblioteki i w lewej części okna przeglądarki, które się pojawi, kliknij sekcję Źródła(Źródła), natomiast w prawej części okna wyświetlane są ikony bloków zawartych w tej sekcji

72. Która biblioteka Simulink zawiera VI rejestrujące?

oscyloskop Zakres z sekcji Zlewozmywaki.

73. Która biblioteka Simulink zawiera bloki różnicowania i integracji?

Ciągłe zawiera ciągłe bloki. Najważniejsze z nich to bloki Pochodna i Integrator. Pierwszy blok wykonuje numeryczne różnicowanie sygnału wejściowego; dla tego bloku nie są wprowadzane żadne parametry. Drugi blok w oknie parametrów zawiera kilka pól, w których można ustawić stałą całkowania na wyjściu bloku w polu Warunek początkowy

74. Która biblioteka Simulink zawiera bloki do obliczania funkcji atomowych?

Okno biblioteki Matematyka zawiera bloki do wykonywania operacji matematycznych

Bloki do obliczania funkcji elementarnych obejmują trzy bloki: blok funkcji matematycznych MatematykaFunkcjonować, blok funkcji trygonometrycznych TrygonometrycznyFunkcjonować i blok funkcyjny zaokrąglania Funkcja zaokrąglania.

75. Ile wartości parametrów kroku jest ustawionych w Simulinku, gdy krok symulacji jest zmienny?

Ważne są dwie opcje solvera w polu Solver options: typ rozwiązania i metoda rozwiązania. W przypadku pierwszej opcji istnieją dwie opcje:

Solwery ze zmiennym krokiem - rozwiązanie ze zmiennym krokiem;

Solvery ze stałym krokiem to rozwiązanie ze stałym krokiem. Domyślną opcją jest opcja rozwiązania ze zmiennym krokiem, w której krok jest automatycznie zmniejszany wraz ze wzrostem tempa zmian wyników i na odwrót. Zazwyczaj ta metoda daje lepsze wyniki niż symulacje z ustalonym krokiem, eliminując w większości przypadków rozbieżności między wynikami. Zastosowanie modelowania ze stałym krokiem jest zwykle stosowane, jeśli wynika to ze specyfiki rozwiązywanego problemu.

studfiles.net

Pętle jak dla... koniec MatLab

Lekcja 20. Podstawy programowania Podstawowe pojęcia programowania
Podstawowe narzędzia programistyczne
Podstawowe typy danych
Rodzaje programowania
Dualizm operatorów, poleceń i funkcji
Niektóre ograniczenia
M-pliki skryptów i funkcji
Struktura i właściwości pliku skryptu
Status zmiennych w funkcjach
Struktura pliku funkcji M
Status zmiennej i komenda globalna
Korzystanie z funkcji podrzędnych
Katalogi prywatne
Błąd przetwarzania

Wyświetlanie komunikatów o błędach
Funkcja Lasterra i obsługa błędów
Funkcje ze zmienną liczbą argumentów
Funkcje zliczania argumentów
Zmienne Varargin i varargout
Komentarze (1)
Funkcje wykonywania funkcji m-plików
Tworzenie kodów R
Struktury kontrolne
Wejście do dialogu
Operator warunkowy
Pętle jak na... koniec
Pętle jak podczas ... koniec
Projekt przełącznika
Spróbuj... złap... koniec
Wstrzymaj obliczenia
Zrozumienie programowania obiektowego
Tworzenie klasy lub obiektu
Sprawdzenie przynależności obiektu do danej klasy
Inne funkcje programowania obiektowego
Czego nowego się nauczyliśmy?

Pętle typu for ... end są zwykle używane do organizowania obliczeń z określoną liczbą powtarzających się pętli. Konstrukcja takiego cyklu wygląda następująco:

dla vag = Wyrażenie. Instrukcja. .... oświadczenie końcowe

Wyrażenie najczęściej zapisywane jest w postaci s: d: e, gdzie s jest wartością początkową zmiennej pętli var, d jest przyrostem tej zmiennej, a e jest wartością końcową zmiennej sterującej, po osiągnięciu której pętla się kończy. Możliwe jest również zapisanie w postaci s: e (w tym przypadku d = l). Lista instrukcji wykonywanych w pętli kończy się instrukcją end.

Poniższe przykłady ilustrują użycie pętli do uzyskania kwadratów wartości zmiennej pętli:

"Dla 1 = 1: 5 i^2. kończyć się;

"Dla x = 0: 0,25: 1 X ^ 2, koniec:

Instrukcja continue przekazuje sterowanie do następnej iteracji pętli, pomijając instrukcje napisane po niej, a w pętli zagnieżdżonej przekazuje sterowanie do następnej iteracji pętli głównej. Instrukcja break może służyć do przedwczesnego przerwania wykonywania pętli. Gdy tylko zostanie napotkany w programie, pętla zostaje przerwana. Możliwe są zagnieżdżone pętle, na przykład:

W wyniku wykonania tego cyklu (plik for2.m) powstaje macierz A:

Należy zauważyć, że tworzenie macierzy za pomocą operatora: (dwukropek) zwykle zajmuje znacznie mniej czasu niż użycie pętli. Jednak użycie cyklu jest często bardziej wizualne i zrozumiałe. MATLAB pozwala na użycie tablicy o rozmiarze A jako zmiennej pętli pp. W tym przypadku pętla jest wykonywana tyle razy, ile jest kolumn w tablicy A, a na każdym kroku zmienna var jest wektorem odpowiadającym bieżącej kolumnie tablicy A:

»A =

„Dla zm = A; var, koniec

radiomaster.ru

Ilustrowany samouczek MatLab ›Podstawy programowania› Pętle jak dla… koniec. Pętle jak podczas… koniec. [strona - 364] | Przewodniki do samodzielnej nauki na pakietach matematycznych

Pętle jak na... koniec. Pętle jak podczas… koniec.

Rodzaj pętli na… koniec zwykle używany do organizowania obliczeń z określoną liczbą powtarzalnych cykli. Konstrukcja takiego cyklu wygląda następująco:

dla zm = wyrażenie. Instrukcje ..... Koniec instrukcji

Wyrażenie najczęściej zapisuje się jako s:d:e, gdzie s jest wartością początkową zmiennej pętli var, d to przyrost tej zmiennej, a e to końcowa wartość zmiennej sterującej, po osiągnięciu której cykl się kończy. Możliwe jest również zapisanie w postaci s: e (w tym przypadku d = 1). Lista instrukcji wykonywanych w pętli kończy się instrukcją end.

Poniższe przykłady ilustrują użycie pętli do uzyskania kwadratów wartości zmiennej pętli:

>> dla 1 = 1: 5 i ^ 2, koniec;

>> dla x = 0 :. 25:1 X^2, koniec:

Operator kontyntynuj przekazuje sterowanie do następnej iteracji pętli, pomijając instrukcje, które są pisane po niej, a w zagnieżdżonej pętli przekazuje sterowanie do następnej iteracji pętli głównej. Operator przerwa może służyć do przedwczesnego przerwania wykonywania cyklu. Gdy tylko zostanie napotkany w programie, pętla zostaje przerwana. Możliwe są zagnieżdżone pętle, na przykład:

A (1.j) = i + j;

W wyniku tego cyklu (plik for2.m) powstaje macierz A:

Należy zauważyć, że tworzenie macierzy za pomocą operatora: (dwukropek) zwykle zajmuje znacznie mniej czasu niż użycie pętli. Jednak użycie cyklu jest często bardziej wizualne i zrozumiałe. MATLAB pozwala na użycie tablicy o rozmiarze A jako zmiennej pętli thp... W tym przypadku pętla jest wykonywana tyle razy, ile jest kolumn w tablicy A, a na każdym kroku zmienna var jest wektorem odpowiadającym bieżącej kolumnie tablicy A:

>> A = [1 2 3: 4 5 6]

>> dla zm = A; var, koniec

Pętle jak podczas ... koniec

Typ pętli podczas jest wykonywany, o ile Warunek jest spełniony:

podczas gdy oświadczenie o stanie się kończy

Przykład użycia pętli podczas została już podana. Wczesne zakończenie pętli realizowane jest za pomocą operatorów przerwa lub kontyntynuj.