Cycle üzemeltető míg - matlab útmutató kezdőknek - matlab rövidítése angolul

5.2. ciklus while


MatLab programozási nyelv két hurok nyilatkozata: while és a for. Segítségükkel például programozható rekurzió algoritmusok. összegének kiszámításakor számos, válogatás tömb elemeit, és így tovább.

A legegyszerűbb esetben, egy sor programot szervezett egy darabig nyilatkozatot, amely a következő szintaxist:

Van egy feltételes kifejezést használthoz hasonló az if és while ciklus fut, amíg a feltétel igaz.

Meg kell jegyezni, hogy ha a feltétel hamis, mielőtt a hurok, a nyilatkozatokat tartalmazza a ciklusban nem teljesülnek, még egyszer.

Itt egy példa a munka a while ciklus kiszámításához az összeg a sorozat:

S = 0; % Kezdeti érték összegének
i = 1; % Összeg counter
míg én 20%, ha S> 20
break; % Ezután a ciklus befejeződik
vég
véget% ciklus végén
disp (S); 21% -os érték jelenik meg a képernyőn

Ebben a példában, a második hurokban terminációs állapot, amikor az S nagyobb, mint 20, rögzítik a ciklus, és az üzemeltető kilép a szünet ciklus disp () függvény, állva után azonnal ciklust.

A második ciklus végrehajtása továbbra vezérlő utasítás lehetővé teszi, hogy kihagyja a program részletben jön utána. Például kell számítani az összeg a tömb elemeinek

a = [1 2 3 4 5 6 7 8 9];

kiküszöbölve az elem indexű 5. Egy ilyen program felírható a következőképpen:

S = 0; % Kezdeti érték összegének
a = [1 2 3 4 5 6 7 8 9]; % tömb
i = 0; % Counter tömbindexek
míg a i =.

vég

Tekintsük a működése ebben a ciklusban megvalósításban a keresési algoritmus a legnagyobb érték az elem vektor:

a = [3 6 5 3 6 9 5 3 1 0];
m = a (1); % Jelenlegi maximális értéke
i = 1: hossza (a)% 1. ciklus végére a vektor
1% -os lépésekben (alapértelmezett)
ha m m,
m = a (i); % Akkor m = a (i)
vég
end% végén a hurok
disp (m);

Ebben a példában, a ciklus határozza i számlálót és megváltoztatja annak értéke 1-től 10 1-es lépésekben Megjegyezzük, hogy ha a lépés méretét nincs kifejezetten megadva. ez lesz az alapértelmezett 1.

A következő példában, úgy véljük, a végrehajtás az algoritmus a vektor elemeinek jobbra eltolt, azaz az utolsó előtti elem helyére kerül az utóbbi, a következő - az utolsó előtti helyen, stb mielőtt az első elem:

a = [3 6 5 3 6 9 5 3 1 0];
disp (a);
i = hossza (a): - 1: 2 10% ciklus 2. lépésben -1
egy (i) = a (i-1); % Előfeszítő elemet vektor egy
end% végén a hurok
disp (a);

A program eredményeként

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

Ez a példa azt mutatja, hogy a végrehajtás a ciklus egy számláló értéket, egy nagyobb és egy kisebb kell meghatároznia, hogy lépést, ebben az esetben -1. Ha nem, akkor a ciklus azonnal fejezze be munkáját, és a program nem fog megfelelően működni.

6. határozatai az egyenlet

6.1. Grafikus módszer egyenletek megoldására


A kijelző több grafikonok egy egyszerű módja, hogy megtalálják közelítő megoldásokat.

Ez a diagram azt mutatja, grafikonok a funkciók y = sin (t) / t és (X / 5) 2 + y 2 = 1. Nem nehéz észrevenni ezeket a funkciókat három metszéspontot.

6.2. Keresse meg a egyenlet megoldása


Grafikus módszer csak becsülni a megoldás. Pontosabban megoldást találni egy csomagot kell használni matlab fsolve (egyenlet kezdeti érték). Később majd megtanulják, hogyan kell használni ezt a funkciót, hogy oldja meg a rendszer egyenletek. A legegyszerűbb esetben, meg lehet oldani az egyenleteket jelzik megadható aposztrófok. például: 'X * x-abs (x)'. De ez a funkció három megoldásokat ábrán bemutatott.

A döntés, amely ebben az esetben fsolve funkció határozza meg a kezdeti érték ahonnan indul iteratív eljárást a megoldások keresésében. Például:

fsolve ( 'x * x-abs (x)', - 2), ans = -1,0000;

fsolve ( 'x * x-abs (x)', 0,6), ans = 1,0000;

fsolve ( 'x * x-abs (x)', 0,4), ans = 7.9062e-008.

fsolve funkció továbbra iteratív eljárást, amíg meg nem találja a megoldást, hogy egy adott pontossággal. Ezért a mi példánkban megkaptuk 7.9062e-008 helyett 0.

Abban az esetben bonyolultabb funkciókat sokkal kényelmesebb a közölt mint M fájl. Aztán, ahogy az első paraméter a függvény fsolve esetben aposztrófok a fájl nevét.

7. M-Files

Cycle üzemeltető míg - matlab útmutató kezdőknek - matlab rövidítése angolul

M-fájlok MatLab kétfélék: file programot (Script M-Files), amely a parancsokat, és a fájl funkciók (Function M-Files), amely leírja a felhasználó által definiált függvények.

7.2. fájl programot

Cycle üzemeltető míg - matlab útmutató kezdőknek - matlab rövidítése angolul

Cycle üzemeltető míg - matlab útmutató kezdőknek - matlab rövidítése angolul

7.3. Fájl-funkció


M-M-funkciók fájlokat, amelyek lehetővé teszik a jelenlétét a bemeneti és kimeneti érveket. Munkájukat a változókat a saját munkaterületen kívüli munkaterület MATLAB.

Átlagosan funkció - ez egy elég egyszerű M-fájl, amely kiszámítja az átlagos értéke az elemek egy vektor:
függvény y = átlagos (x)
% -os átlagos középértéke a vektor elemek.
% -os átlagos (X), ahol az X - vektor. Kiszámítja az átlagértéket a vektor elemek.
% Ha a bemeneti argumentum egy vektor, egy hiba keletkezik.
[M, n] = méret (x);
if (

((M == 1) | (n == 1)) | (M == 1 n == 1))
error ( 'Input tömbnek kell lennie vektor)
vég
y = összege (x) / hossza (x); Saját számítások%

Próbáljon megadni ezeket a parancsokat egy M-file nevű average.m. Átlagosan a funkció lehetővé teszi, hogy egyetlen bemeneti és egy kimeneti érveket. Annak érdekében, hogy okozhat átlagos funkciója, szükséges, hogy adja meg az alábbi állítások:

példa
Meghatározása az átlagos húr függvény formájában:
függvény y = átlagos (x)
itt:

  1. funkció - egy kulcsszót, amely meghatározza az M-funkció;

  2. y - output paraméter;

  3. átlag - a függvény neve;

  4. x - argumentum.

Minden funkció a rendszer tartalmazza az MATLAB húr meghatározó funkció a fentiekhez hasonló.

Ha a funkció több mint egy kimeneti argumentum, a lista kiadási érvek kerül szögletes zárójelben. Input érvek, ha van ilyen, a zárójelbe. Elválasztani az érveket a bemeneti és kimeneti listákat használnak vesszőt.

funkció [x, y, z] = gömb (théta, phi, rho)

A nevét a bemeneti változók lehetnek, de nem feltétlenül kell megegyeznie a megadott név a függvény definíciójában vonalon.

% -os átlagos átlagos értéke vektorelemek

Nevek M funkciók. A MATLAB rendszer a nevét M funkciók ugyanolyan korlátozás a változók neveit - hosszuk nem haladhatja meg a 31 karaktert. Pontosabban, a neve hosszabb lehet, de MATLAB rendszer figyelembe veszi csak az első 31 karakter. Nevek M funkciókat kell kezdődnie írni; A többi karakter lehet bármilyen kombinációja betűk, számok és aláhúzás.

fájlnév tartalmazó M-funkció áll a függvény neve és a kiterjesztés „.m”.

average.m
Ha a fájl neve és a funkciók meghatározása a függvény neve különbözik, a fájlnevet használ, és a belső név lehet figyelmen kívül hagyni. Bár a függvény nevét megadott függvény definíciójában sor nem egyezik meg a fájl nevét, akkor javasoljuk, hogy ugyanazt a nevet használja.